class Review

Schema Information

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)

Attributes

fields[RW]

attribute accessor

Public Class Methods

calc_average(params) click to toggle source

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

Public Instance Methods

calc_streak() click to toggle source

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
calculate_average() click to toggle source

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
for_tutor?() click to toggle source

Return True if review for user is tutor

# File app/models/review.rb, line 72
def for_tutor?
  self.for_user.type == "Tutor"
end