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 em "Edge Rails: Crie regras para o String#humanize"
hum, essa nova possibilidade no humanize vai ser bem útil
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 o seu comentário!