Files
fizzy/app/models/card/pinnable.rb
T
David Heinemeier Hansson 1d00a53400 Provide etag for pins too
2025-11-03 16:53:49 +01:00

24 lines
376 B
Ruby

module Card::Pinnable
extend ActiveSupport::Concern
included do
has_many :pins, dependent: :destroy
end
def pinned_by?(user)
pins.exists?(user: user)
end
def pin_for(user)
pins.find_by(user: user)
end
def pin_by(user)
pins.find_or_create_by!(user: user)
end
def unpin_by(user)
pins.find_by(user: user).tap { it.destroy }
end
end