Sha256: 1468c563d010b9d161202a3f7a1f349ee32e25c2dcdd45fc03c8edc05ed05bb3

Contents?: true

Size: 776 Bytes

Versions: 1

Compression:

Stored size: 776 Bytes

Contents

class String
  def slug
    str = self.dup
    accents = { 
      ['á','à','â','ä','ã'] => 'a',
      ['Ã','Ä','Â','À','�?'] => 'A',
      ['é','è','ê','ë'] => 'e',
      ['Ë','É','È','Ê'] => 'E',
      ['í','ì','î','ï'] => 'i',
      ['�?','Î','Ì','�?'] => 'I',
      ['ó','ò','ô','ö','õ'] => 'o',
      ['Õ','Ö','Ô','Ò','Ó'] => 'O',
      ['ú','ù','û','ü'] => 'u',
      ['Ú','Û','Ù','Ü'] => 'U',
      ['ç'] => 'c', ['Ç'] => 'C',
      ['ñ'] => 'n', ['Ñ'] => 'N'
    }
    accents.each do |ac,rep|
      ac.each do |s|
        str = str.gsub(s, rep)
      end
    end
    str = str.gsub(/[^a-zA-Z0-9 ]/,"")

    str = str.gsub(/[ ]+/," ")
    str = str.strip
    str = str.gsub(/ /,"-")

    str = str.downcase

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ginst-0.2.2 lib/ginst/core_extensions.rb