twitter_cldr 1.7.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. data/History.txt +6 -0
  2. data/README.md +61 -5
  3. data/Rakefile +64 -60
  4. data/js/lib/twitter_cldr_js.rb +0 -2
  5. data/lib/twitter_cldr/core_ext.rb +12 -12
  6. data/lib/twitter_cldr/formatters/calendars/timespan_formatter.rb +13 -11
  7. data/lib/twitter_cldr/localized/localized_array.rb +33 -0
  8. data/lib/twitter_cldr/localized/localized_date.rb +23 -0
  9. data/lib/twitter_cldr/localized/localized_datetime.rb +63 -0
  10. data/lib/twitter_cldr/localized/localized_number.rb +50 -0
  11. data/lib/twitter_cldr/localized/localized_object.rb +38 -0
  12. data/lib/twitter_cldr/localized/localized_string.rb +41 -0
  13. data/lib/twitter_cldr/localized/localized_symbol.rb +20 -0
  14. data/lib/twitter_cldr/localized/localized_time.rb +23 -0
  15. data/lib/twitter_cldr/localized/localized_timespan.rb +26 -0
  16. data/lib/twitter_cldr/localized.rb +18 -0
  17. data/lib/twitter_cldr/normalization.rb +23 -0
  18. data/lib/twitter_cldr/resources/{tries_dumper.rb → collation_tries_dumper.rb} +1 -1
  19. data/lib/twitter_cldr/resources/composition_exclusions_importer.rb +1 -1
  20. data/lib/twitter_cldr/resources/language_codes_importer.rb +232 -0
  21. data/lib/twitter_cldr/resources/locales_resources_importer.rb +1 -1
  22. data/lib/twitter_cldr/resources/phone_codes_importer.rb +1 -1
  23. data/lib/twitter_cldr/resources/postal_codes_importer.rb +1 -1
  24. data/lib/twitter_cldr/resources/tailoring_importer.rb +12 -3
  25. data/lib/twitter_cldr/resources/unicode_data_importer.rb +3 -1
  26. data/lib/twitter_cldr/resources.rb +2 -1
  27. data/lib/twitter_cldr/shared/calendar.rb +2 -6
  28. data/lib/twitter_cldr/shared/language_codes.rb +75 -0
  29. data/lib/twitter_cldr/shared/languages.rb +4 -11
  30. data/lib/twitter_cldr/shared.rb +8 -7
  31. data/lib/twitter_cldr/tokenizers/base.rb +2 -8
  32. data/lib/twitter_cldr/utils.rb +8 -0
  33. data/lib/twitter_cldr/version.rb +1 -1
  34. data/lib/twitter_cldr.rb +5 -4
  35. data/resources/custom/locales/cs/units.yml +3 -3
  36. data/resources/custom/locales/pl/units.yml +4 -4
  37. data/resources/custom/locales/pt/units.yml +2 -2
  38. data/resources/shared/language_codes_table.dump +0 -0
  39. data/spec/core_ext_spec.rb +19 -0
  40. data/spec/{core_ext/array_spec.rb → localized/localized_array_spec.rb} +1 -1
  41. data/spec/{core_ext/calendars/date_spec.rb → localized/localized_date_spec.rb} +24 -44
  42. data/spec/localized/localized_datetime_spec.rb +81 -0
  43. data/spec/{core_ext/numbers → localized}/localized_number_spec.rb +34 -1
  44. data/spec/localized/localized_object_spec.rb +89 -0
  45. data/spec/{core_ext/string_spec.rb → localized/localized_string_spec.rb} +16 -33
  46. data/spec/{core_ext/symbol_spec.rb → localized/localized_symbol_spec.rb} +3 -1
  47. data/spec/localized/localized_time_spec.rb +70 -0
  48. data/spec/normalization_spec.rb +42 -0
  49. data/spec/readme_spec.rb +51 -5
  50. data/spec/shared/language_codes_spec.rb +161 -0
  51. data/spec/shared/phone_codes_spec.rb +2 -2
  52. data/spec/shared/postal_codes_spec.rb +2 -2
  53. data/spec/spec_helper.rb +2 -0
  54. data/spec/tokenizers/base_spec.rb +15 -6
  55. data/spec/utils_spec.rb +18 -2
  56. data/twitter_cldr.gemspec +2 -1
  57. metadata +28 -44
  58. data/lib/twitter_cldr/core_ext/array.rb +0 -35
  59. data/lib/twitter_cldr/core_ext/calendars/date.rb +0 -25
  60. data/lib/twitter_cldr/core_ext/calendars/datetime.rb +0 -65
  61. data/lib/twitter_cldr/core_ext/calendars/time.rb +0 -25
  62. data/lib/twitter_cldr/core_ext/calendars/timespan.rb +0 -24
  63. data/lib/twitter_cldr/core_ext/localized_object.rb +0 -25
  64. data/lib/twitter_cldr/core_ext/numbers/bignum.rb +0 -8
  65. data/lib/twitter_cldr/core_ext/numbers/fixnum.rb +0 -8
  66. data/lib/twitter_cldr/core_ext/numbers/float.rb +0 -8
  67. data/lib/twitter_cldr/core_ext/numbers/localized_number.rb +0 -54
  68. data/lib/twitter_cldr/core_ext/string.rb +0 -51
  69. data/lib/twitter_cldr/core_ext/symbol.rb +0 -22
  70. data/spec/core_ext/calendars/datetime_spec.rb +0 -90
  71. data/spec/core_ext/calendars/time_spec.rb +0 -90
  72. data/spec/core_ext/calendars_spec.rb +0 -34
  73. data/spec/core_ext/numbers/bignum_spec.rb +0 -25
  74. data/spec/core_ext/numbers/fixnum_spec.rb +0 -25
  75. data/spec/core_ext/numbers/float_spec.rb +0 -25
  76. data/spec/core_ext/numbers_spec.rb +0 -39
