when_exe 0.4.2 → 0.5.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.
- checksums.yaml +5 -5
- data/LICENSE.ja.txt +8 -21
- data/LICENSE.txt +5 -27
- data/README.md +25 -79
- data/bin/.pryrc +9 -0
- data/bin/make_ttl.rb +3 -2
- data/bin/make_ttl.rb.config +3 -3
- data/lib/when_exe.rb +101 -5
- data/lib/when_exe/basictypes.rb +47 -16
- data/lib/when_exe/calendarnote.rb +27 -18
- data/lib/when_exe/calendartypes.rb +12 -50
- data/lib/when_exe/coordinates.rb +37 -391
- data/lib/when_exe/ephemeris.rb +53 -14
- data/lib/when_exe/ephemeris/eclipse.rb +8 -8
- data/lib/when_exe/ephemeris/moon.rb +333 -333
- data/lib/when_exe/ephemeris/notes.rb +29 -17
- data/lib/when_exe/ephemeris/phase_table.rb +825 -0
- data/lib/when_exe/ephemeris/term_table.rb +603 -0
- data/lib/when_exe/events.rb +1888 -0
- data/lib/when_exe/google_api.rb +26 -31
- data/lib/when_exe/icalendar.rb +129 -12
- data/lib/when_exe/inspect.rb +5 -5
- data/lib/when_exe/linkeddata.rb +43 -23
- data/lib/when_exe/locales/akt.rb +63 -0
- data/lib/when_exe/locales/encoding_conversion.rb +134 -134
- data/lib/when_exe/locales/iast.rb +90 -90
- data/lib/when_exe/locales/locale.rb +88 -18
- data/lib/when_exe/locales/transliteration_table.rb +62 -62
- data/lib/when_exe/mini_application.rb +14 -8
- data/lib/when_exe/namespace.rb +42 -0
- data/lib/when_exe/parts/enumerator.rb +16 -5
- data/lib/when_exe/parts/geometric_complex.rb +52 -2
- data/lib/when_exe/parts/method_cash.rb +229 -224
- data/lib/when_exe/parts/resource.rb +65 -35
- data/lib/when_exe/parts/timezone.rb +25 -34
- data/lib/when_exe/region/balinese.rb +5 -3
- data/lib/when_exe/region/chinese.rb +39 -11
- data/lib/when_exe/region/chinese/calendars.rb +1016 -1016
- data/lib/when_exe/region/chinese/epochs.rb +7 -7
- data/lib/when_exe/region/chinese/notes.rb +3 -3
- data/lib/when_exe/region/chinese/twins.rb +134 -11
- data/lib/when_exe/region/dee.rb +4 -4
- data/lib/when_exe/region/discordian.rb +1 -1
- data/lib/when_exe/region/geologicalage.rb +139 -128
- data/lib/when_exe/region/hanke_henry.rb +4 -4
- data/lib/when_exe/region/indian.rb +77 -8
- data/lib/when_exe/region/international_fixed.rb +3 -3
- data/lib/when_exe/region/islamic.rb +1 -1
- data/lib/when_exe/region/japanese.rb +12 -8
- data/lib/when_exe/region/japanese/calendars.rb +397 -397
- data/lib/when_exe/region/japanese/eclipses.rb +1194 -1194
- data/lib/when_exe/region/japanese/epochs.rb +8 -4
- data/lib/when_exe/region/japanese/location.rb +93 -0
- data/lib/when_exe/region/japanese/nihon_shoki.rb +70 -70
- data/lib/when_exe/region/japanese/notes.rb +57 -18
- data/lib/when_exe/region/japanese/residues.rb +33 -11
- data/lib/when_exe/region/japanese/twins.rb +27 -14
- data/lib/when_exe/region/japanese/weeks.rb +7 -7
- data/lib/when_exe/region/korean.rb +384 -384
- data/lib/when_exe/region/location.rb +40 -0
- data/lib/when_exe/region/martian.rb +1 -1
- data/lib/when_exe/region/mayan.rb +2 -2
- data/lib/when_exe/region/roman.rb +2 -2
- data/lib/when_exe/region/ryukyu.rb +101 -101
- data/lib/when_exe/region/saudi_arabian.rb +57 -0
- data/lib/when_exe/region/shire.rb +1 -1
- data/lib/when_exe/region/world.rb +3 -3
- data/lib/when_exe/region/zoroastrian.rb +1 -1
- data/lib/when_exe/spatial.rb +611 -0
- data/lib/when_exe/timestandard.rb +9 -7
- data/lib/when_exe/tmobjects.rb +34 -2
- data/lib/when_exe/tmposition.rb +225 -1322
- data/lib/when_exe/tmptypes.rb +1279 -0
- data/lib/when_exe/tmreference.rb +42 -7
- data/lib/when_exe/version.rb +3 -3
- data/test/events/example-datasets +6 -0
- data/test/events/history-dataset.csv +22 -0
- data/test/events/japanese-holiday-index.csv +28 -0
- data/test/events/japanese-holiday.csv +94 -0
- data/test/events/japanese-holiday.ttl +948 -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/JapanHolidays.ics +2 -2
- data/test/examples/JapanHolidaysRFC6350.ics +3 -3
- data/test/examples/Residue.m17n +2 -2
- data/test/examples/Spatial.m17n +3 -3
- data/test/examples/Terms.m17n +3 -3
- data/test/scripts/8.ext.rb +6 -6
- data/test/scripts/8.rb +6 -6
- data/test/scripts/geometric_complex.rb +41 -41
- data/test/scripts/korea.rb +59 -59
- data/test/scripts/thai.rb +36 -36
- data/test/test.rb +6 -0
- data/test/test/basictypes.rb +431 -431
- data/test/test/calendarnote.rb +86 -86
- data/test/test/calendartypes.rb +97 -97
- data/test/test/coordinates.rb +399 -397
- data/test/test/ephemeris.rb +115 -115
- data/test/test/ephemeris/moon.rb +14 -14
- data/test/test/ephemeris/planets.rb +14 -14
- data/test/test/ephemeris/sun.rb +14 -14
- data/test/test/events.rb +32 -0
- data/test/test/google_api.rb +45 -32
- data/test/test/inspect.rb +153 -153
- data/test/test/parts.rb +488 -488
- data/test/test/region/armenian.rb +20 -20
- data/test/test/region/bahai.rb +58 -58
- data/test/test/region/balinese.rb +34 -34
- data/test/test/region/chinese.rb +229 -229
- data/test/test/region/christian.rb +226 -226
- data/test/test/region/coptic.rb +27 -27
- data/test/test/region/discordian.rb +20 -20
- data/test/test/region/french.rb +33 -33
- data/test/test/region/geologicalage.rb +17 -17
- data/test/test/region/indian.rb +14 -1
- data/test/test/region/iran.rb +54 -54
- data/test/test/region/islamic.rb +64 -54
- data/test/test/region/japanese.rb +281 -261
- data/test/test/region/jewish.rb +63 -63
- data/test/test/region/m17n.rb +21 -21
- data/test/test/region/mayan.rb +17 -16
- data/test/test/region/reforms.rb +2 -2
- data/test/test/region/residue.rb +7 -7
- data/test/test/region/shire.rb +58 -58
- data/test/test/region/swedish.rb +45 -45
- data/test/test/region/thai.rb +116 -116
- data/test/test/region/tibetan.rb +30 -30
- data/test/test/region/vietnamese.rb +102 -102
- data/test/test/region/zoroastrian.rb +58 -58
- data/test/test/timestandard.rb +81 -81
- data/test/test/tmobjects.rb +402 -402
- data/test/test/tmposition.rb +66 -4
- data/test/test/tmreference.rb +157 -157
- metadata +36 -93
|
@@ -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","日本史小百科「暦」","京都市"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
BEGIN:VCALENDAR
|
|
2
|
-
# Copyright (C) 2011 Takashi SUGA
|
|
2
|
+
# Copyright (C) 2011-2015 Takashi SUGA
|
|
3
3
|
#
|
|
4
4
|
# You may use and/or modify this file according to the license
|
|
5
5
|
# described in the LICENSE.txt file included in this archive.
|
|
@@ -8,7 +8,7 @@ BEGIN:VCALENDAR
|
|
|
8
8
|
VERSION:2.0
|
|
9
9
|
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
|
|
10
10
|
LOCALE:[ja=ja:,*en=en:]
|
|
11
|
-
NAMESPACE:[ja=
|
|
11
|
+
NAMESPACE:[ja=https://ja.wikipedia.org/wiki/,en=https://en.wikipedia.org/wiki/]
|
|
12
12
|
BEGIN:VTIMEZONE
|
|
13
13
|
TZID:Asia/Tokyo
|
|
14
14
|
X-LIC-LOCATION:Asia/Tokyo
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
BEGIN:VCALENDAR
|
|
2
|
-
# Copyright (C) 2011-
|
|
2
|
+
# Copyright (C) 2011-2015 Takashi SUGA
|
|
3
3
|
#
|
|
4
4
|
# You may use and/or modify this file according to the license
|
|
5
5
|
# described in the LICENSE.txt file included in this archive.
|
|
@@ -7,8 +7,8 @@ BEGIN:VCALENDAR
|
|
|
7
7
|
|
|
8
8
|
VERSION:2.0
|
|
9
9
|
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
|
|
10
|
-
NAMESPACE;ALTID=1;PREFIX=ja:
|
|
11
|
-
NAMESPACE;ALTID=1;PREFIX=en:
|
|
10
|
+
NAMESPACE;ALTID=1;PREFIX=ja:https://ja.wikipedia.org/wiki/
|
|
11
|
+
NAMESPACE;ALTID=1;PREFIX=en:https://en.wikipedia.org/wiki/
|
|
12
12
|
BEGIN:VTIMEZONE
|
|
13
13
|
TZID:Asia/Tokyo
|
|
14
14
|
X-LIC-LOCATION:Asia/Tokyo
|
data/test/examples/Residue.m17n
CHANGED
|
@@ -3,8 +3,8 @@ BEGIN:B:M17N
|
|
|
3
3
|
#
|
|
4
4
|
# You may use and/or modify this file according to the license
|
|
5
5
|
# described in the LICENSE.txt file included in this archive.
|
|
6
|
-
NAMESPACE:[en=
|
|
7
|
-
ja=
|
|
6
|
+
NAMESPACE:[en=https://en.wikipedia.org/wiki/,
|
|
7
|
+
ja=https://ja.wikipedia.org/wiki/]
|
|
8
8
|
LOCALE:[=en:, ja=ja:, alias]
|
|
9
9
|
NAMES:[Residue]
|
|
10
10
|
|
data/test/examples/Spatial.m17n
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
BEGIN:B:M17N
|
|
2
|
-
# Copyright (C) 2011-
|
|
2
|
+
# Copyright (C) 2011-2015 Takashi SUGA
|
|
3
3
|
#
|
|
4
4
|
# You may use and/or modify this file according to the license
|
|
5
5
|
# described in the LICENSE.txt file included in this archive.
|
|
6
|
-
NAMESPACE:[ja=
|
|
7
|
-
NAMESPACE;ALTID=1;PREFIX=en:
|
|
6
|
+
NAMESPACE:[ja=https://ja.wikipedia.org/wiki/]
|
|
7
|
+
NAMESPACE;ALTID=1;PREFIX=en:https://en.wikipedia.org/wiki/
|
|
8
8
|
LOCALE:[=en:, ja=ja:, alias]
|
|
9
9
|
NAMES:[Locations]
|
|
10
10
|
|
data/test/examples/Terms.m17n
CHANGED
|
@@ -3,15 +3,15 @@ BEGIN:B:M17n
|
|
|
3
3
|
#
|
|
4
4
|
# You may use and/or modify this file according to the license
|
|
5
5
|
# described in the LICENSE.txt file included in this archive.
|
|
6
|
-
NAMESPACE:[en=
|
|
7
|
-
ja=
|
|
6
|
+
NAMESPACE:[en=https://en.wikipedia.org/wiki/,
|
|
7
|
+
ja=https://ja.wikipedia.org/wiki/]
|
|
8
8
|
LOCALE:[=en:, ja=ja:, alias]
|
|
9
9
|
NAMES:[Calendar=]
|
|
10
10
|
|
|
11
11
|
[Calendars_and_Eras=, 暦法と紀元=]
|
|
12
12
|
|
|
13
13
|
BEGIN:B:M17n
|
|
14
|
-
NAMES:[month name, 月の名前=ja
|
|
14
|
+
NAMES:[month name, 月の名前=ja:%%<月_(暦)>, *Month=]
|
|
15
15
|
B:M17N:[January, 1月]
|
|
16
16
|
B:M17N:[February, 2月]
|
|
17
17
|
B:M17N:[March, 3月]
|
data/test/scripts/8.ext.rb
CHANGED
|
@@ -23,9 +23,9 @@ p gregorian.translate('fr') #=> "Gregorian" (未定義でデフ
|
|
|
23
23
|
p gregorian/'ja' #=> "グレゴリオ暦"
|
|
24
24
|
p gregorian/'en' #=> "Gregorian"
|
|
25
25
|
p gregorian/'fr' #=> "Gregorian" (未定義でデフォルト使用)
|
|
26
|
-
p gregorian.reference('ja') #=> "
|
|
27
|
-
p gregorian.reference('en') #=> "
|
|
28
|
-
p gregorian.reference('fr') #=> "
|
|
26
|
+
p gregorian.reference('ja') #=> "https://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%AC%E3%82%B4%E3%83%AA%E3%82%AA%E6%9A%A6"
|
|
27
|
+
p gregorian.reference('en') #=> "https://en.wikipedia.org/wiki/Gregorian_calendar"
|
|
28
|
+
p gregorian.reference('fr') #=> "https://en.wikipedia.org/wiki/Gregorian_calendar" (未定義でデフォルト使用)
|
|
29
29
|
p 'Gregorian'.calendar.label.iri #=> "http://hosi.org/When/BasicTypes/M17n/Christian::Gregorian" (同じIRIのオブジェクト)
|
|
30
30
|
|
|
31
31
|
# * 一月
|
|
@@ -37,9 +37,9 @@ p january.translate('fr') #=> "janvier"
|
|
|
37
37
|
p january/'ja' #=> "1月"
|
|
38
38
|
p january/'en' #=> "January"
|
|
39
39
|
p january/'fr' #=> "janvier"
|
|
40
|
-
p january.reference('ja') #=> "
|
|
41
|
-
p january.reference('en') #=> "
|
|
42
|
-
p january.reference('fr') #=> "
|
|
40
|
+
p january.reference('ja') #=> "https://ja.wikipedia.org/wiki/1%E6%9C%88"
|
|
41
|
+
p january.reference('en') #=> "https://en.wikipedia.org/wiki/January"
|
|
42
|
+
p january.reference('fr') #=> "https://en.wikipedia.org/wiki/January" (未定義でデフォルト使用)
|
|
43
43
|
p '1月'.month_name.iri #=> "http://hosi.org/When/BasicTypes/M17n/Calendar::Month::January" (同じIRIのオブジェクト)
|
|
44
44
|
p 'Calendar::Month::January'.m17n.iri #=> "http://hosi.org/When/BasicTypes/M17n/Calendar::Month::January" (同じIRIのオブジェクト)
|
|
45
45
|
|
data/test/scripts/8.rb
CHANGED
|
@@ -24,9 +24,9 @@ p gregorian.translate('fr') #=> "Gregorian" (未定義でデフ
|
|
|
24
24
|
p gregorian/'ja' #=> "グレゴリオ暦"
|
|
25
25
|
p gregorian/'en' #=> "Gregorian"
|
|
26
26
|
p gregorian/'fr' #=> "Gregorian" (未定義でデフォルト使用)
|
|
27
|
-
p gregorian.reference('ja') #=> "
|
|
28
|
-
p gregorian.reference('en') #=> "
|
|
29
|
-
p gregorian.reference('fr') #=> "
|
|
27
|
+
p gregorian.reference('ja') #=> "https://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%AC%E3%82%B4%E3%83%AA%E3%82%AA%E6%9A%A6"
|
|
28
|
+
p gregorian.reference('en') #=> "https://en.wikipedia.org/wiki/Gregorian_calendar"
|
|
29
|
+
p gregorian.reference('fr') #=> "https://en.wikipedia.org/wiki/Gregorian_calendar" (未定義でデフォルト使用)
|
|
30
30
|
p Calendar('Gregorian').label.iri #=> "http://hosi.org/When/BasicTypes/M17n/Christian::Gregorian" (同じIRIのオブジェクト)
|
|
31
31
|
|
|
32
32
|
# * 一月
|
|
@@ -38,9 +38,9 @@ p january.translate('fr') #=> "janvier"
|
|
|
38
38
|
p january/'ja' #=> "1月"
|
|
39
39
|
p january/'en' #=> "January"
|
|
40
40
|
p january/'fr' #=> "janvier"
|
|
41
|
-
p january.reference('ja') #=> "
|
|
42
|
-
p january.reference('en') #=> "
|
|
43
|
-
p january.reference('fr') #=> "
|
|
41
|
+
p january.reference('ja') #=> "https://ja.wikipedia.org/wiki/1%E6%9C%88"
|
|
42
|
+
p january.reference('en') #=> "https://en.wikipedia.org/wiki/January"
|
|
43
|
+
p january.reference('fr') #=> "https://en.wikipedia.org/wiki/January" (未定義でデフォルト使用)
|
|
44
44
|
p MonthName('1月').iri #=> "http://hosi.org/When/BasicTypes/M17n/Calendar::Month::January" (同じIRIのオブジェクト)
|
|
45
45
|
p M17n('Calendar::Month::January').iri #=> "http://hosi.org/When/BasicTypes/M17n/Calendar::Month::January" (同じIRIのオブジェクト)
|
|
46
46
|
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
=begin
|
|
3
|
-
Copyright (C) 2011-2013 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
|
-
require 'pp'
|
|
10
|
-
require 'when_exe'
|
|
11
|
-
include When
|
|
12
|
-
|
|
13
|
-
range_null = Parts::GeometricComplex.new()
|
|
14
|
-
range_1_1 = Parts::GeometricComplex.new(1)
|
|
15
|
-
range_1_4 = Parts::GeometricComplex.new(1,4)
|
|
16
|
-
range_2_2 = Parts::GeometricComplex.new(2)
|
|
17
|
-
range_2_3 = Parts::GeometricComplex.new(2,3)
|
|
18
|
-
range_2_5 = Parts::GeometricComplex.new(2,5)
|
|
19
|
-
range_4_4 = Parts::GeometricComplex.new(4)
|
|
20
|
-
pp range_1_4
|
|
21
|
-
pp range_2_3
|
|
22
|
-
range_1_4.each {|x| pp x}
|
|
23
|
-
pp range_4_4
|
|
24
|
-
pp range_1_4 | range_2_3
|
|
25
|
-
pp range_1_4.include?(range_2_2)
|
|
26
|
-
pp range_1_4.include?(range_2_3)
|
|
27
|
-
range_1_5 = range_1_4 | range_2_5
|
|
28
|
-
pp range_1_5
|
|
29
|
-
pp range_1_4.include?(range_2_5)
|
|
30
|
-
pp range_1_4 | range_4_4
|
|
31
|
-
pp range_1_4.include?(range_4_4)
|
|
32
|
-
reverse_all = Parts::GeometricComplex.new(true)
|
|
33
|
-
reverse_1_4 = Parts::GeometricComplex.new(1,4, true)
|
|
34
|
-
reverse_2_3 = Parts::GeometricComplex.new(2,3, true)
|
|
35
|
-
reverse_2_5 = Parts::GeometricComplex.new(2,5, true)
|
|
36
|
-
pp reverse_all
|
|
37
|
-
pp reverse_1_4
|
|
38
|
-
pp reverse_2_3
|
|
39
|
-
pp reverse_2_3 | range_2_3
|
|
40
|
-
pp reverse_1_4 | range_2_5
|
|
41
|
-
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
=begin
|
|
3
|
+
Copyright (C) 2011-2013 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
|
+
require 'pp'
|
|
10
|
+
require 'when_exe'
|
|
11
|
+
include When
|
|
12
|
+
|
|
13
|
+
range_null = Parts::GeometricComplex.new()
|
|
14
|
+
range_1_1 = Parts::GeometricComplex.new(1)
|
|
15
|
+
range_1_4 = Parts::GeometricComplex.new(1,4)
|
|
16
|
+
range_2_2 = Parts::GeometricComplex.new(2)
|
|
17
|
+
range_2_3 = Parts::GeometricComplex.new(2,3)
|
|
18
|
+
range_2_5 = Parts::GeometricComplex.new(2,5)
|
|
19
|
+
range_4_4 = Parts::GeometricComplex.new(4)
|
|
20
|
+
pp range_1_4
|
|
21
|
+
pp range_2_3
|
|
22
|
+
range_1_4.each {|x| pp x}
|
|
23
|
+
pp range_4_4
|
|
24
|
+
pp range_1_4 | range_2_3
|
|
25
|
+
pp range_1_4.include?(range_2_2)
|
|
26
|
+
pp range_1_4.include?(range_2_3)
|
|
27
|
+
range_1_5 = range_1_4 | range_2_5
|
|
28
|
+
pp range_1_5
|
|
29
|
+
pp range_1_4.include?(range_2_5)
|
|
30
|
+
pp range_1_4 | range_4_4
|
|
31
|
+
pp range_1_4.include?(range_4_4)
|
|
32
|
+
reverse_all = Parts::GeometricComplex.new(true)
|
|
33
|
+
reverse_1_4 = Parts::GeometricComplex.new(1,4, true)
|
|
34
|
+
reverse_2_3 = Parts::GeometricComplex.new(2,3, true)
|
|
35
|
+
reverse_2_5 = Parts::GeometricComplex.new(2,5, true)
|
|
36
|
+
pp reverse_all
|
|
37
|
+
pp reverse_1_4
|
|
38
|
+
pp reverse_2_3
|
|
39
|
+
pp reverse_2_3 | range_2_3
|
|
40
|
+
pp reverse_1_4 | range_2_5
|
|
41
|
+
|
data/test/scripts/korea.rb
CHANGED
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
=begin
|
|
3
|
-
Copyright (C) 2014 Takashi SUGA
|
|
4
|
-
|
|
5
|
-
You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
|
|
6
|
-
=end
|
|
7
|
-
|
|
8
|
-
require 'when_exe'
|
|
9
|
-
require 'when_exe/region/chinese/calendars'
|
|
10
|
-
include When
|
|
11
|
-
|
|
12
|
-
class When::TM::CalendarEra
|
|
13
|
-
Korea = [self, [
|
|
14
|
-
'namespace:[en=
|
|
15
|
-
'locale:[=en:, ja=ja:, alias]',
|
|
16
|
-
'area:[Korea, 朝鮮]',
|
|
17
|
-
['[秦漢]1.01.01', '@CR', "1-01-01^Chinese_103"],
|
|
18
|
-
['[魏晋]239.01.01', '@CR', "239-01-01^Chinese0239"],
|
|
19
|
-
['[南朝]451.01.01', '@CR', "451-01-01^Chinese0445"],
|
|
20
|
-
['[隋唐]590.01.01', '@CR', "590-01-01^Chinese0523"],
|
|
21
|
-
['[宣明]893.01.01', '@CR', "893-01-01^ChineseTwin::宣明暦"],
|
|
22
|
-
['[大統]1309.01.01', '@CR', "1309-01-01^Chinese0939"],
|
|
23
|
-
['[時憲]1653.01.01', '@CR', "1653-01-01^Chinese1645"],
|
|
24
|
-
['[旧暦]1912.01.01', '@CR', "1912-01-01^ChineseLuniSolar?time_basis=+09:00"]
|
|
25
|
-
]]
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
R = {'10-'=>'0X-', '11-'=>'0N-', '12-'=>'0D-'}
|
|
29
|
-
|
|
30
|
-
def list_1st_day(range, calendar)
|
|
31
|
-
range.each do |year|
|
|
32
|
-
list = "%4d" % year
|
|
33
|
-
kdate = first = when?("Korea#{year}.1.1")
|
|
34
|
-
loop do
|
|
35
|
-
wdate = (calendar ^ kdate).to_s[-5..-1]
|
|
36
|
-
wdate.sub!(/1.-/) {|c| R[c]}
|
|
37
|
-
wdate.sub!(/^0/, '')
|
|
38
|
-
wdate.sub!('-', '+') if kdate.length(MONTH) == 30
|
|
39
|
-
list += (kdate[MONTH] * 0 == 0) ? " #{wdate} " : " (#{wdate})"
|
|
40
|
-
kdate += P1M
|
|
41
|
-
break unless year == kdate[YEAR]
|
|
42
|
-
end
|
|
43
|
-
puts list
|
|
44
|
-
=begin
|
|
45
|
-
list = " "
|
|
46
|
-
kdate = first
|
|
47
|
-
loop do
|
|
48
|
-
wdate = (Residue('干支') % kdate).label
|
|
49
|
-
list += (kdate[MONTH] * 0 == 0) ? " #{wdate} " : " (#{wdate})"
|
|
50
|
-
kdate += P1M
|
|
51
|
-
break unless year == kdate[YEAR]
|
|
52
|
-
end
|
|
53
|
-
puts list
|
|
54
|
-
=end
|
|
55
|
-
puts if year % 10 == 0
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
list_1st_day(1..1895, Civil)
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
=begin
|
|
3
|
+
Copyright (C) 2014 Takashi SUGA
|
|
4
|
+
|
|
5
|
+
You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
|
|
6
|
+
=end
|
|
7
|
+
|
|
8
|
+
require 'when_exe'
|
|
9
|
+
require 'when_exe/region/chinese/calendars'
|
|
10
|
+
include When
|
|
11
|
+
|
|
12
|
+
class When::TM::CalendarEra
|
|
13
|
+
Korea = [self, [
|
|
14
|
+
'namespace:[en=https://en.wikipedia.org/wiki/, ja=https://ja.wikipedia.org/wiki/]',
|
|
15
|
+
'locale:[=en:, ja=ja:, alias]',
|
|
16
|
+
'area:[Korea, 朝鮮]',
|
|
17
|
+
['[秦漢]1.01.01', '@CR', "1-01-01^Chinese_103"],
|
|
18
|
+
['[魏晋]239.01.01', '@CR', "239-01-01^Chinese0239"],
|
|
19
|
+
['[南朝]451.01.01', '@CR', "451-01-01^Chinese0445"],
|
|
20
|
+
['[隋唐]590.01.01', '@CR', "590-01-01^Chinese0523"],
|
|
21
|
+
['[宣明]893.01.01', '@CR', "893-01-01^ChineseTwin::宣明暦"],
|
|
22
|
+
['[大統]1309.01.01', '@CR', "1309-01-01^Chinese0939"],
|
|
23
|
+
['[時憲]1653.01.01', '@CR', "1653-01-01^Chinese1645"],
|
|
24
|
+
['[旧暦]1912.01.01', '@CR', "1912-01-01^ChineseLuniSolar?time_basis=+09:00"]
|
|
25
|
+
]]
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
R = {'10-'=>'0X-', '11-'=>'0N-', '12-'=>'0D-'}
|
|
29
|
+
|
|
30
|
+
def list_1st_day(range, calendar)
|
|
31
|
+
range.each do |year|
|
|
32
|
+
list = "%4d" % year
|
|
33
|
+
kdate = first = when?("Korea#{year}.1.1")
|
|
34
|
+
loop do
|
|
35
|
+
wdate = (calendar ^ kdate).to_s[-5..-1]
|
|
36
|
+
wdate.sub!(/1.-/) {|c| R[c]}
|
|
37
|
+
wdate.sub!(/^0/, '')
|
|
38
|
+
wdate.sub!('-', '+') if kdate.length(MONTH) == 30
|
|
39
|
+
list += (kdate[MONTH] * 0 == 0) ? " #{wdate} " : " (#{wdate})"
|
|
40
|
+
kdate += P1M
|
|
41
|
+
break unless year == kdate[YEAR]
|
|
42
|
+
end
|
|
43
|
+
puts list
|
|
44
|
+
=begin
|
|
45
|
+
list = " "
|
|
46
|
+
kdate = first
|
|
47
|
+
loop do
|
|
48
|
+
wdate = (Residue('干支') % kdate).label
|
|
49
|
+
list += (kdate[MONTH] * 0 == 0) ? " #{wdate} " : " (#{wdate})"
|
|
50
|
+
kdate += P1M
|
|
51
|
+
break unless year == kdate[YEAR]
|
|
52
|
+
end
|
|
53
|
+
puts list
|
|
54
|
+
=end
|
|
55
|
+
puts if year % 10 == 0
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
list_1st_day(1..1895, Civil)
|
data/test/scripts/thai.rb
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
=begin
|
|
3
|
-
Copyright (C) 2011-2014 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
|
-
require 'pp'
|
|
10
|
-
require 'when_exe'
|
|
11
|
-
include When
|
|
12
|
-
|
|
13
|
-
Type = {
|
|
14
|
-
354 => 'A',
|
|
15
|
-
355 => 'B',
|
|
16
|
-
384 => 'C'
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
Pattern = {}
|
|
20
|
-
|
|
21
|
-
open('scripts/thai-reviewed.txt', 'r') do |source|
|
|
22
|
-
this_year = nil
|
|
23
|
-
while (line=source.gets)
|
|
24
|
-
year, month, day = line.split(/ +/)[2..4].map {|c| c.to_i}
|
|
25
|
-
next_year = TemporalPosition(year, month, day, :frame=>Gregorian)
|
|
26
|
-
thai_year = TemporalPosition(year-638, 6, 1, :frame=>'ThaiT')
|
|
27
|
-
raise ArgumentError, "#{next_year} != #{Gregorian ^ thai_year}" unless next_year.to_i == thai_year.to_i
|
|
28
|
-
year -= 1
|
|
29
|
-
if this_year
|
|
30
|
-
type = Type[next_year.to_i-this_year.to_i]
|
|
31
|
-
Pattern[year] = type
|
|
32
|
-
puts "%04d,%04d,%s" % [year, year-638, type || '!']
|
|
33
|
-
end
|
|
34
|
-
this_year = next_year
|
|
35
|
-
end
|
|
36
|
-
end
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
=begin
|
|
3
|
+
Copyright (C) 2011-2014 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
|
+
require 'pp'
|
|
10
|
+
require 'when_exe'
|
|
11
|
+
include When
|
|
12
|
+
|
|
13
|
+
Type = {
|
|
14
|
+
354 => 'A',
|
|
15
|
+
355 => 'B',
|
|
16
|
+
384 => 'C'
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
Pattern = {}
|
|
20
|
+
|
|
21
|
+
open('scripts/thai-reviewed.txt', 'r') do |source|
|
|
22
|
+
this_year = nil
|
|
23
|
+
while (line=source.gets)
|
|
24
|
+
year, month, day = line.split(/ +/)[2..4].map {|c| c.to_i}
|
|
25
|
+
next_year = TemporalPosition(year, month, day, :frame=>Gregorian)
|
|
26
|
+
thai_year = TemporalPosition(year-638, 6, 1, :frame=>'ThaiT')
|
|
27
|
+
raise ArgumentError, "#{next_year} != #{Gregorian ^ thai_year}" unless next_year.to_i == thai_year.to_i
|
|
28
|
+
year -= 1
|
|
29
|
+
if this_year
|
|
30
|
+
type = Type[next_year.to_i-this_year.to_i]
|
|
31
|
+
Pattern[year] = type
|
|
32
|
+
puts "%04d,%04d,%s" % [year, year-638, type || '!']
|
|
33
|
+
end
|
|
34
|
+
this_year = next_year
|
|
35
|
+
end
|
|
36
|
+
end
|