Module: ActsAsMongoRateable

Defined in:
lib/acts_as_mongo_rateable/acts_as_mongo_rateable.rb

Defined Under Namespace

Modules: ClassMethods, InstanceMethods

Class Method Summary collapse

Class Method Details

.included(receiver) ⇒ Object



87
88
89
90
91
92
93
94
95
96
97
98
99
# File 'lib/acts_as_mongo_rateable/acts_as_mongo_rateable.rb', line 87

def self.included(receiver)
  receiver.class_eval do
    many :ratings, :foreign_key => 'rateable_id', :dependent => :destroy
    key :rating_stats, Hash, :default => {
      :total   => 0,
      :count   => 0,
      :sum_of_weights => 0,
      :average => nil
    }
  end
  receiver.extend         ClassMethods
  receiver.send :include, InstanceMethods
end