countries_and_languages 0.1.4 → 0.1.5

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