Files
fizzy/app/models/bubble/engageable.rb
T
Jorge Manrubia 91ddb1d093 Oversight
2025-04-03 14:21:21 +02:00

29 lines
466 B
Ruby

module Bubble::Engageable
extend ActiveSupport::Concern
included do
has_one :engagement, dependent: :destroy, class_name: "Bubble::Engagement"
scope :doing, -> { joins(:engagement) }
scope :considering, -> { where.missing(:engagement) }
end
def doing?
engagement.present?
end
def considering?
!doing?
end
def engage
unless doing?
create_engagement!
end
end
def reconsider
engagement&.destroy
end
end