when_exe 0.4.2 → 0.5.0

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