class Event < ApplicationRecord include Notifiable, Particulars, Promptable belongs_to :collection belongs_to :creator, class_name: "User" belongs_to :eventable, polymorphic: true has_many :webhook_deliveries, class_name: "Webhook::Delivery", dependent: :delete_all scope :chronologically, -> { order created_at: :asc, id: :desc } after_create -> { eventable.event_was_created(self) } after_create_commit :dispatch_webhooks delegate :card, to: :eventable def action super.inquiry end def notifiable_target eventable end private def dispatch_webhooks Event::WebhookDispatchJob.perform_later(self) end end