@@ -0,0 +1,161 @@
1
+ # encoding: UTF-8
2
+
3
+ # Copyright 2012 Twitter, Inc
4
+ # http://www.apache.org/licenses/LICENSE-2.0
5
+
6
+ require 'spec_helper'
7
+
8
+ include TwitterCldr::Shared
9
+
10
+ describe LanguageCodes do
11
+ describe '#languages' do
12
+ let(:languages) { LanguageCodes.languages }
13
+
14
+ it 'returns an array' do
15
+ languages.should be_instance_of(Array)
16
+ end
17
+
18
+ it 'returns symbols' do
19
+ languages.each { |language| language.should be_instance_of(Symbol) }
20
+ end
21
+
22
+ it 'returns supported languages' do
23
+ languages.should include(:Spanish, :English, :Russian, :Japanese, :Basque)
24
+ end
25
+ end
26
+
27
+ describe '#valid_standard?' do
28
+ it 'returns true if the standard is valid' do
29
+ LanguageCodes.valid_standard?(:iso_639_2).should be_true
30
+ end
31
+
32
+ it 'returns false if the standard is invalid' do
33
+ LanguageCodes.valid_standard?(:iso_639).should be_false
34
+ end
35
+
36
+ it 'accepts a string' do
37
+ LanguageCodes.valid_standard?('iso_639_2').should be_true
38
+ end
39
+ end
40
+
41
+ describe '#valid_code?' do
42
+ it 'returns true if the code is present in the given standard' do
43
+ LanguageCodes.valid_code?(:spa, :iso_639_2).should be_true
44
+ end
45
+
46
+ it 'returns false if the code is not present in the given standard' do
47
+ LanguageCodes.valid_code?(:foo, :iso_639_2).should be_false
48
+ end
49
+
50
+ it 'raises exception if the standard is invalid' do
51
+ lambda { LanguageCodes.valid_code?(:es, :foobar) }.should raise_exception(ArgumentError, ':foobar is not a valid standard name')
52
+ end
53
+
54
+ it 'accepts strings' do
55
+ LanguageCodes.valid_code?('spa', 'iso_639_2').should be_true
56
+ end
57
+ end
58
+
59
+ describe '#convert' do
60
+ it 'converts codes between different standards' do
61
+ LanguageCodes.convert(:Spanish, :from => :name, :to => :bcp_47 ).should == :es
62
+ LanguageCodes.convert(:es, :from => :bcp_47, :to => :iso_639_1).should == :es
63
+ LanguageCodes.convert(:es, :from => :iso_639_1, :to => :iso_639_2).should == :spa
64
+ LanguageCodes.convert(:spa, :from => :iso_639_2, :to => :iso_639_3).should == :spa
65
+ LanguageCodes.convert(:spa, :from => :iso_639_3, :to => :name ).should == :Spanish
66
+ end
67
+
68
+ it 'converts from terminology iso_639_2 codes' do
69
+ LanguageCodes.convert(:hye, :from => :iso_639_2, :to => :bcp_47).should == :hy
70
+ end
71
+
72
+ it 'converts from alternative bcp_47 codes' do
73
+ LanguageCodes.convert('ar-adf', :from => :bcp_47, :to => :iso_639_3).should == :adf
74
+ end
75
+
76
+ it 'returns nil if conversion data is missing' do
77
+ LanguageCodes.convert(:bsq, :from => :bcp_47, :to => :iso_639_1).should be_nil
78
+ LanguageCodes.convert(:FooBar, :from => :name, :to => :iso_639_1).should be_nil
79
+ end
80
+
81
+ it 'accepts strings' do
82
+ LanguageCodes.convert('Spanish', 'from' => 'name', 'to' => 'bcp_47').should == :es
83
+ end
84
+
85
+ it 'raises exception if :from or :to options are missing' do
86
+ [[:es, { :to => :bcp_47 }], [:es, { :from => :bcp_47 }], [:es]].each do |args|
87
+ lambda { LanguageCodes.convert(*args) }.should raise_exception(ArgumentError, "options :from and :to are required")
88
+ end
89
+ end
90
+
91
+ it 'raises exception if :from or :to have invalid values' do
92
+ [
93
+ [:es, { :from => :foobar, :to => :bcp_47 }],
94
+ [:es, { :from => :bcp_47, :to => :foobar }],
95
+ [:es, { :from => :foobar, :to => :foobar }]
96
+ ].each do |args|
97
+ lambda { LanguageCodes.convert(*args) }.should raise_exception(ArgumentError, ':foobar is not a valid standard name')
98
+ end
99
+ end
100
+ end
101
+
102
+ describe '#from_language' do
103
+ it 'returns language code by language name' do
104
+ LanguageCodes.from_language(:Spanish, :iso_639_2).should == :spa
105
+ end
106
+
107
+ it 'accepts strings' do
108
+ LanguageCodes.from_language('Spanish', 'iso_639_2').should == :spa
109
+ end
110
+
111
+ it 'raises exception when standard is invalid' do
112
+ lambda { LanguageCodes.from_language(:Spanish, :foobar) }.should raise_exception(':foobar is not a valid standard name')
113
+ end
114
+ end
115
+
116
+ describe '#to_language' do
117
+ it 'returns language name as a string by language code' do
118
+ LanguageCodes.to_language(:es, :iso_639_1).should == 'Spanish'
119
+ end
120
+
121
+ it 'accepts strings' do
122
+ LanguageCodes.to_language('es', 'iso_639_1').should == 'Spanish'
123
+ end
124
+
125
+ it 'raises exception when standard is invalid' do
126
+ lambda { LanguageCodes.to_language(:es, :foobar) }.should raise_exception(':foobar is not a valid standard name')
127
+ end
128
+ end
129
+
130
+ describe '#standards_for' do
131
+ let(:spanish_standards) { [:bcp_47, :iso_639_1, :iso_639_2, :iso_639_3] }
132
+
133
+ it 'returns an array of standards that are available for conversion from a given code' do
134
+ LanguageCodes.standards_for(:es, :bcp_47).should =~ spanish_standards
135
+ end
136
+
137
+ it 'accepts string' do
138
+ LanguageCodes.standards_for('es', 'bcp_47').should =~ spanish_standards
139
+ end
140
+
141
+ it 'raises exception when standard is invalid' do
142
+ lambda { LanguageCodes.standards_for(:es, :foobar) }.should raise_exception(':foobar is not a valid standard name')
143
+ end
144
+ end
145
+
146
+ describe '#standards_for_language' do
147
+ let(:spanish_standards) { [:bcp_47, :iso_639_1, :iso_639_2, :iso_639_3] }
148
+
149
+ it 'returns an array of standards that have a code for a given language' do
150
+ LanguageCodes.standards_for_language(:Spanish).should =~ spanish_standards
151
+ end
152
+
153
+ it 'accepts string' do
154
+ LanguageCodes.standards_for_language('Spanish').should =~ spanish_standards
155
+ end
156
+
157
+ it 'returns empty array for unknown languages' do
158
+ LanguageCodes.standards_for_language('FooBar').should == []
159
+ end
160
+ end
161
+ end
@@ -11,12 +11,12 @@ describe PhoneCodes do
11
11
  describe "#territories" do
