module Slugifier

Constants

TABLE
UNWANTED_CHARACTERS

Public Instance Methods

slugify(string) click to toggle source
# File lib/slugifier.rb, line 6
def slugify(string)
  normalize(string).tap { |s| s.gsub!(UNWANTED_CHARACTERS, "-") }
end

Private Instance Methods

normalize(string) click to toggle source
# File lib/slugifier.rb, line 12
def normalize(string)
  transliterate(string).tap do |s|
    s.downcase!
    s.strip!
  end
end
transliterate(string) click to toggle source
# File lib/slugifier.rb, line 19
def transliterate(string)
  transliteration = string.dup
  characters = transliteration.chars.uniq

  characters.each do |character|
    transliteration.gsub!(character, TABLE[character]) if TABLE[character]
  end

  transliteration
end