twitter_cldr 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. data/README.md +34 -18
  2. data/lib/twitter_cldr.rb +15 -21
  3. data/lib/twitter_cldr/core_ext.rb +2 -1
  4. data/lib/twitter_cldr/core_ext/array.rb +22 -0
  5. data/lib/twitter_cldr/core_ext/numbers/localized_number.rb +0 -1
  6. data/lib/twitter_cldr/core_ext/string.rb +10 -2
  7. data/lib/twitter_cldr/formatters/calendars/datetime_formatter.rb +4 -1
  8. data/lib/twitter_cldr/formatters/numbers/currency_formatter.rb +7 -2
  9. data/lib/twitter_cldr/formatters/numbers/decimal_formatter.rb +5 -1
  10. data/lib/twitter_cldr/formatters/numbers/number_formatter.rb +1 -1
  11. data/lib/twitter_cldr/formatters/numbers/percent_formatter.rb +5 -3
  12. data/lib/twitter_cldr/formatters/plurals/rules.rb +9 -5
  13. data/lib/twitter_cldr/normalizers/nfkd.rb +3 -1
  14. data/lib/twitter_cldr/shared.rb +2 -0
  15. data/lib/twitter_cldr/shared/calendar.rb +64 -0
  16. data/lib/twitter_cldr/shared/currencies.rb +6 -2
  17. data/lib/twitter_cldr/shared/languages.rb +10 -6
  18. data/lib/twitter_cldr/shared/numbers.rb +26 -0
  19. data/lib/twitter_cldr/shared/resources.rb +26 -9
  20. data/lib/twitter_cldr/shared/unicode_data.rb +26 -6
  21. data/lib/twitter_cldr/tokenizers/calendars/datetime_tokenizer.rb +5 -3
  22. data/lib/twitter_cldr/tokenizers/numbers/number_tokenizer.rb +1 -1
  23. data/lib/twitter_cldr/version.rb +1 -1
  24. data/resources/{ar → locales/ar}/calendars.yml +30 -33
  25. data/resources/{ar → locales/ar}/languages.yml +120 -118
  26. data/resources/{ar → locales/ar}/numbers.yml +8 -9
  27. data/resources/{ar → locales/ar}/plurals.yml +0 -0
  28. data/resources/{da → locales/da}/calendars.yml +24 -9
  29. data/resources/{da → locales/da}/languages.yml +14 -8
  30. data/resources/{da → locales/da}/numbers.yml +1 -2
  31. data/resources/{da → locales/da}/plurals.yml +0 -0
  32. data/resources/{de → locales/de}/calendars.yml +42 -8
  33. data/resources/{de → locales/de}/languages.yml +47 -42
  34. data/resources/{de → locales/de}/numbers.yml +1 -2
  35. data/resources/{de → locales/de}/plurals.yml +0 -0
  36. data/resources/{en → locales/en}/calendars.yml +16 -7
  37. data/resources/{en → locales/en}/languages.yml +53 -5
  38. data/resources/{en → locales/en}/numbers.yml +1 -2
  39. data/resources/{en → locales/en}/plurals.yml +0 -0
  40. data/resources/{es → locales/es}/calendars.yml +29 -15
  41. data/resources/{es → locales/es}/languages.yml +7 -5
  42. data/resources/{es → locales/es}/numbers.yml +3 -3
  43. data/resources/{es → locales/es}/plurals.yml +0 -0
  44. data/resources/{fa → locales/fa}/calendars.yml +87 -18
  45. data/resources/{fa → locales/fa}/languages.yml +13 -9
  46. data/resources/locales/fa/numbers.yml +29 -0
  47. data/resources/{fa → locales/fa}/plurals.yml +0 -0
  48. data/resources/{fi → locales/fi}/calendars.yml +64 -14
  49. data/resources/{fi → locales/fi}/languages.yml +47 -36
  50. data/resources/{fi → locales/fi}/numbers.yml +1 -2
  51. data/resources/{fi → locales/fi}/plurals.yml +0 -0
  52. data/resources/{fil → locales/fil}/calendars.yml +32 -23
  53. data/resources/{fil → locales/fil}/languages.yml +75 -22
  54. data/resources/{fil → locales/fil}/numbers.yml +1 -2
  55. data/resources/{fil → locales/fil}/plurals.yml +0 -0
  56. data/resources/{fr → locales/fr}/calendars.yml +54 -12
  57. data/resources/{fr → locales/fr}/languages.yml +5 -2
  58. data/resources/{fr → locales/fr}/numbers.yml +1 -2
  59. data/resources/{fr → locales/fr}/plurals.yml +0 -0
  60. data/resources/{he → locales/he}/calendars.yml +74 -38
  61. data/resources/{he → locales/he}/languages.yml +41 -26
  62. data/resources/{he → locales/he}/numbers.yml +1 -2
  63. data/resources/{he → locales/he}/plurals.yml +0 -0
  64. data/resources/{hi → locales/hi}/calendars.yml +36 -42
  65. data/resources/{hi → locales/hi}/languages.yml +8 -3
  66. data/resources/{hi → locales/hi}/numbers.yml +1 -2
  67. data/resources/{hi → locales/hi}/plurals.yml +0 -0
  68. data/resources/{hu → locales/hu}/calendars.yml +95 -19
  69. data/resources/{hu → locales/hu}/languages.yml +15 -4
  70. data/resources/{hu → locales/hu}/numbers.yml +1 -2
  71. data/resources/{hu → locales/hu}/plurals.yml +0 -0
  72. data/resources/{id → locales/id}/calendars.yml +56 -39
  73. data/resources/{id → locales/id}/languages.yml +148 -141
  74. data/resources/{id → locales/id}/numbers.yml +1 -2
  75. data/resources/{id → locales/id}/plurals.yml +0 -0
  76. data/resources/{it → locales/it}/calendars.yml +51 -15
  77. data/resources/{it → locales/it}/languages.yml +5 -5
  78. data/resources/{it → locales/it}/numbers.yml +2 -2
  79. data/resources/{it → locales/it}/plurals.yml +0 -0
  80. data/resources/{ja → locales/ja}/calendars.yml +26 -36
  81. data/resources/{ja → locales/ja}/languages.yml +29 -16
  82. data/resources/{ja → locales/ja}/numbers.yml +2 -3
  83. data/resources/{ja → locales/ja}/plurals.yml +0 -0
  84. data/resources/{ko → locales/ko}/calendars.yml +18 -9
  85. data/resources/{ko → locales/ko}/languages.yml +13 -10
  86. data/resources/{ko → locales/ko}/numbers.yml +1 -2
  87. data/resources/{ko → locales/ko}/plurals.yml +0 -0
  88. data/resources/{ms → locales/ms}/calendars.yml +91 -53
  89. data/resources/locales/ms/languages.yml +157 -0
  90. data/resources/{ms → locales/ms}/numbers.yml +1 -2
  91. data/resources/{ms → locales/ms}/plurals.yml +0 -0
  92. data/resources/{nl → locales/nl}/calendars.yml +38 -9
  93. data/resources/{nl → locales/nl}/languages.yml +28 -21
  94. data/resources/{nl → locales/nl}/numbers.yml +1 -2
  95. data/resources/{nl → locales/nl}/plurals.yml +0 -0
  96. data/resources/{no → locales/no}/calendars.yml +11 -6
  97. data/resources/{no → locales/no}/languages.yml +0 -0
  98. data/resources/{no → locales/no}/numbers.yml +1 -2
  99. data/resources/{no → locales/no}/plurals.yml +0 -0
  100. data/resources/{pl → locales/pl}/calendars.yml +80 -15
  101. data/resources/{pl → locales/pl}/languages.yml +6 -6
  102. data/resources/{pl → locales/pl}/numbers.yml +3 -2
  103. data/resources/{pl → locales/pl}/plurals.yml +0 -0
  104. data/resources/{pt → locales/pt}/calendars.yml +34 -8
  105. data/resources/{pt → locales/pt}/languages.yml +12 -4
  106. data/resources/{pt → locales/pt}/numbers.yml +1 -2
  107. data/resources/{pt → locales/pt}/plurals.yml +0 -0
  108. data/resources/{ru → locales/ru}/calendars.yml +69 -30
  109. data/resources/{ru → locales/ru}/languages.yml +18 -16
  110. data/resources/{ru → locales/ru}/numbers.yml +2 -3
  111. data/resources/{ru → locales/ru}/plurals.yml +0 -0
  112. data/resources/{sv → locales/sv}/calendars.yml +95 -15
  113. data/resources/{sv → locales/sv}/languages.yml +30 -8
  114. data/resources/{sv → locales/sv}/numbers.yml +1 -2
  115. data/resources/{sv → locales/sv}/plurals.yml +0 -0
  116. data/resources/{th → locales/th}/calendars.yml +89 -64
  117. data/resources/{th → locales/th}/languages.yml +5 -3
  118. data/resources/{th → locales/th}/numbers.yml +1 -2
  119. data/resources/{th → locales/th}/plurals.yml +0 -0
  120. data/resources/{tr → locales/tr}/calendars.yml +93 -19
  121. data/resources/{tr → locales/tr}/languages.yml +30 -28
  122. data/resources/{tr → locales/tr}/numbers.yml +2 -3
  123. data/resources/{tr → locales/tr}/plurals.yml +0 -0
  124. data/resources/{ur → locales/ur}/calendars.yml +33 -37
  125. data/resources/locales/ur/languages.yml +163 -0
  126. data/resources/{ur → locales/ur}/numbers.yml +1 -2
  127. data/resources/{ur → locales/ur}/plurals.yml +0 -0
  128. data/resources/{zh-Hant → locales/zh-Hant}/calendars.yml +76 -44
  129. data/resources/{zh-Hant → locales/zh-Hant}/languages.yml +122 -22
  130. data/resources/{zh-Hant → locales/zh-Hant}/numbers.yml +3 -4
  131. data/resources/{zh → locales/zh}/calendars.yml +81 -24
  132. data/resources/{zh → locales/zh}/languages.yml +13 -14
  133. data/resources/{zh → locales/zh}/numbers.yml +1 -2
  134. data/resources/{zh → locales/zh}/plurals.yml +0 -0
  135. data/spec/core_ext/array_spec.rb +16 -0
  136. data/spec/core_ext/calendars/date_spec.rb +6 -1
  137. data/spec/core_ext/calendars/datetime_spec.rb +6 -1
  138. data/spec/core_ext/calendars/time_spec.rb +6 -1
  139. data/spec/core_ext/numbers/localized_number_spec.rb +38 -8
  140. data/spec/core_ext/string_spec.rb +14 -1
  141. data/spec/formatters/numbers/number_formatter_spec.rb +3 -3
  142. data/spec/formatters/plurals/rules_spec.rb +3 -3
  143. data/spec/readme_spec.rb +190 -0
  144. data/spec/shared/calendar_spec.rb +133 -0
  145. data/spec/shared/numbers_spec.rb +35 -0
  146. data/spec/shared/resources_spec.rb +33 -15
  147. data/spec/tokenizers/calendars/date_tokenizer_spec.rb +37 -26
  148. data/spec/tokenizers/calendars/datetime_tokenizer_spec.rb +36 -29
  149. data/spec/tokenizers/calendars/time_tokenizer_spec.rb +22 -18
  150. data/spec/twitter_cldr_spec.rb +21 -7
  151. metadata +166 -114
  152. data/resources/fa/numbers.yml +0 -30
  153. data/resources/ms/languages.yml +0 -54
  154. data/resources/ur/languages.yml +0 -81