12
12
  let(:territories) { PhoneCodes.territories }
13
13
 
14
- it 'returns a list' do
14
+ it 'returns an array' do
15
15
  territories.should be_instance_of(Array)
16
16
  end
17
17
 
18
18
  it 'returns symbols' do
19
- territories.all? { |territory| territory.should be_instance_of(Symbol) }
19
+ territories.each { |territory| territory.should be_instance_of(Symbol) }
20
20
  end
21
21
 
22
22
  it 'returns supported territories' do
@@ -11,12 +11,12 @@ describe PostalCodes do
11
11
  describe "#territories" do
12
12
  let(:territories) { PostalCodes.territories }
13
13
 
14
- it 'returns a list' do
14
+ it 'returns an array' do
15
15
  territories.should be_instance_of(Array)
16
16
  end
17
17
 
18
18
  it 'returns symbols' do
19
- territories.all? { |territory| territory.should be_instance_of(Symbol) }
19
+ territories.each { |territory| territory.should be_instance_of(Symbol) }
20
20
  end
21
21
 
22
22
  it 'returns supported territories' do
data/spec/spec_helper.rb CHANGED
@@ -21,6 +21,8 @@ end
21
21
  RSpec.configure do |config|
22
22
  config.mock_with :rr
23
23
 
24
+ config.filter_run(:focus => true)
25
+ config.run_all_when_everything_filtered = true
24
26
  config.filter_run_excluding(:slow => true) unless ENV['FULL_SPEC']
