Module: Sluggi::History::ClassMethods

Defined in:
lib/sluggi/history.rb

Instance Method Summary collapse

Instance Method Details

#find_slug!(slug) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/sluggi/history.rb', line 18

def find_slug!(slug)
  object = find_by(slug: slug) || find_slugs(slug).first&.sluggable
  unless object.is_a?(self)
    raise ActiveRecord::RecordNotFound, "Couldn't find #{name} with 'slug'='#{slug}'"
  end
  object
end

#find_slugs(slug) ⇒ Object



30
31
32
# File 'lib/sluggi/history.rb', line 30

def find_slugs(slug)
  Slug.find_type(slug, base_class.to_s)
end

#slug_exists?(slug) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/sluggi/history.rb', line 26

def slug_exists?(slug)
  where(slug: slug).exists? || find_slugs(slug).exists?
end