@@ -11,42 +11,53 @@ describe DateTokenizer do
11
11
  describe "#tokens" do
12
12
  it "should tokenize plaintext segments correctly (i.e. Spanish)" do
13
13
  tokenizer = DateTokenizer.new(:locale => :es)
14
- got = tokenizer.tokens(:type => :full)
15
- expected = [{ :value => "EEEE", :type => :pattern },
16
- { :value => " ", :type => :plaintext },
17
- { :value => "d", :type => :pattern },
18
- { :value => " ", :type => :plaintext },
19
- { :value => "'de'", :type => :plaintext },
20
- { :value => " ", :type => :plaintext },
21
- { :value => "MMMM", :type => :pattern },
22
- { :value => " ", :type => :plaintext },
23
- { :value => "'de'", :type => :plaintext },
24
- { :value => " ", :type => :plaintext },
25
- { :value => "y", :type => :pattern }]
14
+ got = tokenizer.tokens(:type => :full)
15
+ expected = [
16
+ { :value => "EEEE", :type => :pattern },
17
+ { :value => ", ", :type => :plaintext },
18
+ { :value => "d", :type => :pattern },
19
+ { :value => " ", :type => :plaintext },
20
+ { :value => "'de'", :type => :plaintext },
21
+ { :value => " ", :type => :plaintext },
22
+ { :value => "MMMM", :type => :pattern },
23
+ { :value => " ", :type => :plaintext },
24
+ { :value => "'de'", :type => :plaintext },
25
+ { :value => " ", :type => :plaintext },
26
+ { :value => "y", :type => :pattern }
27
+ ]
26
28
  check_token_list(got, expected)
