when_exe 0.4.6 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/LICENSE.ja.txt +8 -21
- data/LICENSE.txt +5 -27
- data/README.md +8 -63
- data/bin/make_ttl.rb +3 -2
- data/bin/make_ttl.rb.config +3 -3
- data/lib/when_exe.rb +8 -3
- data/lib/when_exe/basictypes.rb +1 -2
- data/lib/when_exe/calendarnote.rb +9 -5
- data/lib/when_exe/calendartypes.rb +4 -4
- data/lib/when_exe/coordinates.rb +14 -18
- data/lib/when_exe/ephemeris.rb +5 -6
- data/lib/when_exe/events.rb +7 -7
- data/lib/when_exe/google_api.rb +26 -31
- data/lib/when_exe/icalendar.rb +8 -8
- data/lib/when_exe/inspect.rb +3 -3
- data/lib/when_exe/linkeddata.rb +10 -2
- data/lib/when_exe/locales/locale.rb +2 -2
- data/lib/when_exe/parts/enumerator.rb +3 -3
- data/lib/when_exe/parts/geometric_complex.rb +2 -2
- data/lib/when_exe/parts/resource.rb +2 -2
- data/lib/when_exe/parts/timezone.rb +17 -29
- data/lib/when_exe/region/balinese.rb +5 -3
- data/lib/when_exe/region/chinese.rb +25 -3
- data/lib/when_exe/region/chinese/twins.rb +128 -5
- data/lib/when_exe/region/dee.rb +4 -4
- data/lib/when_exe/region/geologicalage.rb +137 -126
- data/lib/when_exe/region/hanke_henry.rb +4 -4
- data/lib/when_exe/region/indian.rb +73 -4
- data/lib/when_exe/region/international_fixed.rb +3 -3
- data/lib/when_exe/region/japanese.rb +9 -5
- data/lib/when_exe/region/japanese/epochs.rb +8 -4
- data/lib/when_exe/region/japanese/notes.rb +25 -7
- data/lib/when_exe/region/japanese/residues.rb +32 -10
- data/lib/when_exe/region/japanese/weeks.rb +7 -7
- data/lib/when_exe/region/korean.rb +17 -17
- data/lib/when_exe/region/saudi_arabian.rb +57 -0
- data/lib/when_exe/region/world.rb +3 -3
- data/lib/when_exe/timestandard.rb +7 -5
- data/lib/when_exe/tmobjects.rb +2 -2
- data/lib/when_exe/tmposition.rb +6 -4
- data/lib/when_exe/tmreference.rb +3 -3
- data/lib/when_exe/version.rb +3 -3
- data/test/events/example-datasets +0 -1
- data/test/events/japanese-holiday.csv +23 -6
- data/test/events/japanese-holiday.ttl +321 -151
- data/test/test/basictypes.rb +2 -2
- data/test/test/calendarnote.rb +2 -2
- data/test/test/coordinates.rb +6 -4
- data/test/test/ephemeris.rb +2 -2
- data/test/test/google_api.rb +45 -32
- data/test/test/inspect.rb +2 -2
- data/test/test/parts.rb +5 -5
- data/test/test/region/christian.rb +7 -7
- data/test/test/region/indian.rb +14 -1
- data/test/test/region/islamic.rb +11 -1
- data/test/test/region/japanese.rb +3 -3
- data/test/test/region/m17n.rb +2 -2
- data/test/test/region/reforms.rb +2 -2
- data/test/test/tmposition.rb +7 -7
- metadata +7 -8
data/test/test/basictypes.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2011-
|
3
|
+
Copyright (C) 2011-2020 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license
|
6
6
|
described in the LICENSE.txt file included in this archive.
|
@@ -395,7 +395,7 @@ LOCALE
|
|
395
395
|
def test__code_space
|
396
396
|
assert_equal('zip', Term1.codeSpace)
|
397
397
|
assert_equal("ISO", Term2.codeSpace)
|
398
|
-
|
398
|
+
assert_nil(Term3.codeSpace)
|
399
399
|
end
|
400
400
|
|
401
401
|
def test__label
|
data/test/test/calendarnote.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2014 Takashi SUGA
|
3
|
+
Copyright (C) 2014-2020 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license
|
6
6
|
described in the LICENSE.txt file included in this archive.
|
@@ -51,7 +51,7 @@ module MiniTest::CalendarNote
|
|
51
51
|
assert_equal([[{:note=>"干支", :value=>"癸巳(29)", :position=>"共通"}],
|
52
52
|
[{:note=>"干支", :value=>"壬辰(28)", :position=>"共通"}]], notes1.subset(:note=>'干支'))
|
53
53
|
assert_equal([[{:note=>"祝祭日", :value=>"秋分の日", :position=>"祝祭日"}]], notes1.subset(:value=>'秋分の日'))
|
54
|
-
|
54
|
+
assert_nil(notes1.subset(:value=>'春分の日'))
|
55
55
|
assert_equal([[nil], [nil], [nil, nil, nil, nil, nil]], notes1.subset({:value=>'春分の日'}, false))
|
56
56
|
|
57
57
|
assert_equal([2456558, 2456559, 2456560], all.keys)
|
data/test/test/coordinates.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2011-
|
3
|
+
Copyright (C) 2011-2019 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license
|
6
6
|
described in the LICENSE.txt file included in this archive.
|
@@ -175,10 +175,12 @@ module MiniTest::Coordinates
|
|
175
175
|
["Emperor_Taishō", "https://en.wikipedia.org/wiki/Emperor_Taish%C5%8D"],
|
176
176
|
["昭和天皇", "https://ja.wikipedia.org/wiki/%E6%98%AD%E5%92%8C%E5%A4%A9%E7%9A%87"],
|
177
177
|
["Emperor_Shōwa", "https://en.wikipedia.org/wiki/Emperor_Sh%C5%8Dwa"],
|
178
|
-
["
|
179
|
-
["
|
178
|
+
["上皇明仁", "https://ja.wikipedia.org/wiki/%E4%B8%8A%E7%9A%87%E6%98%8E%E4%BB%81"],
|
179
|
+
["Emperor_Emeritus_of_Japan", "https://en.wikipedia.org/wiki/Akihito"],
|
180
|
+
["今上天皇", "https://ja.wikipedia.org/wiki/%E5%BE%B3%E4%BB%81"],
|
181
|
+
["Emperor_Kinjō", "https://en.wikipedia.org/wiki/Naruhito"]
|
180
182
|
]
|
181
|
-
['明治', '大正', '昭和', '平成'].each do |nengo|
|
183
|
+
['明治', '大正', '昭和', '平成', '令和'].each do |nengo|
|
182
184
|
name = When.when?(nengo + '06.01.01').query['name']
|
183
185
|
['ja', 'en'].each do |lang|
|
184
186
|
assert_equal(sample.shift, [name.translate(lang), name.reference(lang)])
|
data/test/test/ephemeris.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2011-
|
3
|
+
Copyright (C) 2011-2020 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license
|
6
6
|
described in the LICENSE.txt file included in this archive.
|
@@ -59,7 +59,7 @@ module MiniTest::Ephemeris
|
|
59
59
|
|
60
60
|
assert_raises(NoMethodError) { When.when?('2012-11-15').sunrise }
|
61
61
|
|
62
|
-
|
62
|
+
assert_nil(When.when?('2013-06-21T+09:00', :long=>135, :lat=>70).sunrise)
|
63
63
|
|
64
64
|
if Object.const_defined?(:TZInfo)
|
65
65
|
assert_equal(0, /2012-11-15T06:16/ =~ When.when?('2012-11-15', :tz=>'Asia/Tokyo').sunrise.to_s)
|
data/test/test/google_api.rb
CHANGED
@@ -1,56 +1,69 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2015 Takashi SUGA
|
3
|
+
Copyright (C) 2015-2021 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license
|
6
6
|
described in the LICENSE.txt file included in this archive.
|
7
|
+
|
8
|
+
Before running this script, please create "credentials.json" and "token.yaml" by
|
9
|
+
running quickstart.rb according to the Quick Start description at the URL below,
|
10
|
+
and place them in the same directory as test.rb.
|
11
|
+
|
12
|
+
https://developers.google.com/calendar/quickstart/ruby
|
13
|
+
|
7
14
|
=end
|
8
15
|
|
9
16
|
require 'fileutils'
|
10
|
-
|
11
|
-
require
|
17
|
+
if FileTest.exist?("token.yaml")
|
18
|
+
require "google/apis/calendar_v3"
|
19
|
+
require "googleauth"
|
20
|
+
require "googleauth/stores/file_token_store"
|
21
|
+
end
|
12
22
|
|
13
23
|
module MiniTest
|
14
24
|
|
15
25
|
class GoogleAPI < MiniTest::TestCase
|
16
26
|
|
17
27
|
HOLIDAYS = [
|
18
|
-
["
|
19
|
-
["
|
20
|
-
["
|
21
|
-
["
|
22
|
-
["
|
23
|
-
["
|
24
|
-
["
|
25
|
-
["
|
26
|
-
["
|
27
|
-
["
|
28
|
-
["
|
29
|
-
["
|
30
|
-
["
|
31
|
-
["
|
32
|
-
["
|
33
|
-
["
|
34
|
-
["
|
28
|
+
["2021-01-01", "New Year's Day"],
|
29
|
+
["2021-01-11", "Coming of Age Day"],
|
30
|
+
["2021-02-11", "National Foundation Day"],
|
31
|
+
["2021-02-23", "Emperor's Birthday"],
|
32
|
+
["2021-03-20", "Spring Equinox"],
|
33
|
+
["2021-04-29", "Shōwa Day"],
|
34
|
+
["2021-05-03", "Constitution Memorial Day"],
|
35
|
+
["2021-05-04", "Greenery Day"],
|
36
|
+
["2021-05-05", "Children's Day"],
|
37
|
+
["2021-07-22", "Sea Day"],
|
38
|
+
["2021-07-23", "Sports Day"],
|
39
|
+
["2021-08-08", "Mountain Day"],
|
40
|
+
["2021-08-09", "Day off for Mountain Day"],
|
41
|
+
["2021-09-20", "Respect for the Aged Day"],
|
42
|
+
["2021-09-23", "Autumn Equinox"],
|
43
|
+
["2021-11-03", "Culture Day"],
|
44
|
+
["2021-11-23", "Labor Thanksgiving Day"]
|
35
45
|
]
|
36
46
|
|
37
|
-
|
47
|
+
def authorize
|
48
|
+
client_id = Google::Auth::ClientId.from_file "credentials.json"
|
49
|
+
scope = Google::Apis::CalendarV3::AUTH_CALENDAR_READONLY
|
50
|
+
token_store = Google::Auth::Stores::FileTokenStore.new file: "token.yaml"
|
51
|
+
authorizer = Google::Auth::UserAuthorizer.new client_id, scope, token_store
|
52
|
+
authorizer.get_credentials "default"
|
53
|
+
end
|
54
|
+
|
55
|
+
if FileTest.exist?("token.yaml")
|
38
56
|
|
39
57
|
def test__enum_for
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
client.authorization.scope = oauth_yaml["scope"]
|
46
|
-
client.authorization.refresh_token = oauth_yaml["refresh_token"]
|
47
|
-
client.authorization.access_token = oauth_yaml["access_token"]
|
48
|
-
service = client.discovered_api('calendar', 'v3')
|
49
|
-
calendar = When::GoogleAPI::Calendar.list(client, service,
|
58
|
+
service = Google::Apis::CalendarV3::CalendarService.new
|
59
|
+
service.client_options.application_name = "Google Calendar API Ruby Test"
|
60
|
+
service.authorization = authorize
|
61
|
+
|
62
|
+
calendar = When::GoogleAPI::Calendar.list(service,
|
50
63
|
'en.japanese#holiday@group.v.calendar.google.com')
|
51
64
|
assert_equal(calendar.calendar_id, 'en.japanese#holiday@group.v.calendar.google.com')
|
52
65
|
holidays = HOLIDAYS.dup
|
53
|
-
calendar.enum_for(When.when?('
|
66
|
+
calendar.enum_for(When.when?('20210101/1231')).each do |date|
|
54
67
|
assert_equal(holidays.shift, [date.to_s, date.events[0].summary])
|
55
68
|
end
|
56
69
|
assert_equal([], holidays)
|
data/test/test/inspect.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2011-
|
3
|
+
Copyright (C) 2011-2020 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license
|
6
6
|
described in the LICENSE.txt file included in this archive.
|
@@ -37,7 +37,7 @@ module MiniTest
|
|
37
37
|
clock = When.Clock('+09:00')
|
38
38
|
#pp clock.to_s
|
39
39
|
assert_equal("+09:00", clock.label.to_s)
|
40
|
-
|
40
|
+
assert_nil(clock.referenceEvent)
|
41
41
|
assert_equal("T00+09:00", clock.referenceTime.to_s)
|
42
42
|
assert_equal("T*15:00:00Z", clock.utcReference.to_s)
|
43
43
|
end
|
data/test/test/parts.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2011-
|
3
|
+
Copyright (C) 2011-2020 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license
|
6
6
|
described in the LICENSE.txt file included in this archive.
|
@@ -96,8 +96,8 @@ LOCALE
|
|
96
96
|
end
|
97
97
|
|
98
98
|
def test__reference
|
99
|
-
|
100
|
-
|
99
|
+
assert_nil(Term1.reference('ja_JP'))
|
100
|
+
assert_nil(Term1.reference('en_US'))
|
101
101
|
assert_equal("https://ja.wikipedia.org/wiki/Getsuyou", Term2.reference('ja_JP'))
|
102
102
|
assert_equal("https://en.wikipedia.org/wiki/Monday", Term2.reference('en_US'))
|
103
103
|
assert_equal("https://ja.wikipedia.org/wiki/%E6%9C%88%E6%9B%9C%E6%97%A5", Term3.reference('ja_JP'))
|
@@ -164,14 +164,14 @@ LOCALE
|
|
164
164
|
|
165
165
|
sample = [false, false, false, false, false]
|
166
166
|
complex = When::Parts::GeometricComplex.new(false)
|
167
|
-
|
167
|
+
assert_nil(complex.exclude_end?)
|
168
168
|
(1..5).each do |i|
|
169
169
|
assert_equal(sample.shift, complex.include?(i))
|
170
170
|
end
|
171
171
|
|
172
172
|
sample = [true, true, true, true, true]
|
173
173
|
complex = When::Parts::GeometricComplex.new(true)
|
174
|
-
|
174
|
+
assert_nil(complex.exclude_end?)
|
175
175
|
(1..5).each do |i|
|
176
176
|
assert_equal(sample.shift, complex.include?(i))
|
177
177
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2012-
|
3
|
+
Copyright (C) 2012-2021 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license
|
6
6
|
described in the LICENSE.txt file included in this archive.
|
@@ -212,12 +212,12 @@ module MiniTest
|
|
212
212
|
["*", 17, 18, 19, 20, 21, 22, 23],
|
213
213
|
["*", 24, 25, 26, 27, 28, 29, 30],
|
214
214
|
["*", 31, "*", "*", "*", "*", "*", "*"]]]]],
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
215
|
+
date.year_included('Sunday') {|d,b|
|
216
|
+
case b
|
217
|
+
when When::YEAR ; d[When::YEAR]
|
218
|
+
when When::MONTH ; d[When::MONTH]
|
219
|
+
when When::DAY ; d[When::DAY]
|
220
|
+
else ; '*'
|
221
221
|
end
|
222
222
|
}
|
223
223
|
)
|
data/test/test/region/indian.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2011-
|
3
|
+
Copyright (C) 2011-2018 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license
|
6
6
|
described in the LICENSE.txt file included in this archive.
|
@@ -86,5 +86,18 @@ module MiniTest
|
|
86
86
|
date = When.when? '1936-11%3C08-%5E%5eHinduLuniSolar?note=HinduNote&location=(_co:Indian::Chennai)&start_month=5&type=SBSA'
|
87
87
|
assert_equal('1936-11<08-', date.to_s)
|
88
88
|
end
|
89
|
+
|
90
|
+
def test_vikram_sambat
|
91
|
+
date = When.when? '1942.4.20'
|
92
|
+
mismatches = []
|
93
|
+
961.times do
|
94
|
+
sambat = (When::VikramSambatSolar ^ date).to_s
|
95
|
+
samvat = (When::VikramSamvatSolar ^ date).to_s
|
96
|
+
mismatches << [date.to_s, sambat, samvat] unless sambat == samvat
|
97
|
+
date += When::P1M
|
98
|
+
end
|
99
|
+
assert_equal([%w(1945-11-20 2002-08-06 2002-08-05)], mismatches)
|
100
|
+
end
|
101
|
+
|
89
102
|
end
|
90
103
|
end
|
data/test/test/region/islamic.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2011-
|
3
|
+
Copyright (C) 2011-2017 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license
|
6
6
|
described in the LICENSE.txt file included in this archive.
|
@@ -48,6 +48,16 @@ module MiniTest
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
end
|
51
|
+
|
52
|
+
def test_ummalqura_solar
|
53
|
+
date = When.when? '2017.9.23'
|
54
|
+
assert_equal('1396-01-01', (When::UmmalquraSolar ^ date).to_s)
|
55
|
+
399.times do
|
56
|
+
date += When::P1Y
|
57
|
+
assert_equal([1,1], (When::UmmalquraSolar ^ date).cal_date[-2..-1])
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
51
61
|
end
|
52
62
|
end
|
53
63
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2011-
|
3
|
+
Copyright (C) 2011-2020 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license
|
6
6
|
described in the LICENSE.txt file included in this archive.
|
@@ -208,11 +208,11 @@ module MiniTest
|
|
208
208
|
def test__eclipse
|
209
209
|
date = When.when?('貞観4.2.1')
|
210
210
|
assert_equal('夜日蝕七分', date.notes({:notes=>'日食'}).value)
|
211
|
-
|
211
|
+
assert_nil(date.notes({:notes=>'日食', :solar_eclipse=>1}).value)
|
212
212
|
|
213
213
|
date = When.when?('貞観4.2.15')
|
214
214
|
assert_equal('(月蝕ニ分)', date.notes({:notes=>'月食'}).value)
|
215
|
-
|
215
|
+
assert_nil(date.notes({:notes=>'月食', :lunar_eclipse=>3}).value)
|
216
216
|
end
|
217
217
|
|
218
218
|
def test_japanese_lunisolar
|
data/test/test/region/m17n.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2011-
|
3
|
+
Copyright (C) 2011-2020 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license
|
6
6
|
described in the LICENSE.txt file included in this archive.
|
@@ -171,7 +171,7 @@ module MiniTest
|
|
171
171
|
date, verify = sample
|
172
172
|
list = When.when?(date).to_h({:method=>:to_m17n, :locale=>verify[:locale], :prefix=>true})
|
173
173
|
[:calendar, :cal_date, :sdn, :clk_time].each do |key|
|
174
|
-
assert_equal(verify[key], list[key])
|
174
|
+
assert_equal([verify[key]], [list[key]])
|
175
175
|
end
|
176
176
|
verify[:notes].each_index do |i|
|
177
177
|
verify[:notes][i].each_index do |k|
|
data/test/test/region/reforms.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2014 Takashi SUGA
|
3
|
+
Copyright (C) 2014-2017 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license
|
6
6
|
described in the LICENSE.txt file included in this archive.
|
@@ -103,7 +103,7 @@ module MiniTest
|
|
103
103
|
|
104
104
|
class HankeHenry < MiniTest::TestCase
|
105
105
|
def test_hanke_henry
|
106
|
-
assert_equal(When.when?('
|
106
|
+
assert_equal(When.when?('2018.1.1').to_i, When.when?('2018.1.1^^HankeHenry').to_i)
|
107
107
|
count = 0
|
108
108
|
(2000...2400).each do |year|
|
109
109
|
first = When.tm_pos(year, 1, 1)
|
data/test/test/tmposition.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2011-
|
3
|
+
Copyright (C) 2011-2021 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license
|
6
6
|
described in the LICENSE.txt file included in this archive.
|
@@ -55,9 +55,9 @@ LIST
|
|
55
55
|
assert_equal("2001-08-02..2001-09-10", When.when?("2001-08-02/09-10").to_s)
|
56
56
|
assert_equal(364, When.when?('20130101/1230').count) if Enumerable.method_defined?(:count)
|
57
57
|
assert_equal("1980-02-01", When.when?("800201", {:abbr=>1970}).to_s)
|
58
|
-
#
|
58
|
+
# assert_nil(When.TemporalPosition(2011,2,29))
|
59
59
|
assert_equal('2011-03-01', When.TemporalPosition(2011,2,29).to_s)
|
60
|
-
|
60
|
+
assert_nil(When.TemporalPosition(2011,2,29, {:invalid=>:check}))
|
61
61
|
assert_raises(ArgumentError) { When.TemporalPosition(2011,2,29, {:invalid=>:raise}) }
|
62
62
|
end
|
63
63
|
|
@@ -65,7 +65,7 @@ LIST
|
|
65
65
|
assert_equal('1950-08', When.strptime('1950 Aug', '%Y %B').to_s)
|
66
66
|
assert_equal('1950-08-31', When.strptime('1950 Aug 31', '%Y %B %d').to_s)
|
67
67
|
assert_equal('2015-01-06T09:18:24+09:00', When.strptime('Tue Jan 6 9:18:24 +09:00 2015', "%A %B %d %H:%M:%S %z %Y").to_s)
|
68
|
-
assert_equal('
|
68
|
+
assert_equal('2021-01-07T09:18:24+09:00', When.strptime("木 1月 6 9:18:24 JST", "%A %B %d %H:%M:%S %z", {:locale=>'ja'}).to_s)
|
69
69
|
assert_raises(ArgumentError) {When.strptime("Thu Jan 6 9:18:24 +09:00 2015", "%A %B %d %H:%M:%S %z %Y", {:invalid=>:raise})}
|
70
70
|
end
|
71
71
|
|
@@ -156,7 +156,7 @@ LIST
|
|
156
156
|
assert_equal('平成26(2014).08.21', When.tm_pos('平成', When.Residue('甲午'), 8, When.Residue('甲子')).to_s)
|
157
157
|
|
158
158
|
assert_equal('2014-09-06', When.tm_pos(2014, 8, When.Residue('SA:6')).to_s)
|
159
|
-
|
159
|
+
assert_nil(When.tm_pos(2014, 8, When.Residue('SA:6'), :invalid=>:check))
|
160
160
|
assert_raises(ArgumentError) {When.tm_pos(2014, 8, When.Residue('SA:6'), :invalid=>:raise)}
|
161
161
|
end
|
162
162
|
|
@@ -173,10 +173,10 @@ LIST
|
|
173
173
|
assert_equal('2015-12-25', When.when?('2015-01-01{Christian#christmas}').to_s)
|
174
174
|
assert_equal('2015-09-22T00:00+09:00', When.when?('2015-09-01{SolarTerms#term180-1&TU}T00:00+09:00').to_s)
|
175
175
|
assert_equal('2015-05-06', When.when?('2015-05-{06&MO,TU,WE}').to_s)
|
176
|
-
|
176
|
+
assert_nil(When.when?('2016-05-{06&MO,TU,WE}'))
|
177
177
|
|
178
178
|
assert_equal('2015-03-01', When.when?('2015-02-01{5SU}').to_s)
|
179
|
-
|
179
|
+
assert_nil(When.when?('2015-02-{5SU}'))
|
180
180
|
assert_equal('2015-02-22', When.when?('2015-02-{-SU}').to_s)
|
181
181
|
|
182
182
|
it = When.when?('R/2015-09-01{SolarTerms#term180-1&TU}T00:00+09:00')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: when_exe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Takashi SUGA
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A multicultural and multilingualized calendar library based on ISO 8601,
|
14
14
|
ISO 19108, RFC 5545(iCalendar) and RFC6350. JSON-LD formats for TemporalPosition
|
@@ -216,6 +216,7 @@ files:
|
|
216
216
|
- lib/when_exe/region/roman.rb
|
217
217
|
- lib/when_exe/region/russian.rb
|
218
218
|
- lib/when_exe/region/ryukyu.rb
|
219
|
+
- lib/when_exe/region/saudi_arabian.rb
|
219
220
|
- lib/when_exe/region/shire.rb
|
220
221
|
- lib/when_exe/region/symmetry.rb
|
221
222
|
- lib/when_exe/region/thai.rb
|
@@ -343,7 +344,7 @@ files:
|
|
343
344
|
homepage: http://www.asahi-net.or.jp/~dd6t-sg/
|
344
345
|
licenses: []
|
345
346
|
metadata: {}
|
346
|
-
post_install_message:
|
347
|
+
post_install_message:
|
347
348
|
rdoc_options: []
|
348
349
|
require_paths:
|
349
350
|
- lib
|
@@ -358,11 +359,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
358
359
|
- !ruby/object:Gem::Version
|
359
360
|
version: '0'
|
360
361
|
requirements: []
|
361
|
-
|
362
|
-
|
363
|
-
signing_key:
|
362
|
+
rubygems_version: 3.2.3
|
363
|
+
signing_key:
|
364
364
|
specification_version: 4
|
365
365
|
summary: A multicultural and multilingualized calendar library based on ISO 8601,
|
366
366
|
ISO 19108, RFC 5545(iCalendar) and RFC6350
|
367
367
|
test_files: []
|
368
|
-
has_rdoc:
|