when_exe 0.4.4 → 0.4.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|