countries_and_languages 0.1.4 → 0.1.5

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.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- countries_and_languages (0.1.4)
4
+ countries_and_languages (0.1.5)
5
5
  i18n_data
6
6
 
7
7
  GEM
@@ -29,8 +29,7 @@ GEM
29
29
  erubis (2.7.0)
30
30
  hike (1.2.1)
31
31
  i18n (0.6.0)
32
- i18n_data (0.2.8)
33
- activesupport (>= 2.2)
32
+ i18n_data (0.3.1)
34
33
  multi_json (1.0.3)
35
34
  rack (1.3.5)
36
35
  rack-cache (1.1)
@@ -25,8 +25,9 @@ module CountriesAndLanguages
25
25
  end
26
26
 
27
27
  def clean_and_sort(data)
28
- data = data.to_a.sort_by{|code,name| convert_umlaut_to_base(name)}
29
- data.map!{|code,name|[clean_name(name),code]}
28
+ data = data.to_a
29
+ data.map!{|code,name| [clean_name(name), code] }
30
+ data.sort_by{|code,name| convert_umlaut_to_base(code) }
30
31
  end
31
32
 
32
33
  def clean_name(name)
@@ -41,11 +42,23 @@ module CountriesAndLanguages
41
42
  name
42
43
  end
43
44
 
45
+ CONVERSIONS = [
46
+ ['áä', 'a'],
47
+ ['ÁÄÅ', 'A'],
48
+ ['óö', 'o'],
49
+ ['ÓÖ', 'O'],
50
+ ['í', 'i'],
51
+ ['Í', 'I'],
52
+ ['úü', 'u'],
53
+ ['ÚÜ', 'U'],
54
+ ['é', 'e'],
55
+ ['É', 'E'],
56
+ ['ß', 's'],
57
+ ]
58
+
44
59
  def convert_umlaut_to_base(input)
45
- $KCODE='u' if RUBY_VERSION < '1.9'
46
- %w(aáä AÁÄÅ oóö OÓÖ ií IÍ uúü UÚÜ eé EÉ sß).inject(input.dup) do |input, set|
47
- to, *from = set.split('')
48
- input.gsub(/[#{from}]/, to)
49
- end
60
+ input = input.dup
61
+ CONVERSIONS.each { |from, to| input.tr!(from, to) }
62
+ input
50
63
  end
51
64
  end
@@ -1,3 +1,3 @@
1
1
  module CountriesAndLanguages
2
- VERSION = Version = '0.1.4'
2
+ VERSION = Version = '0.1.5'
3
3
  end
@@ -8,7 +8,10 @@ describe CountriesAndLanguages do
8
8
  I18n.locale = :en
9
9
  end
10
10
 
11
- {:country=>['Germany','Deutschland'],:language=>['German','Deutsch']}.each do |method,translation|
11
+ {
12
+ :country => ['Germany','Deutschland'],
13
+ :language => ['German','Deutsch']
14
+ }.each do |method,translation|
12
15
  it "translates #{method}" do
13
16
  send(method,'DE').should == translation[0]
14
17
  I18n.locale = :de
@@ -20,15 +23,17 @@ describe CountriesAndLanguages do
20
23
  end
21
24
  end
22
25
 
23
- describe 'clean names' do
26
+ describe "clean names" do
24
27
  it "removes everything in braces" do
25
28
  country('va').should == 'Holy See'
26
29
  language('IA').should == 'Interlingua'
27
30
  end
31
+
28
32
  it "removes everything behind comma" do
29
33
  country('IR').should == 'Iran'
30
34
  language('ND').should == 'Ndebele'
31
35
  end
36
+
32
37
  it "removes everything behind semicolon" do
33
38
  language('nb').should == 'Bokmål'
34
39
  language('ca').should == 'Catalan'
@@ -37,25 +42,28 @@ describe CountriesAndLanguages do
37
42
 
38
43
  it "sorts umlaut-aware" do
39
44
  I18n.locale = :de
40
- countries[1][0].should == 'Ägypten'
45
+ countries.map(&:first)[0..5].should == ["Afghanistan", "Ägypten", "Åland-Inseln", "Albanien", "Algerien", "Amerikanische Jungferninseln"]
41
46
  end
42
47
 
43
- describe 'misc fixes' do
44
- describe 'German' do
48
+ describe "misc fixes" do
49
+ describe "German" do
45
50
  before {I18n.locale = :de}
51
+
46
52
  it "removes -Sprache aditions" do
47
53
  language('ZU').should == "Zulu"
48
54
  end
55
+
49
56
  it "knows Kongo" do
50
57
  country('CD').should == 'Kongo'
51
58
  end
59
+
52
60
  it "knows Lao" do
53
61
  country('LA').should == 'Lao'
54
62
  end
55
63
  end
56
64
  end
57
65
 
58
- describe :select_tag do
66
+ describe "#select_tag" do
59
67
  def h
60
68
  ActionController::Base.helpers
61
69
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: countries_and_languages
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-20 00:00:00.000000000 Z
12
+ date: 2012-06-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: i18n_data
@@ -59,7 +59,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
59
59
  version: '0'
60
60
  segments:
61
61
  - 0
62
- hash: -4092638733407512705
62
+ hash: 4563603787577617020
63
63
  required_rubygems_version: !ruby/object:Gem::Requirement
64
64
  none: false
65
65
  requirements:
@@ -68,7 +68,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
68
68
  version: '0'
69
69
  segments:
70
70
  - 0
71
- hash: -4092638733407512705
71
+ hash: 4563603787577617020
72
72
  requirements: []
73
73
  rubyforge_project:
74
74
  rubygems_version: 1.8.24