retrospring/app/models/reaction.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

27 lines
666 B
Ruby
Raw Normal View History

# frozen_string_literal: true
class Reaction < ApplicationRecord
belongs_to :parent, polymorphic: true
belongs_to :user
2022-03-26 18:42:49 +01:00
# rubocop:disable Rails/SkipsModelValidations
after_create do
Notification.notify parent.user, self unless parent.user == user
user.increment! :smiled_count
parent.increment! :smile_count
end
before_destroy do
Notification.denotify parent&.user, self
user&.decrement! :smiled_count
parent&.decrement! :smile_count
end
2022-03-26 18:42:49 +01:00
# rubocop:enable Rails/SkipsModelValidations
def notification_type(*_args)
return Notification::CommentSmiled if parent.instance_of?(Comment)
Notification::Smiled
end
end