27
29
  end
28
30
 
29
31
  it "should tokenize patterns with non-latin characters correctly (i.e. Japanese)" do
30
32
  tokenizer = DateTokenizer.new(:locale => :ja)
31
- got = tokenizer.tokens(:type => :full)
32
- expected = [{ :value => "y", :type => :pattern },
33
- { :value => "", :type => :plaintext },
34
- { :value => "M", :type => :pattern },
35
- { :value => "", :type => :plaintext },
36
- { :value => "d", :type => :pattern },
37
- { :value => "", :type => :plaintext },
38
- { :value => "EEEE", :type => :pattern }]
33
+ got = tokenizer.tokens(:type => :full)
34
+ expected = [
35
+ { :value => "y", :type => :pattern },
36
+ { :value => "", :type => :plaintext },
37
+ { :value => "M", :type => :pattern },
38
+ { :value => "", :type => :plaintext },
39
+ { :value => "d", :type => :pattern },
40
+ { :value => "", :type => :plaintext },
41
+ { :value => "EEEE", :type => :pattern }
42
+ ]
39
43
  check_token_list(got, expected)
40
44
  end
41
45
 
42
46
  it "should tokenize composites correctly" do
47
+ # Ensure that buddhist calendar data is present in th locale.
48
+ TwitterCldr.get_locale_resource(:th, :calendars)[:th][:calendars][:buddhist].should_not(
49
+ be_nil, 'buddhist calendar is missing for :th locale (check resources/locales/th/calendars.yml)'
50
+ )
51
+
43
52
  tokenizer = DateTokenizer.new(:locale => :th, :calendar_type => :buddhist)
