Module: Slugs::ActiveRecord::NonTranslatable::ClassMethods

Defined in:
lib/slugs/active_record/non_translatable.rb

Instance Method Summary collapse

Instance Method Details

#exists_by_slug?(id) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/slugs/active_record/non_translatable.rb', line 19

def exists_by_slug?(id)
  exists? slug: id
end

#find_by_slug(id) ⇒ Object



15
16
17
# File 'lib/slugs/active_record/non_translatable.rb', line 15

def find_by_slug(id)
  find_by slug: id
end

#find_previous_slug(slug) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/slugs/active_record/non_translatable.rb', line 7

def find_previous_slug(slug)
  where(
    'slug LIKE ? OR slug = ?', "#{slug}-%", slug
  ).order(
    'LENGTH(slug) DESC, slug DESC'
  ).map(&:slug).select{ |r| r =~ /^#{slug}(-\d+)?$/ }.first
end