module Sluggable
Public Instance Methods
generate_slug(property)
click to toggle source
# File lib/sluggable.rb, line 4 def generate_slug(property) generated_slug = self[property].strip.gsub(/[[:space:]]/, "-").gsub(/[^A-Za-z0-9\-]/, "").gsub(/-+/, "-").downcase size = nil counter = 0 until size == 0 if counter == 0 size = self.class.where('slug LIKE ?', "#{generated_slug}").size else size = self.class.where('slug LIKE ?', "#{generated_slug}-#{counter}").size end counter+=1 if size > 0 end generated_slug = "#{generated_slug}-#{counter}" if counter > 0 self.slug = generated_slug end
to_param()
click to toggle source
# File lib/sluggable.rb, line 22 def to_param self.slug end