Sha256: 11bb3dc3db633a01486aee32c098b00ce94d58ab6abee1a417fef291dd8c7b31

Contents?: true

Size: 994 Bytes

Versions: 4

Compression:

Stored size: 994 Bytes

Contents

# encoding: UTF-8
require 'active_support/core_ext'

class String
  
  # Remove as letras acentuadas
  #
  # Exemplo:
  #  String.remover_acentos('texto está com acentuação') ==> 'texto esta com acentuacao'
  def self.remover_acentos(texto)
    return texto if texto.blank?
    texto = texto.gsub(/(á|à|ã|â|ä)/, 'a').gsub(/(é|è|ê|ë)/, 'e').gsub(/(í|ì|î|ï)/, 'i').gsub(/(ó|ò|õ|ô|ö)/, 'o').gsub(/(ú|ù|û|ü)/, 'u')
    texto = texto.gsub(/(Á|À|Ã|Â|Ä)/, 'A').gsub(/(É|È|Ê|Ë)/, 'E').gsub(/(Í|Ì|Î|Ï)/, 'I').gsub(/(Ó|Ò|Õ|Ô|Ö)/, 'O').gsub(/(Ú|Ù|Û|Ü)/, 'U')
    texto = texto.gsub(/ñ/, 'n').gsub(/Ñ/, 'N')
    texto = texto.gsub(/ç/, 'c').gsub(/Ç/, 'C')
    texto
  end

  # Remove as letras acentuadas
  #
  # Exemplo:
  #  'texto está com acentuação'.remover_acentos ==> 'texto esta com acentuacao'
  def remover_acentos
    String.remover_acentos(self)
  end
  
  def to_alias
    self.remover_acentos.gsub(/ /, '_').underscore.to_sym
  end
  
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mdd-3.1.0 lib/extensions/string.rb
mdd-3.0.20 lib/extensions/string.rb
mdd-3.0.19 lib/extensions/string.rb
mdd-3.0.18 lib/extensions/string.rb