class Vote < ApplicationRecord
  belongs_to :votable, polymorphic: true

  enum :vote_type, { upvote: 0, downvote: 1 }

  validates :user_session, presence: true
  validates :votable_type, presence: true
  validates :votable_id, presence: true
  validates :vote_type, presence: true

  scope :for_object, ->(obj) { where(votable: obj) }
end