postal_address_translator 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0bf5c50642db870a79dfd0a643fa4abce3763da0
4
- data.tar.gz: ee9f12c289b8a16b5e47de3bac2090a20b3b9713
3
+ metadata.gz: 986eb8cef74ae59ea8c40041fc90cb5a3e32542f
4
+ data.tar.gz: 1abaf4885d44c1e56e1c746aa95b767595480951
5
5
  SHA512:
6
- metadata.gz: 4994699ebce693c5f2afae34671c9cbfbf834bbf8fd7a56367fc8c50ee5e16a24414f45e2af0b16f7349c3046cfd6f88d83ea3472a8e2feaac5bdc5dc85f54fa
7
- data.tar.gz: 9e5594635c5e2ebfbf014c39c687b207f5f2be6ba259bec54f2dd324acf67897f3d6d2bc8f0426d47c74ad8f01f22cfcf2ee65a194a95e0f7091c4bf32fcb6d3
6
+ metadata.gz: dba279d664603b0fcdaa3e9b29de8ef46c7e9ab834bb54cf87c444cd3262647ef17f5949b17a6d9e10e99064096304bdfe64281d21f4dce099ea40d6fa444995
7
+ data.tar.gz: 5fecd0424255f88fc84f59975e9d482aa1536669e40224c14bd8d00cac77a8c3bae7ad94d74208b0fd4210beafe30af79f7e3e847bed6e2c1e08b9b544ae482f
@@ -1,4 +1,3 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require 'postal_address_translator'
4
- puts PostalAddressTranslator.hi(ARGV[0])
3
+ require 'postal_address_translator'
@@ -1,18 +1,19 @@
1
- # The main Hola driver
1
+ # The main driver
2
2
  class PostalAddressTranslator
3
- # Say hi to the world!
3
+ # Translate Postal Adresses
4
4
  #
5
5
  # Example:
6
- # >> Hola.hi("spanish")
7
- # => hola mundo
6
+ # >> PostalAddressTranslator.to_fr("2-12 Chapelle Saint-Pierre Alley, 35370 Argentré-du-Plessis, France")
7
+ # => 2-12 Allée Chapelle Saint-Pierre, 35370 Argentré-du-Plessis, France
8
8
  #
9
9
  # Arguments:
10
- # language: (String)
10
+ # postal_address: (String)
11
+ # lamguage: (String)
11
12
 
12
- def self.hi(language = "english")
13
- translator = Translator.new(language)
14
- translator.hi
13
+ def self.to_fr(postal_address, language = "english")
14
+ translator = FrenchTranslator.new(postal_address, language)
15
+ translator.to_fr
15
16
  end
16
17
  end
17
18
 
18
- require 'postal_address_translator/translator'
19
+ require 'postal_address_translator/french_translator'
@@ -0,0 +1,34 @@
1
+ class FrenchTranslator
2
+ EN_TO_FR = {
3
+ "alley" => "Allée",
4
+ "avenue" => "Avenue",
5
+ "way" => "Chemin",
6
+ "square" => "Place",
7
+ "street" => "Rue",
8
+ "road" => "Route",
9
+ "path" => "Cours"
10
+ }
11
+
12
+ def initialize(postal_address, language)
13
+ @language = language
14
+ @postal_address = postal_address
15
+ end
16
+
17
+ def to_fr
18
+ case @language
19
+ when "english"
20
+ # detect one of keys
21
+ key,value = EN_TO_FR.detect{|key,value| @postal_address.match /\s#{key}/i}
22
+ # remove it
23
+ if key
24
+ translated_address = @postal_address.gsub /\s#{key}/i, ''
25
+ # place the translated word after the street number if there is one
26
+ (translated_address.match /^[0-9\-]*\s/) ?
27
+ (translated_address.gsub /^[0-9\-]*\s/, "\\0#{value} ") :
28
+ ("#{value} #{translated_address}")
29
+ else
30
+ @postal_address
31
+ end
32
+ end
33
+ end
34
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: postal_address_translator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicolas Maloeuvre
@@ -19,7 +19,7 @@ extra_rdoc_files: []
19
19
  files:
20
20
  - bin/postal_address_translator
21
21
  - lib/postal_address_translator.rb
22
- - lib/postal_address_translator/translator.rb
22
+ - lib/postal_address_translator/french_translator.rb
23
23
  homepage: http://rubygems.org/gems/postal_address_translator
24
24
  licenses:
25
25
  - MIT
@@ -1,14 +0,0 @@
1
- class Translator
2
- def initialize(language)
3
- @language = language
4
- end
5
-
6
- def hi
7
- case @language
8
- when "spanish"
9
- "hola mundo"
10
- else
11
- "hello world"
12
- end
13
- end
14
- end