Module: Mongoid::Rating::InstanceMethods

Defined in:
lib/mongoid-rating.rb

Instance Method Summary collapse

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

Returns:

  • (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_averageObject



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_countObject



35
36
37
# File 'lib/mongoid-rating.rb', line 35

def rates_count
  rates.size
end

#rates_sumObject



31
32
33
# File 'lib/mongoid-rating.rb', line 31

def rates_sum
  rates.values.sum
end