2015-07-20 16:01:08 +00:00
|
|
|
module JamRuby
|
|
|
|
|
class Review < ActiveRecord::Base
|
|
|
|
|
attr_accessible :target, :rating, :description, :user
|
|
|
|
|
belongs_to :target, polymorphic: true
|
|
|
|
|
belongs_to :user, foreign_key: 'user_id', class_name: "JamRuby::User"
|
|
|
|
|
belongs_to :deleted_by_user, foreign_key: 'deleted_by_user_id', class_name: "JamRuby::User"
|
|
|
|
|
|
|
|
|
|
validates :rating, presence:true, numericality: {only_integer: true, minimum:1, maximum:5}
|
2015-07-20 16:29:19 +00:00
|
|
|
|
2015-07-20 16:01:08 +00:00
|
|
|
validates :target, presence:true
|
|
|
|
|
validates :user, presence:true
|
2015-07-20 16:29:19 +00:00
|
|
|
validates :target_id, uniqueness: {scope: :user_id, message: "There is already a review for this User and Target."}
|
2015-07-20 16:01:08 +00:00
|
|
|
|
2015-07-20 16:29:19 +00:00
|
|
|
# # @options - can contain values:
|
|
|
|
|
# # * target_id (optional)
|
|
|
|
|
# def reduce(options)
|
|
|
|
|
# arel = Review.where("deleted_at=?", nil)
|
|
|
|
|
# end
|
2015-07-20 16:01:08 +00:00
|
|
|
end
|
|
|
|
|
end
|