25
27
 
26
28
  config.before(:each) do
@@ -165,16 +165,25 @@ describe Base do
165
165
  end
166
166
 
167
167
  describe "#traverse" do
168
- before(:each) do
169
- @tree = { :admiral => { :captain => { :commander => { :lieutenant => "Found Me!" } } } }
168
+ let(:hash) { { :admiral => { :captain => { :commander => { :lieutenant => "Found Me!" } } } } }
169
+
170
+ it "finds the correct value in the hash" do
171
+ @base.send(:traverse, [:admiral, :captain, :commander, :lieutenant], hash).should == "Found Me!"
170
172
  end
171
173
 
172
- it "should find the correct value in the hash" do
173
- @base.send(:traverse, [:admiral, :captain, :commander, :lieutenant], @tree).should == "Found Me!"
174
+ it "returns nil if the path doesn't exist" do
175
+ @base.send(:traverse, [:admiral, :captain, :commander, :lieutenant, :ensign], hash).should be_nil
174
176
  end
175
177
 
176
- it "shouldn't choke if the path doesn't exist" do
177
- @base.send(:traverse, [:admiral, :captain, :commander, :lieutenant, :ensign], @tree).should == nil
178
+ it 'uses @resource if no hash is provided' do
179
+ old_resource = @base.instance_variable_get(:@resource)
180
+
181
+ begin
182
+ @base.instance_variable_set(:@resource, hash)
183
+ @base.send(:traverse, [:admiral, :captain, :commander, :lieutenant]).should == "Found Me!"
184
+ ensure
185
+ @base.instance_variable_set(:@resource, old_resource)
186
+ end
178
187
  end
