Sha256: 6c21e07331f39fb4f9274dc6ab93274a1a1ab2c40cf37f980fc100653076f023

Contents?: true

Size: 660 Bytes

Versions: 1

Compression:

Stored size: 660 Bytes

Contents

require 'acts_as_votable/helpers/words'

module ActsAsVotable
  class Vote < ::ActiveRecord::Base

    include Helpers::Words

    attr_accessible :votable_id, :votable_type,
      :voter_id, :voter_type,
      :votable, :voter,
      :vote_flag, :vote_scope

    belongs_to :votable, :polymorphic => true
    belongs_to :voter, :polymorphic => true

    scope :up, where(:vote_flag => true)
    scope :down, where(:vote_flag => false)
    scope :for_type, lambda{ |klass| where(:votable_type => klass) }
    scope :by_type,  lambda{ |klass| where(:voter_type => klass) }

    validates_presence_of :votable_id
    validates_presence_of :voter_id

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
acts_as_votable-0.5.0 lib/acts_as_votable/vote.rb