Edge Rails: Crie regras para o String#humanize

3 de julho de 2008  |  Rails 2.2  | 

Já faz um certo tempo que Pratik Naik está tentando colocar este patch no Rails e parece que finalmente conseguiu.

No arquivo config/initializers/inflections.rb você tem a opção de acrescentar novas inflexões para pluralização, singularização e outros:

Inflector.inflections do |inflect|
  inflect.plural /^(ox)$/i, '\1en'
  inflect.singular /^(ox)en/i, '\1'
  inflect.irregular 'person', 'people'
  inflect.uncountable %w( fish sheep )
end

Na próxima versão do Rails você também poderá incluir inflexões para o método humanize da classe String. Vamos aos famosos exemplos:

'jargon_cnt'.humanize # => "Jargon cnt"
'nomedojogo'.humanize # => "Nomedojogo"

ActiveSupport::Inflector.inflections do |inflect|
  inflect.human(/_cnt$/i, '\1_count')
  inflect.human('nomedojogo', 'Nome do Jogo')
end

'jargon_cnt'.humanize # => "Jargon count"
'nomedojogo'.humanize # => "Nome do jogo"


2 Comentários


  1. hum, essa nova possibilidade no humanize vai ser bem útil

  2. isso é muito legal… Com certeza o core team do rails deve tomar muito cuidado para filtrar o que deve entra e o que não deve para não deixar o framework engordar de mais, mas se dúvida esse recurso vai ser bem útil.

Deixe um comentário