Files
fizzy/app/models/bubble/poppable.rb
T
2024-10-23 18:32:27 -06:00

23 lines
359 B
Ruby

module Bubble::Poppable
extend ActiveSupport::Concern
included do
has_one :pop, dependent: :destroy
scope :popped, -> { joins(:pop) }
scope :active, -> { where.missing(:pop) }
end
def popped?
pop.present?
end
def pop!(user: Current.user)
create_pop!(user: user) unless popped?
end
def unpop
pop&.destroy
end
end