postal_address_translator 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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