44
- got = tokenizer.tokens(:type => :long)
45
- expected = [{ :value => "d", :type => :pattern },
46
- { :value => " ", :type => :plaintext },
47
- { :value => "MMMM", :type => :pattern },
48
- { :value => " พ.ศ. ", :type => :plaintext },
49
- { :to_s => "y + 543", :type => :composite }]
53
+ got = tokenizer.tokens(:type => :long)
54
+ expected = [
55
+ { :value => "d", :type => :pattern },
56
+ { :value => " ", :type => :plaintext },
57
+ { :value => "MMMM", :type => :pattern },
58
+ { :value => " พ.ศ. ", :type => :plaintext },
59
+ { :to_s => "y + 543", :type => :composite }
60
+ ]
50
61
  check_token_list(got, expected)
51
62
  end
52
63
  end
@@ -16,10 +16,10 @@ describe DateTimeTokenizer do
16
16
 
17
17
  it "initializes individual date and time placeholder tokenizers" do
18
18
  placeholders = DateTimeTokenizer.new.placeholders
19
- placeholders[0][:name].should == :date
20
- placeholders[0][:object].should be_a(DateTokenizer)
21
- placeholders[1][:name].should == :time
22
- placeholders[1][:object].should be_a(TimeTokenizer)
19
+ placeholders[0][:name].should == :time
20
+ placeholders[0][:object].should be_a(TimeTokenizer)
21
+ placeholders[1][:name].should == :date
22
+ placeholders[1][:object].should be_a(DateTokenizer)
23
23
  end
24
24
  end
25
25
 
@@ -32,37 +32,44 @@ describe DateTimeTokenizer do
32
32
 
33
33
  it "should expand date and time placeholders and return the correct list of tokens" do
34
34
  tokenizer = DateTimeTokenizer.new(:locale => :es)
35
- got = tokenizer.tokens(:type => :full)
36
- expected = [{ :value => "HH", :type => :pattern },
37
- { :value => ":", :type => :plaintext },
38
- { :value => "mm", :type => :pattern },
39
- { :value => ":", :type => :plaintext },
40
- { :value => "ss", :type => :pattern },
41
- { :value => " ", :type => :plaintext },
42
- { :value => "zzzz", :type => :pattern },
43
- { :value => " ", :type => :plaintext },
44
- { :value => "EEEE", :type => :pattern },
45
- { :value => " ", :type => :plaintext },
46
- { :value => "d", :type => :pattern },
47
- { :value => " ", :type => :plaintext },
48
- { :value => "'de'", :type => :plaintext },
49
- { :value => " ", :type => :plaintext },
50
- { :value => "MMMM", :type => :pattern },
51
- { :value => " ", :type => :plaintext },
52
- { :value => "'de'", :type => :plaintext },
53
- { :value => " ", :type => :plaintext },
54
- { :value => "y", :type => :pattern }]
35
+ got = tokenizer.tokens(:type => :full)
36
+ expected = [
37
+ { :value => "EEEE", :type => :pattern },
38
+ { :value => ", ", :type => :plaintext },
39
+ { :value => "d", :type => :pattern },
40
+ { :value => " ", :type => :plaintext },
41
+ { :value => "'de'", :type => :plaintext },
42
+ { :value => " ", :type => :plaintext },
43
+ { :value => "MMMM", :type => :pattern },
44
+ { :value => " ", :type => :plaintext },
45
+ { :value => "'de'", :type => :plaintext },
46
+ { :value => " ", :type => :plaintext },
47
+ { :value => "y", :type => :pattern },
48
+ { :value => " ", :type => :plaintext },
49
+ { :value => "HH", :type => :pattern },
50
+ { :value => ":", :type => :plaintext },
51
+ { :value => "mm", :type => :pattern },
52
+ { :value => ":", :type => :plaintext },
53
+ { :value => "ss", :type => :pattern },
54
+ { :value => " ", :type => :plaintext },
55
+ { :value => "zzzz", :type => :pattern },
56
+ ]
55
57
  check_token_list(got, expected)
56
58
  end
57
59
  end
58
60
 
59
61
  describe "#mirror_resource" do
60
62
  it "should add only the missing keys" do
61
- from = {:a => 1,
62
- :b => { :c => 2, :d => 3},
63
- :e => { :f => 4}}
64
- to = {:b => { :c => 100 },
65
- :e => 101}
63
+ from = {
64
+ :a => 1,
65
+ :b => { :c => 2, :d => 3 },
66
+ :e => { :f => 4 }
67
+ }
68
+
69
+ to = {
70
+ :b => { :c => 100 },
71
+ :e => 101
72
+ }
66
73
 
67
74
  tokenizer = DateTimeTokenizer.new
68
75
  tokenizer.send(:mirror_resource, :from => from, :to => to)
@@ -11,29 +11,33 @@ describe DateTokenizer do
11
11
  describe "#tokens" do
12
12
  it "should tokenize a time string correctly (i.e. German)" do
13
13
  tokenizer = TimeTokenizer.new(:locale => :de)
14
- got = tokenizer.tokens(:type => :full)
15
- expected = [{ :value => "HH", :type => :pattern },
16
- { :value => ":", :type => :plaintext },
17
- { :value => "mm", :type => :pattern },
18
- { :value => ":", :type => :plaintext },
19
- { :value => "ss", :type => :pattern },
20
- { :value => " ", :type => :plaintext },
21
- { :value => "zzzz", :type => :pattern }]
14
+ got = tokenizer.tokens(:type => :full)
15
+ expected = [
16
+ { :value => "HH", :type => :pattern },
17
+ { :value => ":", :type => :plaintext },
18
+ { :value => "mm", :type => :pattern },
19
+ { :value => ":", :type => :plaintext },
20
+ { :value => "ss", :type => :pattern },
21
+ { :value => " ", :type => :plaintext },
22
+ { :value => "zzzz", :type => :pattern }
23
+ ]
22
24
  check_token_list(got, expected)
