twitter_cldr 1.2.0 → 1.3.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 (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).