c57f18c20c
The domain language is clearer if we just persist a thread. Also rename some models so their purpose is clear.
15 lines
365 B
Ruby
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
|