Files
fizzy/app/models/bubble/eventable.rb
T
Jose Farias c57f18c20c Materialize abstract thread
The domain language is clearer if we just persist a thread. Also rename some models so their purpose is clear.
2024-10-24 17:36:14 -06:00

15 lines
365 B
Ruby

module Bubble::Eventable
extend ActiveSupport::Concern
included do
has_many :events, dependent: :destroy
after_create -> { track_event :created }
end
private
def track_event(action, creator: Current.user, **particulars)
events.create! action: action, creator: creator, rollup: thread.latest_rollup, particulars: particulars
end
end