179
188
  end
180
189
 
data/spec/utils_spec.rb CHANGED
@@ -7,7 +7,6 @@ require 'spec_helper'
7
7
 
8
8
  describe TwitterCldr::Utils do
9
9
  describe '#deep_symbolize_keys' do
10
-
11
10
  let(:hash) { { 'foo' => { 'bar' => { 'baz' => 'woot' }, :ar => [1, 2] }, 42 => { 'baz' => 'wat' } } }
12
11
 
13
12
  let(:symbolized_hash) { { :foo => { :bar => { :baz => 'woot' }, :ar => [1, 2] }, 42 => { :baz => 'wat' } } }
@@ -27,7 +26,6 @@ describe TwitterCldr::Utils do
27
26
  it 'leaves arguments of other types alone' do
28
27
  ['foo', :bar, 42].each { |arg| TwitterCldr::Utils.deep_symbolize_keys(arg).should == arg }
29
28
  end
30
-
31
29
  end
32
30
 
33
31
  describe "#deep_merge!" do
@@ -77,4 +75,22 @@ describe TwitterCldr::Utils do
77
75
  TwitterCldr::Utils.compute_cache_key.should == 0
78
76
  end
79
77
  end
78
+
79
+ describe '#traverse_hash' do
80
+ it 'returns value from the hash at the given path' do
81
+ TwitterCldr::Utils.traverse_hash({ :foo => { :bar => 2, 'baz' => { 4 => 42 } } }, [:foo, 'baz', 4]).should == 42
82
+ end
83
+
84
+ it 'returns nil if the value is missing' do
85
+ TwitterCldr::Utils.traverse_hash({ :foo => { :bar => 2 } }, [:foo, :baz]).should be_nil
86
+ end
87
+
88
+ it 'returns nil path is empty' do
89
+ TwitterCldr::Utils.traverse_hash({ :foo => 42 }, []).should be_nil
90
+ end
91
+
92
+ it 'returns nil if not a Hash is passed' do
93
+ TwitterCldr::Utils.traverse_hash(42, [:foo, :bar]).should be_nil
94
+ end
95
+ end
80
96
  end
data/twitter_cldr.gemspec CHANGED
@@ -1,4 +1,5 @@
1
- require File.join(File.dirname(__FILE__), 'lib', 'twitter_cldr', 'version')
1
+ $:.unshift File.join(File.dirname(__FILE__), 'lib')
2
+ require 'twitter_cldr/version'
2
3
 
3
4
  Gem::Specification.new do |s|
4
5
  s.name = "twitter_cldr"
metadata CHANGED
@@ -1,13 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twitter_cldr
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
5
4
  prerelease:
6
- segments:
7
- - 1
8
- - 7
9
- - 0
10
- version: 1.7.0
5
+ version: 1.8.0
11
6
  platform: ruby
12
7
  authors:
13
8
  - Cameron Dutro
@@ -15,7 +10,7 @@ autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
12
 
18
- date: 2012-08-05 00:00:00 Z
13
+ date: 2012-08-18 00:00:00 Z
19
14
  dependencies:
20
15
  - !ruby/object:Gem::Dependency
21
16
  name: json
@@ -25,11 +20,6 @@ dependencies:
25
20
  requirements:
26
21
  - - ">="
27
22
  - !ruby/object:Gem::Version
28
- hash: 1
29
- segments:
30
- - 1
31
- - 1
32
- - 9
33
23
  version: 1.1.9
34
24
  type: :runtime
35
25
  version_requirements: *id001
@@ -79,18 +69,6 @@ files:
79
69
  - lib/twitter_cldr/collation/trie_loader.rb
80
70
  - lib/twitter_cldr/collation/trie_with_fallback.rb
