Table name: reviews
id :integer not null, primary key user_id :integer for_user_id :integer text :text created_at :datetime updated_at :datetime friendliness :integer helpfulness :integer knowledge :integer average_review :decimal(3, 2) timeliness :integer reviewable_id :integer university_id :integer reviewable_type :string(255)
attribute accessor
Calculate average review.
# File app/models/review.rb, line 77 def self.calc_average params (params[:helpfulness].to_i + params[:timeliness].to_i + params[:knowledge].to_i + params[:friendliness].to_i)/4.0 end
Calculate streak
# File app/models/review.rb, line 60 def calc_streak if average_review if self.average_review < 3 self.for_user.streak = 0 elsif self.average_review > 3 self.for_user.streak = self.for_user.streak + 1 end self.for_user.save end end
Calculates average review for user.
# File app/models/review.rb, line 55 def calculate_average self.average_review = (self.friendliness+self.helpfulness+self.knowledge+self.timeliness)/4.0 end
Return True if review for user is tutor
# File app/models/review.rb, line 72 def for_tutor? self.for_user.type == "Tutor" end