docbrown/app/models/collection.rb
Anshuman Bhardwaj e2e54b35c6
Series count to only include non empty series (#16130)
Co-authored-by: Michael Kohl <me@citizen428.net>
2022-01-18 10:22:34 +07:00

26 lines
515 B
Ruby

class Collection < ApplicationRecord
has_many :articles, dependent: :nullify
belongs_to :user
belongs_to :organization, optional: true
validates :slug, presence: true, uniqueness: { scope: :user_id }
scope :non_empty, -> { joins(:articles).distinct }
after_touch :touch_articles
def self.find_series(slug, user)
Collection.find_or_create_by(slug: slug, user: user)
end
def path
"/#{user.username}/series/#{id}"
end
private
def touch_articles
articles.touch_all
end
end