81
71
  - lib/twitter_cldr/collation.rb
82
- - lib/twitter_cldr/core_ext/array.rb
83
- - lib/twitter_cldr/core_ext/calendars/date.rb
84
- - lib/twitter_cldr/core_ext/calendars/datetime.rb
85
- - lib/twitter_cldr/core_ext/calendars/time.rb
86
- - lib/twitter_cldr/core_ext/calendars/timespan.rb
87
- - lib/twitter_cldr/core_ext/localized_object.rb
88
- - lib/twitter_cldr/core_ext/numbers/bignum.rb
89
- - lib/twitter_cldr/core_ext/numbers/fixnum.rb
90
- - lib/twitter_cldr/core_ext/numbers/float.rb
91
- - lib/twitter_cldr/core_ext/numbers/localized_number.rb
92
- - lib/twitter_cldr/core_ext/string.rb
93
- - lib/twitter_cldr/core_ext/symbol.rb
94
72
  - lib/twitter_cldr/core_ext.rb
95
73
  - lib/twitter_cldr/formatters/base.rb
96
74
  - lib/twitter_cldr/formatters/calendars/date_formatter.rb
@@ -109,6 +87,16 @@ files:
109
87
  - lib/twitter_cldr/formatters/plurals/rules.rb
110
88
  - lib/twitter_cldr/formatters/plurals.rb
111
89
  - lib/twitter_cldr/formatters.rb
90
+ - lib/twitter_cldr/localized/localized_array.rb
91
+ - lib/twitter_cldr/localized/localized_date.rb
92
+ - lib/twitter_cldr/localized/localized_datetime.rb
93
+ - lib/twitter_cldr/localized/localized_number.rb
94
+ - lib/twitter_cldr/localized/localized_object.rb
95
+ - lib/twitter_cldr/localized/localized_string.rb
96
+ - lib/twitter_cldr/localized/localized_symbol.rb
97
+ - lib/twitter_cldr/localized/localized_time.rb
98
+ - lib/twitter_cldr/localized/localized_timespan.rb
99
+ - lib/twitter_cldr/localized.rb
112
100
  - lib/twitter_cldr/normalization/base.rb
113
101
  - lib/twitter_cldr/normalization/hangul.rb
114
102
  - lib/twitter_cldr/normalization/nfc.rb
@@ -117,20 +105,22 @@ files:
117
105
  - lib/twitter_cldr/normalization/nfkd.rb
118
106
  - lib/twitter_cldr/normalization.rb
119
107
  - lib/twitter_cldr/resources/canonical_compositions_updater.rb
108
+ - lib/twitter_cldr/resources/collation_tries_dumper.rb
120
109
  - lib/twitter_cldr/resources/composition_exclusions_importer.rb
121
110
  - lib/twitter_cldr/resources/custom_locales_resources_importer.rb
122
111
  - lib/twitter_cldr/resources/download.rb
112
+ - lib/twitter_cldr/resources/language_codes_importer.rb
123
113
  - lib/twitter_cldr/resources/loader.rb
124
114
  - lib/twitter_cldr/resources/locales_resources_importer.rb
125
115
  - lib/twitter_cldr/resources/phone_codes_importer.rb
126
116
  - lib/twitter_cldr/resources/postal_codes_importer.rb
127
117
  - lib/twitter_cldr/resources/tailoring_importer.rb
128
- - lib/twitter_cldr/resources/tries_dumper.rb
129
118
  - lib/twitter_cldr/resources/unicode_data_importer.rb
130
119
  - lib/twitter_cldr/resources.rb
131
120
  - lib/twitter_cldr/shared/calendar.rb
132
121
  - lib/twitter_cldr/shared/code_point.rb
133
122
  - lib/twitter_cldr/shared/currencies.rb
123
+ - lib/twitter_cldr/shared/language_codes.rb
134
124
  - lib/twitter_cldr/shared/languages.rb
135
125
  - lib/twitter_cldr/shared/numbers.rb
136
126
  - lib/twitter_cldr/shared/phone_codes.rb
