Module: StringExt
- Extended by:
- StringExt
- Included in:
- StringExt
- Defined in:
- lib/string_ext.rb,
lib/string_ext/version.rb
Constant Summary collapse
- ACCENTS =
{ 'A' => { upcase: 'ÁÀÄÂÃÅĀĂǍ', downcase: 'áàäâãåāăǎ' }, 'E' => { upcase: 'ÉÈËÊĒĔĖĚ', downcase: 'éèëêēĕėě' }, 'I' => { upcase: 'ÍÌÏÎĨĬǏ', downcase: 'íìïîĩĭǐ' }, 'O' => { upcase: 'ÓÒÖÔÕŌŎŐǑ', downcase: 'óòöôõōŏőǒ' }, 'U' => { upcase: 'ÚÙÜÛŨŪŬŮŰǓ', downcase: 'úùüûũūŭůűǔ' } }
- CASES =
{ downcase: 'ñç' + ACCENTS.values.map { |a| a[:downcase] }.join, upcase: 'ÑÇ' + ACCENTS.values.map { |a| a[:upcase] }.join }
- VERSION =
'0.1.0'
Instance Method Summary collapse
Instance Method Details
#downcase(string) ⇒ Object
40 41 42 |
# File 'lib/string_ext.rb', line 40 def downcase(string) string.tr(CASES[:upcase], CASES[:downcase]).downcase end |
#unaccented(string) ⇒ Object
44 45 46 47 48 |
# File 'lib/string_ext.rb', line 44 def unaccented(string) ACCENTS.inject(string) do |s, (char, cases)| s.tr(cases[:upcase], char).tr(cases[:downcase], char.downcase) end end |