module Mongoid::Rating::InstanceMethods

Public Instance Methods

rate(params = {}) click to toggle source
# 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 = {}) click to toggle source
# File lib/mongoid-rating.rb, line 20
def rate!(params = {})
  rate(params).save
end
rated?(params = {}) click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# File lib/mongoid-rating.rb, line 35
def rates_count
  rates.size
end
rates_sum() click to toggle source
# File lib/mongoid-rating.rb, line 31
def rates_sum
  rates.values.sum
end