class FrenchTranslator

Constants

EN_TO_FR

Public Class Methods

new(postal_address, language) click to toggle source
# File lib/postal_address_translator/french_translator.rb, line 12
def initialize(postal_address, language)
  @language = language
  @postal_address = postal_address
end

Public Instance Methods

to_fr() click to toggle source
# File lib/postal_address_translator/french_translator.rb, line 17
def to_fr
  case @language
  when "english"
    # detect one of keys
    key,value = EN_TO_FR.detect{|key,value| @postal_address.match /\s#{key}/i}
    # remove it
    if key
      translated_address = @postal_address.gsub /\s#{key}/i, ''
      # place the translated word after the street number if there is one
      (translated_address.match /^[0-9\-]*\s/) ? 
      (translated_address.gsub /^[0-9\-]*\s/, "\\0#{value} ") : 
      ("#{value} #{translated_address}")
    else
      @postal_address
    end
  end
end