Files
fizzy/app/models/tag.rb
T
2025-10-16 18:40:04 -05:00

21 lines
461 B
Ruby

class Tag < ApplicationRecord
include Attachable, Filterable
has_many :taggings, dependent: :destroy
has_many :cards, through: :taggings
validates :title, format: { without: /\A#/ }
normalizes :title, with: -> { it.downcase }
scope :alphabetically, -> { order("lower(title)") }
scope :unused, -> { left_outer_joins(:taggings).where(taggings: { id: nil }) }
def hashtag
"#" + title
end
def cards_count
cards.open.count
end
end