2014-11-30 10:43:22 -08:00
|
|
|
class Smile < ActiveRecord::Base
|
|
|
|
belongs_to :user
|
|
|
|
belongs_to :answer
|
2014-12-28 13:15:25 -08:00
|
|
|
validates :user_id, presence: true, uniqueness: { scope: :answer_id, message: "already smiled answer" }
|
2014-11-30 10:43:22 -08:00
|
|
|
validates :answer_id, presence: true
|
2014-12-14 06:06:10 -08:00
|
|
|
|
2014-12-28 12:46:57 -08:00
|
|
|
after_create do
|
|
|
|
Notification.notify answer.user, self unless answer.user == user
|
|
|
|
user.increment! :smiled_count
|
|
|
|
answer.increment! :smile_count
|
|
|
|
end
|
|
|
|
|
|
|
|
before_destroy do
|
|
|
|
Notification.denotify answer.user, self unless answer.user == user
|
|
|
|
user.decrement! :smiled_count
|
|
|
|
answer.decrement! :smile_count
|
|
|
|
end
|
|
|
|
|
2014-12-14 06:06:10 -08:00
|
|
|
def notification_type(*_args)
|
|
|
|
Notifications::Smiled
|
|
|
|
end
|
2014-11-30 10:43:22 -08:00
|
|
|
end
|