23
25
  end
24
26
 
25
27
  it "should tokenize patterns with non-latin characters correctly (i.e. Korean)" do
26
28
  tokenizer = TimeTokenizer.new(:locale => :ko)
27
- got = tokenizer.tokens(:type => :full)
28
- expected = [{ :value => "a", :type => :pattern },
29
- { :value => " ", :type => :plaintext },
30
- { :value => "hh", :type => :pattern },
31
- { :value => "", :type => :plaintext },
32
- { :value => "mm", :type => :pattern },
33
- { :value => "", :type => :plaintext },
34
- { :value => "ss", :type => :pattern },
35
- { :value => "", :type => :plaintext },
36
- { :value => "zzzz", :type => :pattern }]
29
+ got = tokenizer.tokens(:type => :full)
30
+ expected = [
31
+ { :value => "a", :type => :pattern },
32
+ { :value => " ", :type => :plaintext },
33
+ { :value => "h", :type => :pattern },
34
+ { :value => "", :type => :plaintext },
35
+ { :value => "m", :type => :pattern },
36
+ { :value => "", :type => :plaintext },
37
+ { :value => "s", :type => :pattern },
38
+ { :value => "", :type => :plaintext },
39
+ { :value => "zzzz", :type => :pattern }
40
+ ]
37
41
  check_token_list(got, expected)
38
42
  end
39
43
  end
@@ -32,6 +32,10 @@ describe TwitterCldr do
32
32
  locales.should include(:no)
33
33
  locales.should include(:ja)
34
34
  end
35
+
36
+ it 'should not include :shared or :unicode_data' do
37
+ (TwitterCldr.supported_locales & [:shared, :unicode_data]).should be_empty
38
+ end
35
39
  end
36
40
 
37
41
  describe "#convert_locale" do
@@ -57,21 +61,31 @@ describe TwitterCldr do
57
61
  end
58
62
 
59
63
  describe '#resources' do
60
- it 'returns @@resources' do
64
+ it 'returns @resources' do
61
65
  resources = TwitterCldr::Shared::Resources.new
62
- TwitterCldr.send :class_variable_set, :@@resources, resources
66
+ TwitterCldr.send :instance_variable_set, :@resources, resources
63
67
 
64
68
  TwitterCldr.resources.should == resources
65
69
  end
66
70
  end
67
71
 
72
+ let(:resources) { TwitterCldr::Shared::Resources.new }
73
+
68
74
  describe '#get_resource' do
69
- it 'delegates to @@resources' do
70
- resources = TwitterCldr::Shared::Resources.new
71
- mock(resources).resource_for('locale', 'resource') { 'result' }
72
- TwitterCldr.send :class_variable_set, :@@resources, resources
75
+ it 'delegates to resources' do
76
+ stub(resources).get_resource(:shared, :currencies) { 'result' }
77
+ stub(TwitterCldr).resources { resources }
78
+
79
+ TwitterCldr.get_resource(:shared, :currencies).should == 'result'
80
+ end
81
+ end
82
+
83
+ describe '#get_locale_resource' do
84
+ it 'delegates to resources' do
85
+ stub(resources).get_locale_resource(:de, :numbers) { 'result' }
86
+ stub(TwitterCldr).resources { resources }
73
87
 
74
- TwitterCldr.get_resource('locale', 'resource').should == 'result'
88
+ TwitterCldr.get_locale_resource(:de, :numbers).should == 'result'
75
89
  end
76
90
  end
77
91
  end
metadata CHANGED
@@ -1,8 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twitter_cldr
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 27
4
5
  prerelease:
5
- version: 1.2.0
6
+ segments:
7
+ - 1
8
+ - 3
9
+ - 0
10
+ version: 1.3.0
6
11
  platform: ruby
7
12
  authors:
8
13
  - Cameron Dutro
@@ -10,7 +15,7 @@ autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
17
 
13
- date: 2012-05-21 00:00:00 Z
18
+ date: 2012-06-01 00:00:00 Z
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: json
@@ -20,6 +25,11 @@ dependencies:
20
25
  requirements:
21
26
  - - ~>
22
27
  - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 1
31
+ - 6
32
+ - 6
23
33
  version: 1.6.6
24
34
  type: :runtime
25
35
  version_requirements: *id001
@@ -31,6 +41,11 @@ dependencies:
31
41
  requirements:
32
42
  - - ~>
33
43
  - !ruby/object:Gem::Version
44
+ hash: 43
45
+ segments:
46
+ - 2
47
+ - 9
48
+ - 0
34
49
  version: 2.9.0
35
50
  type: :development
36
51
  version_requirements: *id002
@@ -42,6 +57,11 @@ dependencies:
42
57
  requirements:
