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	
		ratings << SelfRateable::Rating.new(rating: value.to_i, rater_id: rater.try(:id))
	end
	self.save!
end

#voted_by_rater?(rater) ⇒ Boolean

Returns:

  • (Boolean)


57
58
59
# File 'lib/self_rateable/core/instance_methods.rb', line 57

def voted_by_rater?(rater)
  ratings.where(:rater_id => rater.id).count > 0
end

#votesObject



53
54
55
# File 'lib/self_rateable/core/instance_methods.rb', line 53

def votes
  ratings.sum(:rating).to_f
end