Files
fizzy/app/models/event.rb
T
2025-04-09 14:50:58 +02:00

35 lines
869 B
Ruby

class Event < ApplicationRecord
include Particulars
belongs_to :creator, class_name: "User"
belongs_to :summary, touch: true, class_name: "EventSummary"
belongs_to :card
has_one :account, through: :creator
has_one :message, through: :summary
has_one :comment, through: :message, source: :messageable, source_type: "Comment"
scope :chronologically, -> { order created_at: :asc, id: :desc }
scope :non_boosts, -> { where.not action: :boosted }
scope :boosts, -> { where action: :boosted }
scope :comments, -> { where action: :commented }
after_create -> { card.touch_last_active_at }
def boosted?
action == "boosted"
end
def commented?
action == "commented"
end
def generate_notifications
Notifier.for(self)&.generate
end
def generate_notifications_later
GenerateNotificationsJob.perform_later self
end
end