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.
Files changed (144) hide show
  1. checksums.yaml +5 -5
  2. data/LICENSE.ja.txt +8 -21
  3. data/LICENSE.txt +5 -27
  4. data/README.md +25 -79
  5. data/bin/.pryrc +9 -0
  6. data/bin/make_ttl.rb +3 -2
  7. data/bin/make_ttl.rb.config +3 -3
  8. data/lib/when_exe.rb +101 -5
  9. data/lib/when_exe/basictypes.rb +47 -16
  10. data/lib/when_exe/calendarnote.rb +27 -18
  11. data/lib/when_exe/calendartypes.rb +12 -50
  12. data/lib/when_exe/coordinates.rb +37 -391
  13. data/lib/when_exe/ephemeris.rb +53 -14
  14. data/lib/when_exe/ephemeris/eclipse.rb +8 -8
  15. data/lib/when_exe/ephemeris/moon.rb +333 -333
  16. data/lib/when_exe/ephemeris/notes.rb +29 -17
  17. data/lib/when_exe/ephemeris/phase_table.rb +825 -0
  18. data/lib/when_exe/ephemeris/term_table.rb +603 -0
  19. data/lib/when_exe/events.rb +1888 -0
  20. data/lib/when_exe/google_api.rb +26 -31
  21. data/lib/when_exe/icalendar.rb +129 -12
  22. data/lib/when_exe/inspect.rb +5 -5
  23. data/lib/when_exe/linkeddata.rb +43 -23
  24. data/lib/when_exe/locales/akt.rb +63 -0
  25. data/lib/when_exe/locales/encoding_conversion.rb +134 -134
  26. data/lib/when_exe/locales/iast.rb +90 -90
  27. data/lib/when_exe/locales/locale.rb +88 -18
  28. data/lib/when_exe/locales/transliteration_table.rb +62 -62
  29. data/lib/when_exe/mini_application.rb +14 -8
  30. data/lib/when_exe/namespace.rb +42 -0
  31. data/lib/when_exe/parts/enumerator.rb +16 -5
  32. data/lib/when_exe/parts/geometric_complex.rb +52 -2
  33. data/lib/when_exe/parts/method_cash.rb +229 -224
  34. data/lib/when_exe/parts/resource.rb +65 -35
  35. data/lib/when_exe/parts/timezone.rb +25 -34
  36. data/lib/when_exe/region/balinese.rb +5 -3
  37. data/lib/when_exe/region/chinese.rb +39 -11
  38. data/lib/when_exe/region/chinese/calendars.rb +1016 -1016
  39. data/lib/when_exe/region/chinese/epochs.rb +7 -7
  40. data/lib/when_exe/region/chinese/notes.rb +3 -3
  41. data/lib/when_exe/region/chinese/twins.rb +134 -11
  42. data/lib/when_exe/region/dee.rb +4 -4
  43. data/lib/when_exe/region/discordian.rb +1 -1
  44. data/lib/when_exe/region/geologicalage.rb +139 -128
  45. data/lib/when_exe/region/hanke_henry.rb +4 -4
  46. data/lib/when_exe/region/indian.rb +77 -8
  47. data/lib/when_exe/region/international_fixed.rb +3 -3
  48. data/lib/when_exe/region/islamic.rb +1 -1
  49. data/lib/when_exe/region/japanese.rb +12 -8
  50. data/lib/when_exe/region/japanese/calendars.rb +397 -397
  51. data/lib/when_exe/region/japanese/eclipses.rb +1194 -1194
  52. data/lib/when_exe/region/japanese/epochs.rb +8 -4
  53. data/lib/when_exe/region/japanese/location.rb +93 -0
  54. data/lib/when_exe/region/japanese/nihon_shoki.rb +70 -70
  55. data/lib/when_exe/region/japanese/notes.rb +57 -18
  56. data/lib/when_exe/region/japanese/residues.rb +33 -11
  57. data/lib/when_exe/region/japanese/twins.rb +27 -14
  58. data/lib/when_exe/region/japanese/weeks.rb +7 -7
  59. data/lib/when_exe/region/korean.rb +384 -384
  60. data/lib/when_exe/region/location.rb +40 -0
  61. data/lib/when_exe/region/martian.rb +1 -1
  62. data/lib/when_exe/region/mayan.rb +2 -2
  63. data/lib/when_exe/region/roman.rb +2 -2
  64. data/lib/when_exe/region/ryukyu.rb +101 -101
  65. data/lib/when_exe/region/saudi_arabian.rb +57 -0
  66. data/lib/when_exe/region/shire.rb +1 -1
  67. data/lib/when_exe/region/world.rb +3 -3
  68. data/lib/when_exe/region/zoroastrian.rb +1 -1
  69. data/lib/when_exe/spatial.rb +611 -0
  70. data/lib/when_exe/timestandard.rb +9 -7
  71. data/lib/when_exe/tmobjects.rb +34 -2
  72. data/lib/when_exe/tmposition.rb +225 -1322
  73. data/lib/when_exe/tmptypes.rb +1279 -0
  74. data/lib/when_exe/tmreference.rb +42 -7
  75. data/lib/when_exe/version.rb +3 -3
  76. data/test/events/example-datasets +6 -0
  77. data/test/events/history-dataset.csv +22 -0
  78. data/test/events/japanese-holiday-index.csv +28 -0
  79. data/test/events/japanese-holiday.csv +94 -0
  80. data/test/events/japanese-holiday.ttl +948 -0
  81. data/test/events/make_events_ttl.rb +18 -0
  82. data/test/events/mori_wikichoshi.csv +14 -0
  83. data/test/events/ndl_koyomi.csv +220 -0
  84. data/test/events/ndl_koyomi_index.csv +44 -0
  85. data/test/events/primeminister-dataset.csv +19 -0
  86. data/test/events/shogun-dataset.csv +22 -0
  87. data/test/events/test-history-dataset-edge-sparql.csv +26 -0
  88. data/test/events/test-history-dataset-edge.csv +27 -0
  89. data/test/events/test-history-dataset-sparql.csv +22 -0
  90. data/test/events/test-history-dataset.csv +23 -0
  91. data/test/events/test-history-events-edge.ttl +89 -0
  92. data/test/events/test-history-events.csv +6 -0
  93. data/test/examples/JapanHolidays.ics +2 -2
  94. data/test/examples/JapanHolidaysRFC6350.ics +3 -3
  95. data/test/examples/Residue.m17n +2 -2
  96. data/test/examples/Spatial.m17n +3 -3
  97. data/test/examples/Terms.m17n +3 -3
  98. data/test/scripts/8.ext.rb +6 -6
  99. data/test/scripts/8.rb +6 -6
  100. data/test/scripts/geometric_complex.rb +41 -41
  101. data/test/scripts/korea.rb +59 -59
  102. data/test/scripts/thai.rb +36 -36
  103. data/test/test.rb +6 -0
  104. data/test/test/basictypes.rb +431 -431
  105. data/test/test/calendarnote.rb +86 -86
  106. data/test/test/calendartypes.rb +97 -97
  107. data/test/test/coordinates.rb +399 -397
  108. data/test/test/ephemeris.rb +115 -115
  109. data/test/test/ephemeris/moon.rb +14 -14
  110. data/test/test/ephemeris/planets.rb +14 -14
  111. data/test/test/ephemeris/sun.rb +14 -14
  112. data/test/test/events.rb +32 -0
  113. data/test/test/google_api.rb +45 -32
  114. data/test/test/inspect.rb +153 -153
  115. data/test/test/parts.rb +488 -488
  116. data/test/test/region/armenian.rb +20 -20
  117. data/test/test/region/bahai.rb +58 -58
  118. data/test/test/region/balinese.rb +34 -34
  119. data/test/test/region/chinese.rb +229 -229
  120. data/test/test/region/christian.rb +226 -226
  121. data/test/test/region/coptic.rb +27 -27
  122. data/test/test/region/discordian.rb +20 -20
  123. data/test/test/region/french.rb +33 -33
  124. data/test/test/region/geologicalage.rb +17 -17
  125. data/test/test/region/indian.rb +14 -1
  126. data/test/test/region/iran.rb +54 -54
  127. data/test/test/region/islamic.rb +64 -54
  128. data/test/test/region/japanese.rb +281 -261
  129. data/test/test/region/jewish.rb +63 -63
  130. data/test/test/region/m17n.rb +21 -21
  131. data/test/test/region/mayan.rb +17 -16
  132. data/test/test/region/reforms.rb +2 -2
  133. data/test/test/region/residue.rb +7 -7
  134. data/test/test/region/shire.rb +58 -58
  135. data/test/test/region/swedish.rb +45 -45
  136. data/test/test/region/thai.rb +116 -116
  137. data/test/test/region/tibetan.rb +30 -30
  138. data/test/test/region/vietnamese.rb +102 -102
  139. data/test/test/region/zoroastrian.rb +58 -58
  140. data/test/test/timestandard.rb +81 -81
  141. data/test/test/tmobjects.rb +402 -402
  142. data/test/test/tmposition.rb +66 -4
  143. data/test/test/tmreference.rb +157 -157
  144. 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=http://ja.wikipedia.org/wiki/,en=http://en.wikipedia.org/wiki/]
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-2014 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.
@@ -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:http://ja.wikipedia.org/wiki/
11
- NAMESPACE;ALTID=1;PREFIX=en:http://en.wikipedia.org/wiki/
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
@@ -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=http://en.wikipedia.org/wiki/,
7
- ja=http://ja.wikipedia.org/wiki/]
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
 