43
58
  - - ~>
44
59
  - !ruby/object:Gem::Version
60
+ hash: 31
61
+ segments:
62
+ - 1
63
+ - 0
64
+ - 4
45
65
  version: 1.0.4
46
66
  type: :development
47
67
  version_requirements: *id003
@@ -53,9 +73,28 @@ dependencies:
53
73
  requirements:
54
74
  - - ~>
55
75
  - !ruby/object:Gem::Version
76
+ hash: 63
77
+ segments:
78
+ - 0
79
+ - 9
80
+ - 2
56
81
  version: 0.9.2
57
82
  type: :development
58
83
  version_requirements: *id004
84
+ - !ruby/object:Gem::Dependency
85
+ name: rcov
86
+ prerelease: false
87
+ requirement: &id005 !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ hash: 3
93
+ segments:
94
+ - 0
95
+ version: "0"
96
+ type: :development
97
+ version_requirements: *id005
59
98
  description: Provides date, time, number, and list formatting functionality for various Twitter-supported locales in Ruby and Javascript.
60
99
  email:
61
100
  - cdutro@twitter.com
@@ -70,6 +109,7 @@ files:
70
109
  - README.md
71
110
  - NOTICE
72
111
  - Rakefile
112
+ - lib/twitter_cldr/core_ext/array.rb
73
113
  - lib/twitter_cldr/core_ext/calendars/date.rb
74
114
  - lib/twitter_cldr/core_ext/calendars/datetime.rb
75
115
  - lib/twitter_cldr/core_ext/calendars/time.rb
@@ -100,8 +140,10 @@ files:
100
140
  - lib/twitter_cldr/normalizers/nfd.rb
101
141
  - lib/twitter_cldr/normalizers/nfkd.rb
102
142
  - lib/twitter_cldr/normalizers.rb
143
+ - lib/twitter_cldr/shared/calendar.rb
103
144
  - lib/twitter_cldr/shared/currencies.rb
104
145
  - lib/twitter_cldr/shared/languages.rb
146
+ - lib/twitter_cldr/shared/numbers.rb
105
147
  - lib/twitter_cldr/shared/resources.rb
106
148
  - lib/twitter_cldr/shared/timezones.rb
107
149
  - lib/twitter_cldr/shared/unicode_data.rb
@@ -120,6 +162,7 @@ files:
120
162
  - lib/twitter_cldr/utils.rb
121
163
  - lib/twitter_cldr/version.rb
122
164
  - lib/twitter_cldr.rb
165
+ - spec/core_ext/array_spec.rb
123
166
  - spec/core_ext/calendars/date_spec.rb
124
167
  - spec/core_ext/calendars/datetime_spec.rb
125
168
  - spec/core_ext/calendars/time_spec.rb
@@ -143,8 +186,11 @@ files:
143
186
  - spec/normalizers/normalization_spec.rb
144
187
  - spec/normalizers/NormalizationTest.txt
145
188
  - spec/normalizers/NormalizationTestShort.txt
189
+ - spec/readme_spec.rb
190
+ - spec/shared/calendar_spec.rb
146
191
  - spec/shared/currencies_spec.rb
147
192
  - spec/shared/languages_spec.rb
193
+ - spec/shared/numbers_spec.rb
148
194
  - spec/shared/resources_spec.rb
149
195
  - spec/shared/unicode_data_spec.rb
150
196
  - spec/spec_helper.rb
@@ -160,107 +206,118 @@ files:
160
206
  - spec/utils/code_point_spec.rb
161
207
  - spec/utils/interpolation_spec.rb
162
208
  - spec/utils_spec.rb
