Files
fizzy/app/models/bubble/poppable.rb
T
2024-10-16 16:41:11 -06:00

23 lines
363 B
Ruby

module Bubble::Poppable
extend ActiveSupport::Concern
included do
has_one :pop, dependent: :destroy
scope :popped, -> { joins(:pop) }
scope :not_popped, -> { 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