when_exe 0.4.4 → 0.4.5
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/when_exe.rb +89 -3
- data/lib/when_exe/basictypes.rb +37 -7
- data/lib/when_exe/calendarnote.rb +18 -13
- data/lib/when_exe/calendartypes.rb +3 -9
- data/lib/when_exe/coordinates.rb +23 -373
- data/lib/when_exe/ephemeris.rb +7 -7
- data/lib/when_exe/ephemeris/notes.rb +0 -14
- data/lib/when_exe/events.rb +1851 -0
- data/lib/when_exe/icalendar.rb +121 -4
- data/lib/when_exe/linkeddata.rb +29 -18
- data/lib/when_exe/locales/akt.rb +63 -0
- data/lib/when_exe/locales/locale.rb +60 -11
- data/lib/when_exe/mini_application.rb +14 -8
- data/lib/when_exe/namespace.rb +42 -0
- data/lib/when_exe/parts/enumerator.rb +13 -2
- data/lib/when_exe/parts/geometric_complex.rb +51 -1
- data/lib/when_exe/parts/method_cash.rb +15 -10
- data/lib/when_exe/parts/resource.rb +47 -29
- data/lib/when_exe/region/chinese.rb +4 -3
- data/lib/when_exe/region/chinese/calendars.rb +4 -4
- data/lib/when_exe/region/chinese/epochs.rb +6 -6
- data/lib/when_exe/region/chinese/notes.rb +3 -3
- data/lib/when_exe/region/chinese/twins.rb +6 -6
- data/lib/when_exe/region/islamic.rb +1 -1
- data/lib/when_exe/region/japanese.rb +4 -4
- data/lib/when_exe/region/japanese/eclipses.rb +2 -2
- data/lib/when_exe/region/japanese/location.rb +93 -0
- data/lib/when_exe/region/japanese/notes.rb +29 -11
- data/lib/when_exe/region/japanese/residues.rb +1 -1
- data/lib/when_exe/region/japanese/twins.rb +18 -6
- data/lib/when_exe/region/location.rb +40 -0
- data/lib/when_exe/region/martian.rb +1 -1
- data/lib/when_exe/region/ryukyu.rb +1 -1
- data/lib/when_exe/spatial.rb +611 -0
- data/lib/when_exe/timestandard.rb +3 -3
- data/lib/when_exe/tmobjects.rb +32 -0
- data/lib/when_exe/tmposition.rb +211 -1318
- data/lib/when_exe/tmptypes.rb +1265 -0
- data/lib/when_exe/tmreference.rb +35 -0
- data/lib/when_exe/version.rb +3 -3
- data/test/events/example-datasets +7 -0
- data/test/events/history-dataset.csv +22 -0
- data/test/events/japanese-holiday-index.csv +28 -0
- data/test/events/japanese-holiday.csv +77 -0
- data/test/events/japanese-holiday.ttl +778 -0
- data/test/events/make_events_ttl.rb +18 -0
- data/test/events/mori_wikichoshi.csv +14 -0
- data/test/events/ndl_koyomi.csv +220 -0
- data/test/events/ndl_koyomi_index.csv +44 -0
- data/test/events/primeminister-dataset.csv +19 -0
- data/test/events/shogun-dataset.csv +22 -0
- data/test/events/test-history-dataset-edge-sparql.csv +26 -0
- data/test/events/test-history-dataset-edge.csv +27 -0
- data/test/events/test-history-dataset-sparql.csv +22 -0
- data/test/events/test-history-dataset.csv +23 -0
- data/test/events/test-history-events-edge.ttl +89 -0
- data/test/events/test-history-events.csv +6 -0
- data/test/examples/Terms.m17n +1 -1
- data/test/test.rb +6 -0
- data/test/test/coordinates.rb +2 -2
- data/test/test/events.rb +32 -0
- data/test/test/region/japanese.rb +20 -0
- data/test/test/region/m17n.rb +2 -2
- data/test/test/region/mayan.rb +6 -6
- data/test/test/tmposition.rb +63 -1
- metadata +26 -2
@@ -0,0 +1,89 @@
|
|
1
|
+
@prefix dc: <http://purl.org/dc/elements/1.1/> .
|
2
|
+
@prefix dcq: <http://purl.org/dc/terms/> .
|
3
|
+
@prefix ex: <http://example.com/> .
|
4
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
5
|
+
@prefix ts: <http://hosi.org/ts#> .
|
6
|
+
|
7
|
+
ex:1 rdfs:label "{康元元}:{第5代}{執権}の{北条時頼}、{執権}{辞任}、{翌日}{出家}。";
|
8
|
+
ts:east 1.39581758e2;
|
9
|
+
ts:north 3.5361604e1;
|
10
|
+
ts:south 3.5304314e1;
|
11
|
+
ts:start 2180156;
|
12
|
+
ts:west 1.39490658e2;
|
13
|
+
dc:contributor "須賀隆";
|
14
|
+
dcq:abstract "{康元元}:{第5代}{執権}の{北条時頼}、{執権}{辞任}、{翌日}{出家}。";
|
15
|
+
dcq:hasPart "康元元",
|
16
|
+
"第5代",
|
17
|
+
"執権",
|
18
|
+
"北条時頼",
|
19
|
+
"辞任",
|
20
|
+
"翌日",
|
21
|
+
"出家";
|
22
|
+
dcq:spatial "神奈川県鎌倉市";
|
23
|
+
dcq:valid "1256-11-22^^Japanese" .
|
24
|
+
|
25
|
+
ex:2 rdfs:label "{康元元}:{前日}{執権}を{辞任}した{北条時頼}、{出家}。";
|
26
|
+
ts:east 1.39581758e2;
|
27
|
+
ts:north 3.5361604e1;
|
28
|
+
ts:south 3.5304314e1;
|
29
|
+
ts:start 2180157;
|
30
|
+
ts:west 1.39490658e2;
|
31
|
+
dc:contributor "須賀隆";
|
32
|
+
dcq:abstract "{康元元}:{前日}{執権}を{辞任}した{北条時頼}、{出家}。";
|
33
|
+
dcq:hasPart "康元元",
|
34
|
+
"前日",
|
35
|
+
"執権",
|
36
|
+
"辞任",
|
37
|
+
"北条時頼",
|
38
|
+
"出家";
|
39
|
+
dcq:spatial "神奈川県鎌倉市";
|
40
|
+
dcq:valid "1256-11-23^^Japanese" .
|
41
|
+
|
42
|
+
ex:3 rdfs:label "{天文24}:{厳島}の{合戦}で{毛利元就}が{陶晴賢}を滅ぼす。";
|
43
|
+
ts:east 1.3234682e2;
|
44
|
+
ts:north 3.4479038e1;
|
45
|
+
ts:south 3.4267624e1;
|
46
|
+
ts:start 2289310;
|
47
|
+
ts:west 1.32083881e2;
|
48
|
+
dc:contributor "須賀隆";
|
49
|
+
dcq:abstract "{天文24}:{厳島}の{合戦}で{毛利元就}が{陶晴賢}を滅ぼす。";
|
50
|
+
dcq:hasPart "天文24",
|
51
|
+
"厳島",
|
52
|
+
"合戦",
|
53
|
+
"毛利元就",
|
54
|
+
"陶晴賢";
|
55
|
+
dcq:spatial "広島県廿日市市";
|
56
|
+
dcq:valid "1555-10-01^^Japanese" .
|
57
|
+
|
58
|
+
ex:4 rdfs:label "{慶應2}:{将軍}{徳川家茂}が{大坂城}中で{病死}する。{21歳}。{毒殺説}もある。";
|
59
|
+
ts:east 1.35595982e2;
|
60
|
+
ts:north 3.4766764e1;
|
61
|
+
ts:south 3.458949e1;
|
62
|
+
ts:start 2402843;
|
63
|
+
ts:west 1.35391479e2;
|
64
|
+
dc:contributor "須賀隆";
|
65
|
+
dcq:abstract "{慶應2}:{将軍}{徳川家茂}が{大坂城}中で{病死}する。{21歳}。{毒殺説}もある。";
|
66
|
+
dcq:hasPart "慶應2",
|
67
|
+
"将軍",
|
68
|
+
"徳川家茂",
|
69
|
+
"大坂城",
|
70
|
+
"病死",
|
71
|
+
"21歳",
|
72
|
+
"毒殺説";
|
73
|
+
dcq:spatial "大阪市";
|
74
|
+
dcq:valid "1866-07-20^^Japanese" .
|
75
|
+
|
76
|
+
ex:5 rdfs:label "{大同元}:{空海}が用いたとされる{日曜日}の{起点}";
|
77
|
+
ts:east 1.35873329e2;
|
78
|
+
ts:north 3.528243e1;
|
79
|
+
ts:south 3.4886268e1;
|
80
|
+
ts:start 2015474;
|
81
|
+
ts:west 1.35577055e2;
|
82
|
+
dc:contributor "suchowan";
|
83
|
+
dcq:abstract "{大同元}:{空海}が用いたとされる{日曜日}の{起点}";
|
84
|
+
dcq:hasPart "大同元",
|
85
|
+
"空海",
|
86
|
+
"日曜日",
|
87
|
+
"起点";
|
88
|
+
dcq:spatial "京都市";
|
89
|
+
dcq:valid "0806-01-02^^Japanese" .
|
@@ -0,0 +1,6 @@
|
|
1
|
+
valid,abstarct,contributor,mbox,created,domain,remark,location
|
2
|
+
"1256-11-22^^Japanese","{康元元}:{第5代}{執権}の{北条時頼}、{執権}{辞任}、{翌日}{出家}。","須賀隆","suchowan@box.email.ne.jp","","","高柳光寿・竹内理三編『日本史辞典』","神奈川県鎌倉市"
|
3
|
+
"1256-11-23^^Japanese","{康元元}:{前日}{執権}を{辞任}した{北条時頼}、{出家}。","須賀隆","suchowan@box.email.ne.jp","","","高柳光寿・竹内理三編『日本史辞典』","神奈川県鎌倉市"
|
4
|
+
"1555-10-01^^Japanese","{天文24}:{厳島}の{合戦}で{毛利元就}が{陶晴賢}を滅ぼす。","須賀隆","suchowan@box.email.ne.jp","","","コンサイス世界年表","広島県廿日市市"
|
5
|
+
"1866-07-20^^Japanese","{慶應2}:{将軍}{徳川家茂}が{大坂城}中で{病死}する。{21歳}。{毒殺説}もある。","須賀隆","suchowan@box.email.ne.jp","","","","大阪市"
|
6
|
+
"0806-01-02^^Japanese","{大同元}:{空海}が用いたとされる{日曜日}の{起点}","suchowan","","Sat Jun 22 1:35:54 JST 2002 ","1","日本史小百科「暦」","京都市"
|
data/test/examples/Terms.m17n
CHANGED
data/test/test.rb
CHANGED
@@ -31,6 +31,11 @@ class MiniTest::TestCase
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
+
if self.class.const_defined?(:Encoding)
|
35
|
+
Encoding.default_external = 'UTF-8'
|
36
|
+
Encoding.default_internal = 'UTF-8'
|
37
|
+
end
|
38
|
+
|
34
39
|
require 'when_exe'
|
35
40
|
require 'when_exe/mini_application'
|
36
41
|
#include When
|
@@ -49,6 +54,7 @@ require './test/calendarnote'
|
|
49
54
|
require './test/inspect'
|
50
55
|
require './test/linkeddata'
|
51
56
|
require './test/google_api'
|
57
|
+
require './test/events'
|
52
58
|
require './test/region/m17n'
|
53
59
|
require './test/region/residue'
|
54
60
|
require './test/region/christian'
|
data/test/test/coordinates.rb
CHANGED
@@ -377,8 +377,8 @@ module MiniTest::Coordinates
|
|
377
377
|
[name.label,
|
378
378
|
name.translate('ja'),
|
379
379
|
name.reference('en'),
|
380
|
-
obj.lat /
|
381
|
-
obj.long /
|
380
|
+
obj.lat / obj.degree,
|
381
|
+
obj.long / obj.degree,
|
382
382
|
obj.iri])
|
383
383
|
end
|
384
384
|
end
|
data/test/test/events.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
=begin
|
3
|
+
Copyright (C) 2015-2016 Takashi SUGA
|
4
|
+
|
5
|
+
You may use and/or modify this file according to the license
|
6
|
+
described in the LICENSE.txt file included in this archive.
|
7
|
+
=end
|
8
|
+
|
9
|
+
module MiniTest::CalendarTypes
|
10
|
+
|
11
|
+
class DataSet < MiniTest::TestCase
|
12
|
+
if (RUBY_VERSION.split('.').map {|v| v.to_i} <=> [1,9]) >= 0
|
13
|
+
def test__dataset
|
14
|
+
datasets = When.Resource('events/test-history-dataset.csv')
|
15
|
+
dataset = datasets.dataset('en')
|
16
|
+
assert_equal([5], dataset.index[When::Events::WHAT_DAY][[false, 1, 2]])
|
17
|
+
assert_equal([5, 1], dataset.edge_included(When::Events::START, When.when?('-Infinity...1256-11-23^^Japanese')))
|
18
|
+
assert_equal([5, 1, 2], dataset.edge_included(When::Events::START, When.when?('-Infinity..1256-11-23^^Japanese')))
|
19
|
+
assert_equal([1], dataset.edge_included(When::Events::START, When.when?('1256-11-22...1256-11-23^^Japanese')))
|
20
|
+
assert_equal([1, 2], dataset.edge_included(When::Events::START, When.when?('1256-11-22/23^^Japanese')))
|
21
|
+
assert_equal([2], dataset.edge_included(When::Events::START, When.when?('1256-11-23...1555-10-01^^Japanese')))
|
22
|
+
assert_equal([2, 3], dataset.edge_included(When::Events::START, When.when?('1256-11-23..1555-10-01^^Japanese')))
|
23
|
+
assert_equal([2, 3, 4], dataset.edge_included(When::Events::START, When.when?('1256-11-23..+Infinity^^Japanese')))
|
24
|
+
end
|
25
|
+
else
|
26
|
+
def test__dataset
|
27
|
+
end
|
28
|
+
puts "Tests for event DataSet have been skipped at line #{__LINE__} of #{__FILE__.split(/\//)[-1]}."
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
@@ -241,6 +241,26 @@ module MiniTest
|
|
241
241
|
assert_equal('日本?V=0764::奈良時代::神護景雲02(0768).09.01', (date ^ When.CalendarEra('Japanese?V=0764'))[0].to_s)
|
242
242
|
assert_equal('日本::奈良時代::神護景雲02(0768).09.02', (date ^ When.CalendarEra('Japanese'))[0].to_s)
|
243
243
|
end
|
244
|
+
|
245
|
+
def test__japanese_parser
|
246
|
+
assert_equal('1945-08-15', When.when?('1945 Aug 15', :parse=>'%Y %B %d').to_s)
|
247
|
+
assert_equal('2022-01-06T09:18:24+09:00', When.when?('Thu Jan 6 9:18:24 JST', {:abbr=>2015, :parse=>'%A %B %d %H:%M:%S %z'}).to_s)
|
248
|
+
assert_equal('2022-01-06T09:18:24+09:00', When.when?('木 1月 6 9:18:24 JST', {:abbr=>2015, :parse=>['%A %B %d %H:%M:%S %z', 'ja']}).to_s)
|
249
|
+
assert_equal('昭和15(1940).11.20', When.when?('昭和十五年十一月廿日', {:parse=>When::Locale::JapaneseParser}).to_s)
|
250
|
+
assert_equal('昭和59(1984).11.26', When.when?('昭和甲子年11月甲子', {:parse=>When::Locale::JapaneseParser}).to_s)
|
251
|
+
assert_equal('昭和59(1984).11.26', When.when?('昭和甲子歳11月甲子', {:parse=>When::Locale::JapaneseParser}).to_s)
|
252
|
+
assert_equal('明治01(1868).04=07T12:06:03+09:00', When.when?('明治元年閏4月甲寅12時6分3秒+09:00',
|
253
|
+
{:parse=>When::Locale::JapaneseParser}).to_s)
|
254
|
+
end
|
255
|
+
|
256
|
+
def test__japanese_digits
|
257
|
+
When::Locale::NumRExp3
|
258
|
+
assert_equal([512100060, 1200000000, 230000000, 34000000, 4500000, 560000, 67000, 7800, 890, 90, 0],
|
259
|
+
%w(伍億仟弐佰拾萬陸拾 十二億 二億三千万 三千四百万 四百五十万 五十六万 六万七千 七千八百 八百九十 九十零 零).map {|fig|
|
260
|
+
When::Locale.k2a_digits(fig, true)
|
261
|
+
})
|
262
|
+
end
|
263
|
+
|
244
264
|
=begin
|
245
265
|
def test_japanese_date
|
246
266
|
jc = When.Resource('_c:Japanese')
|
data/test/test/region/m17n.rb
CHANGED
@@ -12,8 +12,8 @@ module MiniTest
|
|
12
12
|
|
13
13
|
First = [
|
14
14
|
["Calendar", "Calendar", nil],
|
15
|
-
["Month", "月の名前", "https://ja.wikipedia.org/wiki/%E6%9C%88_
|
16
|
-
["Month", "月の名前", "https://ja.wikipedia.org/wiki/%E6%9C%88_
|
15
|
+
["Month", "月の名前", "https://ja.wikipedia.org/wiki/%E6%9C%88_%28%E6%9A%A6%29"],
|
16
|
+
["Month", "月の名前", "https://ja.wikipedia.org/wiki/%E6%9C%88_%28%E6%9A%A6%29"],
|
17
17
|
["January", "1月", "https://ja.wikipedia.org/wiki/1%E6%9C%88"]
|
18
18
|
]
|
19
19
|
|
data/test/test/region/mayan.rb
CHANGED
@@ -48,7 +48,7 @@ module MiniTest
|
|
48
48
|
# No offset
|
49
49
|
haab = When.Resource("_co:Mayan::Haab'")
|
50
50
|
assert_equal("ハアブ", haab.label.translate('ja'))
|
51
|
-
assert_equal("https://en.wikipedia.org/wiki/Haab
|
51
|
+
assert_equal("https://en.wikipedia.org/wiki/Haab%27", haab.label.reference)
|
52
52
|
pop = When.Resource("_co:Mayan::Haab'::Pop")
|
53
53
|
assert_equal("Pop", pop.label.translate('en'))
|
54
54
|
assert_equal("https://en.wikipedia.org/wiki/File:Maya-Pop.jpg", pop.label.reference)
|
@@ -68,7 +68,7 @@ module MiniTest
|
|
68
68
|
# offset 0B
|
69
69
|
haab = When.Resource("_co:Mayan?Epoch=0D::Haab'")
|
70
70
|
assert_equal("ハアブ", haab.label.translate('ja'))
|
71
|
-
assert_equal("https://en.wikipedia.org/wiki/Haab
|
71
|
+
assert_equal("https://en.wikipedia.org/wiki/Haab%27", haab.label.reference)
|
72
72
|
pop = When.Resource("_co:Mayan?Epoch=0D::Haab'::Pop")
|
73
73
|
assert_equal("Pop", pop.label.translate('en'))
|
74
74
|
assert_equal("https://en.wikipedia.org/wiki/File:Maya-Pop.jpg", pop.label.reference)
|
@@ -88,7 +88,7 @@ module MiniTest
|
|
88
88
|
# offset 2B
|
89
89
|
haab = When.Resource("_co:Mayan?Epoch=2D::Haab'")
|
90
90
|
assert_equal("ハアブ", haab.label.translate('ja'))
|
91
|
-
assert_equal("https://en.wikipedia.org/wiki/Haab
|
91
|
+
assert_equal("https://en.wikipedia.org/wiki/Haab%27", haab.label.reference)
|
92
92
|
pop = When.Resource("_co:Mayan?Epoch=2D::Haab'::Pop")
|
93
93
|
assert_equal("Pop", pop.label.translate('en'))
|
94
94
|
assert_equal("https://en.wikipedia.org/wiki/File:Maya-Pop.jpg", pop.label.reference)
|
@@ -116,7 +116,7 @@ module MiniTest
|
|
116
116
|
|
117
117
|
tzolkin = When.Resource("_co:Mayan::Tzolk'in")
|
118
118
|
assert_equal("ツォルキン", tzolkin.label.translate('ja'))
|
119
|
-
assert_equal("https://en.wikipedia.org/wiki/Tzolk
|
119
|
+
assert_equal("https://en.wikipedia.org/wiki/Tzolk%27in", tzolkin.label.reference)
|
120
120
|
ajaw = When.Resource("_co:Mayan::Tzolk'in::Ajaw")
|
121
121
|
assert_equal("Ajaw", ajaw.label.translate('en'))
|
122
122
|
assert_equal("https://en.wikipedia.org/wiki/File:MAYA-g-log-cal-D20-Ajaw-cdxW.png", ajaw.label.reference('alias'))
|
@@ -144,7 +144,7 @@ module MiniTest
|
|
144
144
|
|
145
145
|
tzolkin = When.Resource("_co:Mayan?Epoch=0D::Tzolk'in")
|
146
146
|
assert_equal("ツォルキン", tzolkin.label.translate('ja'))
|
147
|
-
assert_equal("https://en.wikipedia.org/wiki/Tzolk
|
147
|
+
assert_equal("https://en.wikipedia.org/wiki/Tzolk%27in", tzolkin.label.reference)
|
148
148
|
ajaw = When.Resource("_co:Mayan?Epoch=0D::Tzolk'in::Ajaw")
|
149
149
|
assert_equal("Ajaw", ajaw.label.translate('en'))
|
150
150
|
assert_equal("https://en.wikipedia.org/wiki/File:MAYA-g-log-cal-D20-Ajaw-cdxW.png", ajaw.label.reference('alias'))
|
@@ -172,7 +172,7 @@ module MiniTest
|
|
172
172
|
|
173
173
|
tzolkin = When.Resource("_co:Mayan?Epoch=2D::Tzolk'in")
|
174
174
|
assert_equal("ツォルキン", tzolkin.label.translate('ja'))
|
175
|
-
assert_equal("https://en.wikipedia.org/wiki/Tzolk
|
175
|
+
assert_equal("https://en.wikipedia.org/wiki/Tzolk%27in", tzolkin.label.reference)
|
176
176
|
ajaw = When.Resource("_co:Mayan?Epoch=2D::Tzolk'in::Ajaw")
|
177
177
|
assert_equal("Ajaw", ajaw.label.translate('en'))
|
178
178
|
assert_equal("https://en.wikipedia.org/wiki/File:MAYA-g-log-cal-D20-Ajaw-cdxW.png", ajaw.label.reference('alias'))
|
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-2016 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.
|
@@ -61,6 +61,14 @@ LIST
|
|
61
61
|
assert_raises(ArgumentError) { When.TemporalPosition(2011,2,29, {:invalid=>:raise}) }
|
62
62
|
end
|
63
63
|
|
64
|
+
def test__strptime
|
65
|
+
assert_equal('1950-08', When.strptime('1950 Aug', '%Y %B').to_s)
|
66
|
+
assert_equal('1950-08-31', When.strptime('1950 Aug 31', '%Y %B %d').to_s)
|
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('2016-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
|
+
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
|
+
end
|
71
|
+
|
64
72
|
def test__to_date
|
65
73
|
if ::Object.const_defined?(:Date) && Date.respond_to?(:civil)
|
66
74
|
assert(/\ATue Jun 7 00:00:00 (\+00:00|Z) 2011\z/ =~ When.when?("2011-06-07").to_date.strftime('%+'))
|
@@ -152,6 +160,60 @@ LIST
|
|
152
160
|
assert_raises(ArgumentError) {When.tm_pos(2014, 8, When.Residue('SA:6'), :invalid=>:raise)}
|
153
161
|
end
|
154
162
|
|
163
|
+
def test__residue_and_repeat
|
164
|
+
|
165
|
+
assert_equal('1924-01-01', When.when?('1900{甲子}-01-01').to_s)
|
166
|
+
assert_equal('1924-01-01', When.when?('{甲子}-01-01', :abbr=>1900).to_s)
|
167
|
+
assert_equal('昭和59(1984).01.01', When.when?('昭和{甲子}-01-01').to_s)
|
168
|
+
|
169
|
+
assert_equal('2015-02-01', When.when?('2015-02-{SU}').to_s)
|
170
|
+
assert_equal('2015-02-22', When.when?('2015-02-{4SU}').to_s)
|
171
|
+
assert_equal('2015-09-23T17+09:00', When.when?('2015-09-01{SolarTerms#term180}T00+09:00').to_s)
|
172
|
+
assert_equal('2015-04-05', When.when?('2015-01-01{Christian#easter}').to_s)
|
173
|
+
assert_equal('2015-12-25', When.when?('2015-01-01{Christian#christmas}').to_s)
|
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
|
+
assert_equal('2015-05-06', When.when?('2015-05-{06&MO,TU,WE}').to_s)
|
176
|
+
assert_equal(nil, When.when?('2016-05-{06&MO,TU,WE}'))
|
177
|
+
|
178
|
+
assert_equal('2015-03-01', When.when?('2015-02-01{5SU}').to_s)
|
179
|
+
assert_equal(nil, When.when?('2015-02-{5SU}'))
|
180
|
+
assert_equal('2015-02-22', When.when?('2015-02-{-SU}').to_s)
|
181
|
+
|
182
|
+
it = When.when?('R/2015-09-01{SolarTerms#term180-1&TU}T00:00+09:00')
|
183
|
+
assert_equal('2015-09-22T00:00+09:00', it.succ.to_s)
|
184
|
+
assert_equal('2026-09-22T00:00+09:00', it.succ.to_s)
|
185
|
+
assert_equal('2032-09-21T00:00+09:00', it.succ.to_s)
|
186
|
+
|
187
|
+
assert_equal(
|
188
|
+
%w(2015-02-02 2015-02-09 2015-02-16 2015-02-23
|
189
|
+
2016-02-01 2016-02-08 2016-02-15 2016-02-22
|
190
|
+
2016-02-29 2017-02-06),
|
191
|
+
When.when?('R10/2015-02-{MO}').map {|d| d.to_s})
|
192
|
+
|
193
|
+
assert_equal(%w(2015-05-15 2017-05-15 2019-05-15),
|
194
|
+
When.when?('R3/2015-05-15/P2Y').map {|d| d.to_s})
|
195
|
+
|
196
|
+
assert_equal(%w(2015-09-22T00:00+09:00 2026-09-22T00:00+09:00 2032-09-21T00:00+09:00),
|
197
|
+
When.when?('R3/2015-09-01{SolarTerms#term180-1&TU}T00:00+09:00').map {|d| d.to_s})
|
198
|
+
|
199
|
+
assert_equal(%w(安政02(1855).02.10 慶応03(1867).02.07),
|
200
|
+
When.when?('R2/弘化{卯}-02-{1卯}').map {|d| d.to_s})
|
201
|
+
|
202
|
+
assert_equal(
|
203
|
+
%w(2016-01-06T07+09:00 2016-01-21T00+09:00 2016-02-04T18+09:00 2016-02-19T14+09:00
|
204
|
+
2016-03-05T12+09:00 2016-03-20T13+09:00 2016-04-04T17+09:00 2016-04-20T00+09:00
|
205
|
+
2016-05-05T10+09:00 2016-05-20T23+09:00 2016-06-05T14+09:00 2016-06-21T07+09:00
|
206
|
+
2016-07-07T01+09:00 2016-07-22T18+09:00 2016-08-07T10+09:00 2016-08-23T01+09:00
|
207
|
+
2016-09-07T13+09:00 2016-09-22T23+09:00 2016-10-08T05+09:00 2016-10-23T08+09:00
|
208
|
+
2016-11-07T08+09:00 2016-11-22T06+09:00 2016-12-07T01+09:00 2016-12-21T19+09:00),
|
209
|
+
When.when?('R24/2016-01-01{SolarTerms#term0/15}T00+09:00').map {|d| d.to_s})
|
210
|
+
|
211
|
+
assert_equal(
|
212
|
+
%w(2011-03-05...2011-03-08 2012-02-18...2012-02-21
|
213
|
+
2013-02-09...2013-02-12 2014-03-01...2014-03-04),
|
214
|
+
When.when?('R4P3D/2011-01-01{Christian#easter-50}').map {|d| d.to_s})
|
215
|
+
end
|
216
|
+
|
155
217
|
def test__prefixed_calendar
|
156
218
|
[['平成27(2015).1.15', '平成27(2015).01.15'],
|
157
219
|
['HinduLuniSolar?note=HinduNote&location=(_co:Indian::Ujjain)&type=SBSA&start_month=5(1936-10<10)', '1936-10<10-'],
|
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.
|
4
|
+
version: 0.4.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Takashi SUGA
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-01-15 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
|
@@ -54,6 +54,7 @@ files:
|
|
54
54
|
- lib/when_exe/ephemeris/planets.rb
|
55
55
|
- lib/when_exe/ephemeris/sun.rb
|
56
56
|
- lib/when_exe/ephemeris/v50.rb
|
57
|
+
- lib/when_exe/events.rb
|
57
58
|
- lib/when_exe/google_api.rb
|
58
59
|
- lib/when_exe/icalendar.rb
|
59
60
|
- lib/when_exe/inspect.rb
|
@@ -158,6 +159,7 @@ files:
|
|
158
159
|
- lib/when_exe/locales/zh_TW.rb
|
159
160
|
- lib/when_exe/locales/zh_YUE.rb
|
160
161
|
- lib/when_exe/mini_application.rb
|
162
|
+
- lib/when_exe/namespace.rb
|
161
163
|
- lib/when_exe/obsolete/googlecalendar.rb
|
162
164
|
- lib/when_exe/parts/enumerator.rb
|
163
165
|
- lib/when_exe/parts/geometric_complex.rb
|
@@ -190,6 +192,7 @@ files:
|
|
190
192
|
- lib/when_exe/region/japanese/calendars.rb
|
191
193
|
- lib/when_exe/region/japanese/eclipses.rb
|
192
194
|
- lib/when_exe/region/japanese/epochs.rb
|
195
|
+
- lib/when_exe/region/japanese/location.rb
|
193
196
|
- lib/when_exe/region/japanese/nihon_shoki.rb
|
194
197
|
- lib/when_exe/region/japanese/notes.rb
|
195
198
|
- lib/when_exe/region/japanese/residues.rb
|
@@ -198,6 +201,7 @@ files:
|
|
198
201
|
- lib/when_exe/region/javanese.rb
|
199
202
|
- lib/when_exe/region/jewish.rb
|
200
203
|
- lib/when_exe/region/korean.rb
|
204
|
+
- lib/when_exe/region/location.rb
|
201
205
|
- lib/when_exe/region/m17n.rb
|
202
206
|
- lib/when_exe/region/martian.rb
|
203
207
|
- lib/when_exe/region/mayan.rb
|
@@ -220,13 +224,32 @@ files:
|
|
220
224
|
- lib/when_exe/region/world_season.rb
|
221
225
|
- lib/when_exe/region/yerm.rb
|
222
226
|
- lib/when_exe/region/zoroastrian.rb
|
227
|
+
- lib/when_exe/spatial.rb
|
223
228
|
- lib/when_exe/timestandard.rb
|
224
229
|
- lib/when_exe/tmduration.rb
|
225
230
|
- lib/when_exe/tmobjects.rb
|
226
231
|
- lib/when_exe/tmposition.rb
|
232
|
+
- lib/when_exe/tmptypes.rb
|
227
233
|
- lib/when_exe/tmreference.rb
|
228
234
|
- lib/when_exe/version.rb
|
229
235
|
- link_to_online_documents
|
236
|
+
- test/events/example-datasets
|
237
|
+
- test/events/history-dataset.csv
|
238
|
+
- test/events/japanese-holiday-index.csv
|
239
|
+
- test/events/japanese-holiday.csv
|
240
|
+
- test/events/japanese-holiday.ttl
|
241
|
+
- test/events/make_events_ttl.rb
|
242
|
+
- test/events/mori_wikichoshi.csv
|
243
|
+
- test/events/ndl_koyomi.csv
|
244
|
+
- test/events/ndl_koyomi_index.csv
|
245
|
+
- test/events/primeminister-dataset.csv
|
246
|
+
- test/events/shogun-dataset.csv
|
247
|
+
- test/events/test-history-dataset-edge-sparql.csv
|
248
|
+
- test/events/test-history-dataset-edge.csv
|
249
|
+
- test/events/test-history-dataset-sparql.csv
|
250
|
+
- test/events/test-history-dataset.csv
|
251
|
+
- test/events/test-history-events-edge.ttl
|
252
|
+
- test/events/test-history-events.csv
|
230
253
|
- test/examples/JapanHolidays.ics
|
231
254
|
- test/examples/JapanHolidaysRFC6350.ics
|
232
255
|
- test/examples/Millennium.ics
|
@@ -276,6 +299,7 @@ files:
|
|
276
299
|
- test/test/ephemeris/moon.rb
|
277
300
|
- test/test/ephemeris/planets.rb
|
278
301
|
- test/test/ephemeris/sun.rb
|
302
|
+
- test/test/events.rb
|
279
303
|
- test/test/google_api.rb
|
280
304
|
- test/test/icalendar.rb
|
281
305
|
- test/test/inspect.rb
|