singleton-cldr-rb 0.0.6 → 0.0.7
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.
- checksums.yaml +4 -4
- data/lib/sgtn-cldr/cldr/localized_date.rb +8 -8
- data/lib/sgtn-cldr/cldr/localized_datetime.rb +5 -11
- data/lib/sgtn-cldr/cldr/localized_time.rb +4 -4
- data/lib/sgtn-cldr/formatters/plurals/plural_formatter.rb +26 -0
- data/lib/version.rb +1 -1
- data/spec/unit/datetime_spec.rb +18 -18
- data/spec/unit/plural_spec.rb +5 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d25719965f417362efd0275285f560fa415a2a879c77d5304406a27d2e87d030
|
4
|
+
data.tar.gz: bc7983ea4c2f89241b5fac24a4aec217872d290cbba26a1e032a80ebd5e44105
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 013c74b43588bbb2246c7231d9dae919775df89607f7489489c5a87d7e1bc3549c931e3b52cfdba8e7c65d8eb42f170cadc835ff86d674a0d8401b03422740b9
|
7
|
+
data.tar.gz: c55dedf91585fad5915d1c60dfd042f07611ff3944227de62c3c4ae535e302dd0303850dc2719156fbe30b5cc4c5601b5f9d8f768b1038ec93e4f2535fe87188
|
@@ -2,26 +2,26 @@ require 'date'
|
|
2
2
|
require 'time'
|
3
3
|
|
4
4
|
Date.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
5
|
-
def
|
6
|
-
self.to_datetime().to_date().to_full_s
|
5
|
+
def l_full_s(locale = TwitterCldr.locale)
|
6
|
+
self.to_datetime().localize(locale).to_date().to_full_s
|
7
7
|
end
|
8
8
|
LOCALIZE
|
9
9
|
|
10
10
|
Date.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
11
|
-
def
|
12
|
-
self.to_datetime().to_date().to_long_s
|
11
|
+
def l_long_s(locale = TwitterCldr.locale)
|
12
|
+
self.to_datetime().localize(locale).to_date().to_long_s
|
13
13
|
end
|
14
14
|
LOCALIZE
|
15
15
|
|
16
16
|
Date.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
17
|
-
def
|
18
|
-
self.to_datetime().to_date().to_medium_s
|
17
|
+
def l_medium_s(locale = TwitterCldr.locale)
|
18
|
+
self.to_datetime().localize(locale).to_date().to_medium_s
|
19
19
|
end
|
20
20
|
LOCALIZE
|
21
21
|
|
22
22
|
|
23
23
|
Date.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
24
|
-
def
|
25
|
-
self.to_datetime().to_date().to_short_s
|
24
|
+
def l_short_s(locale = TwitterCldr.locale)
|
25
|
+
self.to_datetime().localize(locale).to_date().to_short_s
|
26
26
|
end
|
27
27
|
LOCALIZE
|
@@ -2,32 +2,26 @@ require 'date'
|
|
2
2
|
require 'time'
|
3
3
|
|
4
4
|
DateTime.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
5
|
-
def
|
5
|
+
def l_full_s(locale = TwitterCldr.locale)
|
6
6
|
self.localize(locale).to_full_s
|
7
7
|
end
|
8
8
|
LOCALIZE
|
9
9
|
|
10
10
|
DateTime.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
11
|
-
def
|
11
|
+
def l_long_s(locale = TwitterCldr.locale)
|
12
12
|
self.localize(locale).to_long_s
|
13
13
|
end
|
14
14
|
LOCALIZE
|
15
15
|
|
16
16
|
DateTime.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
17
|
-
def
|
17
|
+
def l_medium_s(locale = TwitterCldr.locale)
|
18
18
|
self.localize(locale).to_medium_s
|
19
19
|
end
|
20
20
|
LOCALIZE
|
21
21
|
|
22
22
|
|
23
23
|
DateTime.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
24
|
-
def
|
24
|
+
def l_short_s(locale = TwitterCldr.locale)
|
25
25
|
self.localize(locale).to_short_s
|
26
26
|
end
|
27
|
-
LOCALIZE
|
28
|
-
|
29
|
-
DateTime.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
30
|
-
def to_date(locale = TwitterCldr.locale)
|
31
|
-
self.localize(locale).to_date
|
32
|
-
end
|
33
|
-
LOCALIZE
|
27
|
+
LOCALIZE
|
@@ -2,26 +2,26 @@ require 'date'
|
|
2
2
|
require 'time'
|
3
3
|
|
4
4
|
Time.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
5
|
-
def
|
5
|
+
def l_full_s(locale = TwitterCldr.locale)
|
6
6
|
self.localize(locale).to_full_s
|
7
7
|
end
|
8
8
|
LOCALIZE
|
9
9
|
|
10
10
|
Time.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
11
|
-
def
|
11
|
+
def l_long_s(locale = TwitterCldr.locale)
|
12
12
|
self.localize(locale).to_long_s
|
13
13
|
end
|
14
14
|
LOCALIZE
|
15
15
|
|
16
16
|
Time.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
17
|
-
def
|
17
|
+
def l_medium_s(locale = TwitterCldr.locale)
|
18
18
|
self.localize(locale).to_medium_s
|
19
19
|
end
|
20
20
|
LOCALIZE
|
21
21
|
|
22
22
|
|
23
23
|
Time.class_eval <<-LOCALIZE, __FILE__, __LINE__ + 1
|
24
|
-
def
|
24
|
+
def l_short_s(locale = TwitterCldr.locale)
|
25
25
|
self.localize(locale).to_short_s
|
26
26
|
end
|
27
27
|
LOCALIZE
|
@@ -10,6 +10,25 @@ module SgtnCldr
|
|
10
10
|
@locale = TwitterCldr.convert_locale(locale)
|
11
11
|
end
|
12
12
|
|
13
|
+
def deep_symbolize_keys(arg)
|
14
|
+
#puts 3221
|
15
|
+
case arg
|
16
|
+
when Array
|
17
|
+
# puts 44
|
18
|
+
arg.map { |elem| deep_symbolize_keys(elem) }
|
19
|
+
when Hash
|
20
|
+
# puts 77
|
21
|
+
# puts arg
|
22
|
+
# Hash[arg.map { |k, v| [k.is_a?(String) ? k.to_sym : k, deep_symbolize_keys(v)] }]
|
23
|
+
# puts arg
|
24
|
+
Hash[arg.map { |k, v| [k.is_a?(String) ? k.to_sym : k, deep_symbolize_keys(v)] }]
|
25
|
+
else
|
26
|
+
# puts 99
|
27
|
+
# puts arg
|
28
|
+
arg
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
13
32
|
def num_s(string, replacements)
|
14
33
|
reg = Regexp.union(
|
15
34
|
/%<(\{.*?\})>/
|
@@ -26,6 +45,13 @@ module SgtnCldr
|
|
26
45
|
raise ArgumentError.new('invalide format')
|
27
46
|
end
|
28
47
|
count = replacements[count_placeholder.to_sym].to_s
|
48
|
+
puts 11
|
49
|
+
puts count
|
50
|
+
puts patterns
|
51
|
+
puts deep_symbolize_keys(patterns)[count.to_sym]
|
52
|
+
puts 0
|
53
|
+
puts locale
|
54
|
+
puts TwitterCldr::Formatters::Plurals::Rules.rule_for(count, locale)
|
29
55
|
if patterns.is_a?(Hash)
|
30
56
|
return TwitterCldr::Utils.deep_symbolize_keys(patterns)[count.to_sym]
|
31
57
|
else
|
data/lib/version.rb
CHANGED
data/spec/unit/datetime_spec.rb
CHANGED
@@ -9,34 +9,34 @@ describe SgtnCldr do
|
|
9
9
|
|
10
10
|
it "DateTime" do
|
11
11
|
d = DateTime.new(2007,11,19,8,37,48,"-06:00")
|
12
|
-
expect(d.
|
13
|
-
expect(d.
|
14
|
-
expect(d.
|
15
|
-
expect(d.
|
12
|
+
expect(d.l_full_s(:es)).to eq 'lunes, 19 de noviembre de 2007, 14:37:48 (tiempo universal coordinado)'
|
13
|
+
expect(d.l_long_s(:es)).to eq '19 de noviembre de 2007, 14:37:48 UTC'
|
14
|
+
expect(d.l_medium_s(:es)).to eq '19 nov 2007 14:37:48'
|
15
|
+
expect(d.l_short_s(:es)).to eq '19/11/07 14:37'
|
16
16
|
end
|
17
17
|
|
18
|
-
it "
|
18
|
+
it "Date" do
|
19
19
|
d = Date.new(2001,2,3)
|
20
|
-
expect(d.
|
21
|
-
expect(d.
|
22
|
-
expect(d.
|
23
|
-
expect(d.
|
20
|
+
expect(d.l_full_s(:es)).to eq 'sábado, 3 de febrero de 2001'
|
21
|
+
expect(d.l_long_s(:es)).to eq '3 de febrero de 2001'
|
22
|
+
expect(d.l_medium_s(:es)).to eq '3 feb 2001'
|
23
|
+
expect(d.l_short_s(:es)).to eq '3/2/01'
|
24
24
|
end
|
25
25
|
|
26
|
-
it "
|
26
|
+
it "DateOfDateTime" do
|
27
27
|
d = DateTime.new(2007,11,19,8,37,48,"-06:00")
|
28
|
-
expect(d.to_date(:es)
|
29
|
-
expect(d.to_date(:es)
|
30
|
-
expect(d.to_date(:es)
|
31
|
-
expect(d.to_date(:es)
|
28
|
+
expect(d.to_date.l_full_s(:es)).to eq 'lunes, 19 de noviembre de 2007'
|
29
|
+
expect(d.to_date.l_long_s(:es)).to eq '19 de noviembre de 2007'
|
30
|
+
expect(d.to_date.l_medium_s(:es)).to eq '19 nov 2007'
|
31
|
+
expect(d.to_date.l_short_s(:es)).to eq '19/11/07'
|
32
32
|
end
|
33
33
|
|
34
34
|
it "time" do
|
35
35
|
d = Time.new(2007,11,1,15,25,0, "+09:00")
|
36
|
-
expect(d.
|
37
|
-
expect(d.
|
38
|
-
expect(d.
|
39
|
-
expect(d.
|
36
|
+
expect(d.l_full_s(:es)).to eq '6:25:00 (tiempo universal coordinado)'
|
37
|
+
expect(d.l_long_s(:es)).to eq '6:25:00 UTC'
|
38
|
+
expect(d.l_medium_s(:es)).to eq '6:25:00'
|
39
|
+
expect(d.l_short_s(:es)).to eq '6:25'
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
data/spec/unit/plural_spec.rb
CHANGED
@@ -17,6 +17,11 @@ describe SgtnCldr do
|
|
17
17
|
expect(str.to_plural_s(:cy, { :cat_count => 2 })).to eq 'there are two cats in the room'
|
18
18
|
s = '%<{"count": {"0": "no horse", "one": "one horse", "other": "%{count} horses"}}>'
|
19
19
|
expect(s.to_plural_s(:cy, { :count => 0 })).to eq 'no horse'
|
20
|
+
puts 0
|
21
|
+
puts "5" + s.to_plural_s(:pt, { :count => 0 })
|
22
|
+
puts TwitterCldr::Formatters::Plurals::Rules.all_for(:pt_PT)
|
23
|
+
puts 0.localize("it").plural_rule
|
24
|
+
puts (0).floor
|
20
25
|
end
|
21
26
|
end
|
22
27
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: singleton-cldr-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- VMware G11n Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-10
|
11
|
+
date: 2021-11-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -281,7 +281,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
281
281
|
- !ruby/object:Gem::Version
|
282
282
|
version: '0'
|
283
283
|
requirements: []
|
284
|
-
rubygems_version: 3.
|
284
|
+
rubygems_version: 3.1.4
|
285
285
|
signing_key:
|
286
286
|
specification_version: 4
|
287
287
|
summary: Singleton cldr for L2 support
|