retrospring/app/models/user/reaction_methods.rb
2022-07-05 23:23:37 +02:00

24 lines
756 B
Ruby

# frozen_string_literal: true
module User::ReactionMethods
# smiles an answer or comment
# @param item [ApplicationRecord] the answer/comment to smile
def smile(item)
# rubocop:disable Style/RedundantSelf
raise Errors::ReactingSelfBlockedOther if self.blocking?(item.user)
raise Errors::ReactingOtherBlockedSelf if item.user.blocking?(self)
# rubocop:enable Style/RedundantSelf
::Appendable::Reaction.create!(user: self, parent: item, content: "🙂")
end
# unsmile an answer or comment
# @param item [ApplicationRecord] the answer/comment to unsmile
def unsmile(item)
::Appendable::Reaction.find_by(user: self, parent: item).destroy
end
def smiled?(item)
item.smiles.pluck(:user_id).include? id
end
end