Module: SluggableJun

Extended by:
ActiveSupport::Concern
Defined in:
lib/sluggable_jun.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#generate_slug!Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/sluggable_jun.rb', line 9

def generate_slug!
  a_slug = self[slug_column].parameterize

  return if self.slug && self.slug[/\w+/]== a_slug
  slug_copies = self.class.where("slug LIKE :prefix",prefix: "#{a_slug}%").size
  if slug_copies.zero? || slug_copies == 1 && self.slug
    self.slug = a_slug
  else
    self.slug = "#{a_slug}-#{slug_copies + 1}"
  end
end

#to_paramObject



21
22
23
# File 'lib/sluggable_jun.rb', line 21

def to_param
  slug
end