class PostVote < ActiveRecord::Base
  class Error < Exception ; end

  belongs_to :post
  before_validation :initialize_user, :on => :create
  validates_presence_of :post_id, :user_id, :score
  validates_inclusion_of :score, :in => [1, -1]

  def score=(x)
    if x == "up"
      write_attribute(:score, 1)
    elsif x == "down"
      write_attribute(:score, -1)
    end
  end

  def initialize_user
    self.user_id = CurrentUser.user.id
  end
end
