Module: SelfRateable::Core::InstanceMethods::Points
- Defined in:
- lib/self_rateable/core/instance_methods.rb
Instance Method Summary collapse
Instance Method Details
#vote(rater, val) ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/self_rateable/core/instance_methods.rb', line 61 def vote(rater, val) value = parse_val(val) if voted_by_rater?(rater) # set new star rating if already rated return false else #create new record if not yet rated << SelfRateable::Rating.new(rating: value.to_i, rater_id: rater.try(:id)) end self.save! end |
#voted_by_rater?(rater) ⇒ Boolean
57 58 59 |
# File 'lib/self_rateable/core/instance_methods.rb', line 57 def voted_by_rater?(rater) .where(:rater_id => rater.id).count > 0 end |
#votes ⇒ Object
53 54 55 |
# File 'lib/self_rateable/core/instance_methods.rb', line 53 def votes .sum(:rating).to_f end |