@@ -1,10 +1,10 @@
1
1
  BEGIN:B:M17N
2
- # Copyright (C) 2011-2013 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.
6
- NAMESPACE:[ja=http://ja.wikipedia.org/wiki/]
7
- NAMESPACE;ALTID=1;PREFIX=en:http://en.wikipedia.org/wiki/
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
 
@@ -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=http://en.wikipedia.org/wiki/,
7
- ja=http://ja.wikipedia.org/wiki/]
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:%E6%9C%88_(%E6%9A%A6), *Month=]
14
+ NAMES:[month name, 月の名前=ja:%%<月_()>, *Month=]
15
15
  B:M17N:[January, 1月]
16
16
  B:M17N:[February, 2月]
17
17
  B:M17N:[March, 3月]
@@ -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') #=> "http://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') #=> "http://en.wikipedia.org/wiki/Gregorian_calendar"
28
- p gregorian.reference('fr') #=> "http://en.wikipedia.org/wiki/Gregorian_calendar" (未定義でデフォルト使用)
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') #=> "http://ja.wikipedia.org/wiki/1%E6%9C%88"
41
- p january.reference('en') #=> "http://en.wikipedia.org/wiki/January"
42
- p january.reference('fr') #=> "http://en.wikipedia.org/wiki/January" (未定義でデフォルト使用)
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') #=> "http://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') #=> "http://en.wikipedia.org/wiki/Gregorian_calendar"
29
- p gregorian.reference('fr') #=> "http://en.wikipedia.org/wiki/Gregorian_calendar" (未定義でデフォルト使用)
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') #=> "http://ja.wikipedia.org/wiki/1%E6%9C%88"
42
- p january.reference('en') #=> "http://en.wikipedia.org/wiki/January"
43
- p january.reference('fr') #=> "http://en.wikipedia.org/wiki/January" (未定義でデフォルト使用)
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
+
@@ -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=http://en.wikipedia.org/wiki/, ja=http://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)
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