Module: Mongoid::Rating::InstanceMethods
- Defined in:
- lib/mongoid-rating.rb
Instance Method Summary collapse
- #rate(params = {}) ⇒ Object
- #rate!(params = {}) ⇒ Object
- #rated?(params = {}) ⇒ Boolean
- #rates_average ⇒ Object
- #rates_count ⇒ Object
- #rates_sum ⇒ Object
Instance Method Details
#rate(params = {}) ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/mongoid-rating.rb', line 11 def rate(params = {}) by = params[:by] value = params[:value] if by.respond_to?(:id) rates[by.id.to_s] = value end self end |
#rate!(params = {}) ⇒ Object
20 21 22 |
# File 'lib/mongoid-rating.rb', line 20 def rate!(params = {}) rate(params).save end |
#rated?(params = {}) ⇒ Boolean
24 25 26 27 28 29 |
# File 'lib/mongoid-rating.rb', line 24 def rated?(params = {}) by = params[:by] if by.respond_to?(:id) rates[by.id.to_s] end end |
#rates_average ⇒ Object
39 40 41 42 |
# File 'lib/mongoid-rating.rb', line 39 def rates_average return 0 if rates_count == 0 rates_sum / rates_count.to_f end |
#rates_count ⇒ Object
35 36 37 |
# File 'lib/mongoid-rating.rb', line 35 def rates_count rates.size end |
#rates_sum ⇒ Object
31 32 33 |
# File 'lib/mongoid-rating.rb', line 31 def rates_sum rates.values.sum end |