twitter_cldr 1.7.0 → 1.8.0

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.
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).