module SlugFu
Constants
- VERSION
Public Class Methods
SlugFu(str, context: NoContext.instance, naming_strategy: DefaultNamingStrategy)
click to toggle source
# File lib/slug_fu.rb, line 9 def SlugFu(str, context: NoContext.instance, naming_strategy: DefaultNamingStrategy) namer = naming_strategy.new(::SlugFu.slugify(str)) begin result = namer.next end while context.include?(result) result end
slugify(str)
click to toggle source
# File lib/slug_fu.rb, line 19 def self.slugify(str) str.to_s.gsub(/^\s\s*/, "") # Trim left .gsub(/\s\s*$/, "") # Trim right .gsub(/\_/, "-") # Convert underscores to hyphens .gsub(/&/, " and ") # Replace ampersand with " and " .gsub(/\s+/, "-") # Replace extra spaces with only one hyphen .gsub(/[^\w\-\u00E0-\u00FC]/, "") # Strip everything but alphanumeric, hypen, and accented characters .gsub(/\-+/, "-") # Replace multiple hypens with one .downcase end
Private Instance Methods
SlugFu(str, context: NoContext.instance, naming_strategy: DefaultNamingStrategy)
click to toggle source
# File lib/slug_fu.rb, line 9 def SlugFu(str, context: NoContext.instance, naming_strategy: DefaultNamingStrategy) namer = naming_strategy.new(::SlugFu.slugify(str)) begin result = namer.next end while context.include?(result) result end