@@ -196,18 +186,7 @@ files:
196
186
  - spec/collation/trie_loader_spec.rb
197
187
  - spec/collation/trie_spec.rb
198
188
  - spec/collation/trie_with_fallback_spec.rb
199
- - spec/core_ext/array_spec.rb
200
- - spec/core_ext/calendars/date_spec.rb
201
- - spec/core_ext/calendars/datetime_spec.rb
202
- - spec/core_ext/calendars/time_spec.rb
203
- - spec/core_ext/calendars_spec.rb
204
- - spec/core_ext/numbers/bignum_spec.rb
205
- - spec/core_ext/numbers/fixnum_spec.rb
206
- - spec/core_ext/numbers/float_spec.rb
207
- - spec/core_ext/numbers/localized_number_spec.rb
208
- - spec/core_ext/numbers_spec.rb
209
- - spec/core_ext/string_spec.rb
210
- - spec/core_ext/symbol_spec.rb
189
+ - spec/core_ext_spec.rb
211
190
  - spec/formatters/base_spec.rb
212
191
  - spec/formatters/calendars/datetime_formatter_spec.rb
213
192
  - spec/formatters/calendars/timespan_formatter_spec.rb
@@ -219,15 +198,25 @@ files:
219
198
  - spec/formatters/numbers/percent_formatter_spec.rb
220
199
  - spec/formatters/plurals/plural_formatter_spec.rb
221
200
  - spec/formatters/plurals/rules_spec.rb
201
+ - spec/localized/localized_array_spec.rb
202
+ - spec/localized/localized_date_spec.rb
203
+ - spec/localized/localized_datetime_spec.rb
204
+ - spec/localized/localized_number_spec.rb
205
+ - spec/localized/localized_object_spec.rb
206
+ - spec/localized/localized_string_spec.rb
207
+ - spec/localized/localized_symbol_spec.rb
208
+ - spec/localized/localized_time_spec.rb
222
209
  - spec/normalization/base_spec.rb
223
210
  - spec/normalization/hangul_spec.rb
224
211
  - spec/normalization/normalization_spec.rb
225
212
  - spec/normalization/NormalizationTestShort.txt
213
+ - spec/normalization_spec.rb
226
214
  - spec/readme_spec.rb
227
215
  - spec/resources/loader_spec.rb
228
216
  - spec/shared/calendar_spec.rb
229
217
  - spec/shared/code_point_spec.rb
230
218
  - spec/shared/currencies_spec.rb
219
+ - spec/shared/language_codes_spec.rb
231
220
  - spec/shared/languages_spec.rb
232
221
  - spec/shared/numbers_spec.rb
233
222
  - spec/shared/phone_codes_spec.rb
@@ -520,6 +509,7 @@ files:
520
509
  - resources/locales/zh-Hant/plurals.yml
521
510
  - resources/locales/zh-Hant/units.yml
522
511
  - resources/shared/currencies.yml
512
+ - resources/shared/language_codes_table.dump
523
513
  - resources/shared/phone_codes.yml
524
514
  - resources/shared/postal_codes.yml
525
515
  - resources/unicode_data/blocks/aegean_numbers.yml
@@ -766,23 +756,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
766
756
  requirements:
767
757
  - - ">="
768
758
  - !ruby/object:Gem::Version
769
- hash: 3
770
- segments:
771
- - 0
772
759
  version: "0"
773
760
  required_rubygems_version: !ruby/object:Gem::Requirement
774
761
  none: false
775
762
  requirements:
776
763
  - - ">="
777
764
  - !ruby/object:Gem::Version
778
- hash: 3
779
- segments:
780
- - 0
781
765
  version: "0"
782
766
  requirements: []
783
767
 
784
768
  rubyforge_project:
785
- rubygems_version: 1.8.6
769
+ rubygems_version: 1.8.17
786
770
  signing_key:
787
771
  specification_version: 3
788
772
  summary: Text formatting using data from Unicode's Common Locale Data Repository (CLDR).