163
- - resources/ar/calendars.yml
164
- - resources/ar/languages.yml
165
- - resources/ar/numbers.yml
166
- - resources/ar/plurals.yml
167
- - resources/da/calendars.yml
168
- - resources/da/languages.yml
169
- - resources/da/numbers.yml
170
- - resources/da/plurals.yml
171
- - resources/de/calendars.yml
172
- - resources/de/languages.yml
173
- - resources/de/numbers.yml
174
- - resources/de/plurals.yml
175
- - resources/en/calendars.yml
176
- - resources/en/languages.yml
177
- - resources/en/numbers.yml
178
- - resources/en/plurals.yml
179
- - resources/es/calendars.yml
180
- - resources/es/languages.yml
181
- - resources/es/numbers.yml
182
- - resources/es/plurals.yml
183
- - resources/fa/calendars.yml
184
- - resources/fa/languages.yml
185
- - resources/fa/numbers.yml
186
- - resources/fa/plurals.yml
187
- - resources/fi/calendars.yml
188
- - resources/fi/languages.yml
189
- - resources/fi/numbers.yml
190
- - resources/fi/plurals.yml
191
- - resources/fil/calendars.yml
192
- - resources/fil/languages.yml
193
- - resources/fil/numbers.yml
194
- - resources/fil/plurals.yml
195
- - resources/fr/calendars.yml
196
- - resources/fr/languages.yml
197
- - resources/fr/numbers.yml
198
- - resources/fr/plurals.yml
199
- - resources/he/calendars.yml
200
- - resources/he/languages.yml
201
- - resources/he/numbers.yml
202
- - resources/he/plurals.yml
203
- - resources/hi/calendars.yml
204
- - resources/hi/languages.yml
205
- - resources/hi/numbers.yml
206
- - resources/hi/plurals.yml
207
- - resources/hu/calendars.yml
208
- - resources/hu/languages.yml
209
- - resources/hu/numbers.yml
210
- - resources/hu/plurals.yml
211
- - resources/id/calendars.yml
212
- - resources/id/languages.yml
213
- - resources/id/numbers.yml
214
- - resources/id/plurals.yml
215
- - resources/it/calendars.yml
216
- - resources/it/languages.yml
217
- - resources/it/numbers.yml
218
- - resources/it/plurals.yml
219
- - resources/ja/calendars.yml
220
- - resources/ja/languages.yml
221
- - resources/ja/numbers.yml
222
- - resources/ja/plurals.yml
223
- - resources/ko/calendars.yml
224
- - resources/ko/languages.yml
225
- - resources/ko/numbers.yml
226
- - resources/ko/plurals.yml
227
- - resources/ms/calendars.yml
228
- - resources/ms/languages.yml
229
- - resources/ms/numbers.yml
230
- - resources/ms/plurals.yml
231
- - resources/nl/calendars.yml
232
- - resources/nl/languages.yml
233
- - resources/nl/numbers.yml
234
- - resources/nl/plurals.yml
235
- - resources/no/calendars.yml
236
- - resources/no/languages.yml
237
- - resources/no/numbers.yml
238
- - resources/no/plurals.yml
239
- - resources/pl/calendars.yml
240
- - resources/pl/languages.yml
241
- - resources/pl/numbers.yml
242
- - resources/pl/plurals.yml
243
- - resources/pt/calendars.yml
244
- - resources/pt/languages.yml
245
- - resources/pt/numbers.yml
246
- - resources/pt/plurals.yml
247
- - resources/ru/calendars.yml
248
- - resources/ru/languages.yml
249
- - resources/ru/numbers.yml
250
- - resources/ru/plurals.yml
209
+ - resources/locales/ar/calendars.yml
210
+ - resources/locales/ar/languages.yml
211
+ - resources/locales/ar/numbers.yml
212
+ - resources/locales/ar/plurals.yml
213
+ - resources/locales/da/calendars.yml
214
+ - resources/locales/da/languages.yml
215
+ - resources/locales/da/numbers.yml
216
+ - resources/locales/da/plurals.yml
217
+ - resources/locales/de/calendars.yml
218
+ - resources/locales/de/languages.yml
219
+ - resources/locales/de/numbers.yml
220
+ - resources/locales/de/plurals.yml
221
+ - resources/locales/en/calendars.yml
222
+ - resources/locales/en/languages.yml
223
+ - resources/locales/en/numbers.yml
224
+ - resources/locales/en/plurals.yml
225
+ - resources/locales/es/calendars.yml
226
+ - resources/locales/es/languages.yml
227
+ - resources/locales/es/numbers.yml
228
+ - resources/locales/es/plurals.yml
229
+ - resources/locales/fa/calendars.yml
230
+ - resources/locales/fa/languages.yml
231
+ - resources/locales/fa/numbers.yml
232
+ - resources/locales/fa/plurals.yml
233
+ - resources/locales/fi/calendars.yml
234
+ - resources/locales/fi/languages.yml
235
+ - resources/locales/fi/numbers.yml
236
+ - resources/locales/fi/plurals.yml
237
+ - resources/locales/fil/calendars.yml
238
+ - resources/locales/fil/languages.yml
239
+ - resources/locales/fil/numbers.yml
240
+ - resources/locales/fil/plurals.yml
241
+ - resources/locales/fr/calendars.yml
242
+ - resources/locales/fr/languages.yml
243
+ - resources/locales/fr/numbers.yml
244
+ - resources/locales/fr/plurals.yml
245
+ - resources/locales/he/calendars.yml
246
+ - resources/locales/he/languages.yml
247
+ - resources/locales/he/numbers.yml
248
+ - resources/locales/he/plurals.yml
249
+ - resources/locales/hi/calendars.yml
250
+ - resources/locales/hi/languages.yml
251
+ - resources/locales/hi/numbers.yml
252
+ - resources/locales/hi/plurals.yml
253
+ - resources/locales/hu/calendars.yml
254
+ - resources/locales/hu/languages.yml
255
+ - resources/locales/hu/numbers.yml
256
+ - resources/locales/hu/plurals.yml
257
+ - resources/locales/id/calendars.yml
258
+ - resources/locales/id/languages.yml
259
+ - resources/locales/id/numbers.yml
260
+ - resources/locales/id/plurals.yml
261
+ - resources/locales/it/calendars.yml
262
+ - resources/locales/it/languages.yml
263
+ - resources/locales/it/numbers.yml
264
+ - resources/locales/it/plurals.yml
265
+ - resources/locales/ja/calendars.yml
266
+ - resources/locales/ja/languages.yml
267
+ - resources/locales/ja/numbers.yml
268
+ - resources/locales/ja/plurals.yml
269
+ - resources/locales/ko/calendars.yml
270
+ - resources/locales/ko/languages.yml
271
+ - resources/locales/ko/numbers.yml
272
+ - resources/locales/ko/plurals.yml
273
+ - resources/locales/ms/calendars.yml
274
+ - resources/locales/ms/languages.yml
275
+ - resources/locales/ms/numbers.yml
276
+ - resources/locales/ms/plurals.yml
277
+ - resources/locales/nl/calendars.yml
278
+ - resources/locales/nl/languages.yml
279
+ - resources/locales/nl/numbers.yml
280
+ - resources/locales/nl/plurals.yml
281
+ - resources/locales/no/calendars.yml
282
+ - resources/locales/no/languages.yml
283
+ - resources/locales/no/numbers.yml
284
+ - resources/locales/no/plurals.yml
285
+ - resources/locales/pl/calendars.yml
286
+ - resources/locales/pl/languages.yml
287
+ - resources/locales/pl/numbers.yml
288
+ - resources/locales/pl/plurals.yml
289
+ - resources/locales/pt/calendars.yml
290
+ - resources/locales/pt/languages.yml
291
+ - resources/locales/pt/numbers.yml
292
+ - resources/locales/pt/plurals.yml
293
+ - resources/locales/ru/calendars.yml
294
+ - resources/locales/ru/languages.yml
295
+ - resources/locales/ru/numbers.yml
296
+ - resources/locales/ru/plurals.yml
297
+ - resources/locales/sv/calendars.yml
298
+ - resources/locales/sv/languages.yml
299
+ - resources/locales/sv/numbers.yml
300
+ - resources/locales/sv/plurals.yml
301
+ - resources/locales/th/calendars.yml
302
+ - resources/locales/th/languages.yml
303
+ - resources/locales/th/numbers.yml
304
+ - resources/locales/th/plurals.yml
305
+ - resources/locales/tr/calendars.yml
306
+ - resources/locales/tr/languages.yml
307
+ - resources/locales/tr/numbers.yml
308
+ - resources/locales/tr/plurals.yml
309
+ - resources/locales/ur/calendars.yml
310
+ - resources/locales/ur/languages.yml
311
+ - resources/locales/ur/numbers.yml
312
+ - resources/locales/ur/plurals.yml
313
+ - resources/locales/zh/calendars.yml
314
+ - resources/locales/zh/languages.yml
315
+ - resources/locales/zh/numbers.yml
316
+ - resources/locales/zh/plurals.yml
317
+ - resources/locales/zh-Hant/calendars.yml
318
+ - resources/locales/zh-Hant/languages.yml
319
+ - resources/locales/zh-Hant/numbers.yml
251
320
  - resources/shared/currencies.yml
