module SluggableArthur

Constants

VERSION

Public Instance Methods

generate_slug() click to toggle source
# File lib/sluggable_arthur.rb, line 12
def generate_slug
  prefix_slug = self.send(self.slug_column.to_sym).to_slug

  if prefix_slug.length == 0
    prefix_slug = self.id.to_s
  end

  count = 1
  the_slug = prefix_slug
  obj = self.class.find_by(slug: the_slug)
  while obj && obj != self
    the_slug = prefix_slug + '-' + count.to_s
    count += 1
    obj = self.class.find_by(slug: the_slug)
  end

  self.slug = the_slug
end
to_param() click to toggle source
# File lib/sluggable_arthur.rb, line 31
def to_param
  self.slug
end