# File lib/stringex/localization/converter.rb, line 11 def initialize(string, options = {}) @string = string.dup @options = Stringex::Configuration::StringExtensions.default_settings.merge(options) string =~ /^(\s+)/ @starting_whitespace = $1 unless $1 == '' string =~ /(\s+)$/ @ending_whitespace = $1 unless $1 == '' end
# File lib/stringex/localization/converter.rb, line 20 def cleanup_accented_html_entities! string.gsub! expressions.accented_html_entity, '\1' end
# File lib/stringex/localization/converter.rb, line 24 def cleanup_characters! string.gsub! expressions.cleanup_characters, ' ' end
# File lib/stringex/localization/converter.rb, line 28 def cleanup_html_entities! string.gsub! expressions.cleanup_html_entities, '' end
# File lib/stringex/localization/converter.rb, line 32 def cleanup_smart_punctuation! expressions.smart_punctuation.each do |expression, replacement| string.gsub! expression, replacement end end
# File lib/stringex/localization/converter.rb, line 38 def normalize_currency! string.gsub! /(\d+),(\d+)/, '\1\2' end
# File lib/stringex/localization/converter.rb, line 42 def smart_strip! string.strip! @string = "#{starting_whitespace}#{string}#{ending_whitespace}" end
# File lib/stringex/localization/converter.rb, line 47 def strip! string.strip! end
# File lib/stringex/localization/converter.rb, line 55 def translate!(*conversions) conversions.each do |conversion| send conversion end end
# File lib/stringex/localization/converter.rb, line 63 def abbreviations string.gsub! expressions.abbreviation do |x| x.gsub '.', '' end end
# File lib/stringex/localization/converter.rb, line 69 def apostrophes string.gsub! expressions.apostrophe, '\1\2' end
# File lib/stringex/localization/converter.rb, line 73 def characters expressions.characters.each do |key, expression| next if key == :slash && options[:allow_slash] replacement = translate(key) replacement = " #{replacement} " unless replacement == '' || key == :dot string.gsub! expression, replacement end end
# File lib/stringex/localization/converter.rb, line 82 def currencies if has_currencies? [:currencies_complex, :currencies_simple].each do |type| expressions.send(type).each do |key, expression| string.gsub! expression, " #{translate(key, :currencies)} " end end end end
# File lib/stringex/localization/converter.rb, line 92 def ellipses string.gsub! expressions.characters[:ellipsis], " #{translate(:ellipsis)} " end
# File lib/stringex/localization/converter.rb, line 96 def html_entities expressions.html_entities.each do |key, expression| string.gsub! expression, translate(key, :html_entities) end string.squeeze! ' ' end
# File lib/stringex/localization/converter.rb, line 103 def vulgar_fractions expressions.vulgar_fractions.each do |key, expression| string.gsub! expression, translate(key, :vulgar_fractions) end end
# File lib/stringex/localization/converter.rb, line 111 def expressions ConversionExpressions end
# File lib/stringex/localization/converter.rb, line 115 def has_currencies? string =~ CURRENCIES_SUPPORTED end
# File lib/stringex/localization/converter.rb, line 119 def translate(key, scope = :characters) Localization.translate scope, key end