252
- - resources/sv/calendars.yml
253
- - resources/sv/languages.yml
254
- - resources/sv/numbers.yml
255
- - resources/sv/plurals.yml
256
- - resources/th/calendars.yml
257
- - resources/th/languages.yml
258
- - resources/th/numbers.yml
259
- - resources/th/plurals.yml
260
- - resources/tr/calendars.yml
261
- - resources/tr/languages.yml
262
- - resources/tr/numbers.yml
263
- - resources/tr/plurals.yml
264
321
  - resources/unicode_data/aegean_numbers.yml
265
322
  - resources/unicode_data/alchemical_symbols.yml
266
323
  - resources/unicode_data/alphabetic_presentation_forms.yml
@@ -482,17 +539,6 @@ files:
482
539
  - resources/unicode_data/yi_radicals.yml
483
540
  - resources/unicode_data/yi_syllables.yml
484
541
  - resources/unicode_data/yijing_hexagram_symbols.yml
485
- - resources/ur/calendars.yml
486
- - resources/ur/languages.yml
487
- - resources/ur/numbers.yml
488
- - resources/ur/plurals.yml
489
- - resources/zh/calendars.yml
490
- - resources/zh/languages.yml
491
- - resources/zh/numbers.yml
492
- - resources/zh/plurals.yml
493
- - resources/zh-Hant/calendars.yml
494
- - resources/zh-Hant/languages.yml
495
- - resources/zh-Hant/numbers.yml
496
542
  homepage: http://twitter.com
497
543
  licenses: []
498
544
 
@@ -506,17 +552,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
506
552
  requirements:
507
553
  - - ">="
508
554
  - !ruby/object:Gem::Version
555
+ hash: 3
556
+ segments:
557
+ - 0
509
558
  version: "0"
510
559
  required_rubygems_version: !ruby/object:Gem::Requirement
511
560
  none: false
512
561
  requirements:
513
562
  - - ">="
514
563
  - !ruby/object:Gem::Version
564
+ hash: 3
565
+ segments:
566
+ - 0
515
567
  version: "0"
516
568
  requirements: []
517
569
 
518
570
  rubyforge_project:
519
- rubygems_version: 1.8.17
571
+ rubygems_version: 1.8.10
520
572
  signing_key:
521
573
  specification_version: 3
522
574
  summary: Text formatting using data from Unicode's Common Locale Data Repository (CLDR).