zakuro 0.9.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (174) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -2
  3. data/README.md +41 -8
  4. data/VERSION +1 -1
  5. data/doc/gengou.md +1 -1
  6. data/doc/operation/csv/month.csv +8 -9
  7. data/doc/operation/operation.xlsx +0 -0
  8. data/images/logo-text.png +0 -0
  9. data/lib/zakuro/calculation/base/gengou.rb +2 -4
  10. data/lib/zakuro/calculation/base/year.rb +1 -1
  11. data/lib/zakuro/calculation/cycle/abstract_solar_term.rb +6 -0
  12. data/lib/zakuro/calculation/era/gengou/abstract_scroll.rb +2 -2
  13. data/lib/zakuro/calculation/era/gengou/dated_scroll.rb +4 -2
  14. data/lib/zakuro/calculation/era/gengou/internal/publisher.rb +1 -1
  15. data/lib/zakuro/calculation/era/gengou/internal/reserve/abstract_list.rb +13 -7
  16. data/lib/zakuro/calculation/era/gengou/internal/reserve/abstract_range.rb +18 -9
  17. data/lib/zakuro/calculation/era/gengou/internal/reserve/dated_list.rb +6 -2
  18. data/lib/zakuro/calculation/era/gengou/internal/reserve/dated_range.rb +5 -2
  19. data/lib/zakuro/calculation/era/gengou/internal/reserve/empty_link.rb +3 -3
  20. data/lib/zakuro/calculation/era/gengou/internal/reserve/named_list.rb +12 -4
  21. data/lib/zakuro/calculation/era/gengou/internal/reserve/named_range.rb +10 -4
  22. data/lib/zakuro/calculation/era/gengou/named_scroll.rb +5 -2
  23. data/lib/zakuro/calculation/era/version/internal/crawler.rb +3 -3
  24. data/lib/zakuro/calculation/monthly/abstract_lunar_phase.rb +1 -1
  25. data/lib/zakuro/calculation/monthly/internal/date_comparer.rb +78 -0
  26. data/lib/zakuro/calculation/monthly/{meta → internal/meta}/all_solar_term.rb +1 -1
  27. data/lib/zakuro/calculation/monthly/{meta → internal/meta}/meta_collector.rb +2 -2
  28. data/lib/zakuro/calculation/monthly/{first_day.rb → internal/part/first_day.rb} +2 -2
  29. data/lib/zakuro/calculation/monthly/{meta.rb → internal/part/meta.rb} +1 -1
  30. data/lib/zakuro/calculation/monthly/internal/solar_term_selector.rb +203 -0
  31. data/lib/zakuro/calculation/monthly/month.rb +38 -74
  32. data/lib/zakuro/calculation/monthly/operated_month.rb +7 -2
  33. data/lib/zakuro/calculation/option/dropped_date/location.rb +8 -1
  34. data/lib/zakuro/calculation/range/dated_full_range.rb +6 -3
  35. data/lib/zakuro/calculation/range/dated_operation_range.rb +2 -1
  36. data/lib/zakuro/calculation/range/medieval_annual_range.rb +0 -2
  37. data/lib/zakuro/calculation/range/named_full_range.rb +1 -1
  38. data/lib/zakuro/calculation/range/transfer/gengou_scroller.rb +24 -10
  39. data/lib/zakuro/calculation/stella/solar/abstract_average.rb +3 -3
  40. data/lib/zakuro/calculation/summary/internal/option/dropped_date.rb +102 -0
  41. data/lib/zakuro/calculation/summary/internal/option/vanished_date.rb +111 -0
  42. data/lib/zakuro/calculation/summary/internal/option.rb +4 -137
  43. data/lib/zakuro/calculation/summary/japan/range.rb +4 -5
  44. data/lib/zakuro/calculation/summary/western/range.rb +8 -1
  45. data/lib/zakuro/calculation/summary/western/single.rb +10 -5
  46. data/lib/zakuro/context/version_class_resolver.rb +5 -5
  47. data/lib/zakuro/era/japan/calendar.rb +4 -4
  48. data/lib/zakuro/era/japan/gengou/alignment/division.rb +2 -2
  49. data/lib/zakuro/era/japan/gengou/alignment/linear_gengou.rb +2 -2
  50. data/lib/zakuro/era/japan/gengou/alignment.rb +35 -6
  51. data/lib/zakuro/era/japan/gengou/resource/parser.rb +17 -16
  52. data/lib/zakuro/era/japan/gengou/resource/validator.rb +3 -394
  53. data/lib/zakuro/era/japan/gengou/resource/yaml/set-001-until-south.yaml +2 -2
  54. data/lib/zakuro/era/japan/gengou.rb +8 -6
  55. data/lib/zakuro/era/japan/type/base/both/date.rb +51 -0
  56. data/lib/zakuro/era/japan/type/base/both/year.rb +53 -0
  57. data/lib/zakuro/era/japan/type/base/gengou.rb +177 -0
  58. data/lib/zakuro/era/japan/type/base/gengou_set.rb +78 -0
  59. data/lib/zakuro/era/japan/type/base/switch_date.rb +74 -0
  60. data/lib/zakuro/era/japan/type/base/version_range.rb +189 -0
  61. data/lib/zakuro/era/japan/type/validation/both/date.rb +99 -0
  62. data/lib/zakuro/era/japan/type/validation/both/year.rb +75 -0
  63. data/lib/zakuro/era/japan/type/validation/gengou.rb +93 -0
  64. data/lib/zakuro/era/japan/type/validation/gengou_set.rb +133 -0
  65. data/lib/zakuro/era/japan/type/validation/switch_date.rb +73 -0
  66. data/lib/zakuro/era/japan/type/validation/version_range.rb +109 -0
  67. data/lib/zakuro/era/japan/type/validation/version_root.rb +102 -0
  68. data/lib/zakuro/era/japan/version/resource/parser.rb +266 -0
  69. data/lib/zakuro/era/japan/version/resource/validator.rb +37 -0
  70. data/lib/zakuro/era/japan/version/resource/yaml/version.yaml +80 -0
  71. data/lib/zakuro/era/japan/version/resource.rb +22 -0
  72. data/lib/zakuro/era/japan/version.rb +4 -115
  73. data/lib/zakuro/era/western/calendar.rb +2 -2
  74. data/lib/zakuro/exception/zakuro_error.rb +1 -1
  75. data/lib/zakuro/merchant.rb +5 -5
  76. data/lib/zakuro/operation/month/parser.rb +2 -2
  77. data/lib/zakuro/operation/yaml/month.yaml +8 -40
  78. data/lib/zakuro/output/logger.rb +4 -4
  79. data/lib/zakuro/parameter/catalog/basis_date.rb +55 -0
  80. data/lib/zakuro/parameter/catalog/column.rb +57 -0
  81. data/lib/zakuro/parameter/catalog/option.rb +60 -0
  82. data/lib/zakuro/parameter/catalog/range.rb +81 -0
  83. data/lib/zakuro/parameter/condition.rb +108 -0
  84. data/lib/zakuro/result/core.rb +2 -2
  85. data/lib/zakuro/{tools → tool}/remainder_comparer.rb +3 -2
  86. data/lib/zakuro/{tools → tool}/stringifier.rb +3 -3
  87. data/lib/zakuro/{tools → tool}/typeconv.rb +2 -2
  88. data/lib/zakuro/{tools → tool}/typeof.rb +2 -2
  89. data/lib/zakuro/version/daien/const/number.rb +42 -39
  90. data/lib/zakuro/version/daien/const/remainder.rb +38 -35
  91. data/lib/zakuro/version/daien/cycle/remainder.rb +77 -74
  92. data/lib/zakuro/version/daien/cycle/solar_term.rb +18 -15
  93. data/lib/zakuro/version/daien/daien.rb +8 -5
  94. data/lib/zakuro/version/daien/monthly/lunar_phase.rb +67 -64
  95. data/lib/zakuro/version/daien/option/dropped_date/parameter.rb +15 -12
  96. data/lib/zakuro/version/daien/option/vanished_date/parameter.rb +15 -12
  97. data/lib/zakuro/version/daien/range/annual_range.rb +27 -24
  98. data/lib/zakuro/version/daien/stella/lunar/adjustment.rb +209 -206
  99. data/lib/zakuro/version/daien/stella/lunar/localization.rb +32 -29
  100. data/lib/zakuro/version/daien/stella/lunar/location.rb +53 -50
  101. data/lib/zakuro/version/daien/stella/lunar/value.rb +65 -62
  102. data/lib/zakuro/version/daien/stella/origin/average_november.rb +23 -20
  103. data/lib/zakuro/version/daien/stella/origin/lunar_age.rb +42 -39
  104. data/lib/zakuro/version/daien/stella/origin/winter_solstice.rb +44 -41
  105. data/lib/zakuro/version/daien/stella/solar/adjustment.rb +74 -71
  106. data/lib/zakuro/version/daien/stella/solar/average.rb +68 -65
  107. data/lib/zakuro/version/daien/stella/solar/interval.rb +95 -92
  108. data/lib/zakuro/version/daien/stella/solar/location.rb +41 -38
  109. data/lib/zakuro/version/daien/stella/solar/value.rb +21 -18
  110. data/lib/zakuro/version/genka/const/number.rb +31 -28
  111. data/lib/zakuro/version/genka/const/remainder.rb +20 -17
  112. data/lib/zakuro/version/genka/cycle/remainder.rb +72 -69
  113. data/lib/zakuro/version/genka/cycle/solar_term.rb +18 -15
  114. data/lib/zakuro/version/genka/genka.rb +8 -5
  115. data/lib/zakuro/version/genka/monthly/lunar_phase.rb +82 -79
  116. data/lib/zakuro/version/genka/option/dropped_date/parameter.rb +13 -10
  117. data/lib/zakuro/version/genka/option/vanished_date/parameter.rb +13 -10
  118. data/lib/zakuro/version/genka/range/annual_range.rb +57 -54
  119. data/lib/zakuro/version/genka/stella/origin/first_term.rb +44 -41
  120. data/lib/zakuro/version/genka/stella/origin/january.rb +38 -35
  121. data/lib/zakuro/version/genka/stella/solar/average.rb +24 -21
  122. data/lib/zakuro/version/gihou/const/number.rb +40 -37
  123. data/lib/zakuro/version/gihou/const/remainder.rb +32 -29
  124. data/lib/zakuro/version/gihou/cycle/remainder.rb +38 -35
  125. data/lib/zakuro/version/gihou/cycle/solar_term.rb +18 -15
  126. data/lib/zakuro/version/gihou/gihou.rb +8 -5
  127. data/lib/zakuro/version/gihou/monthly/lunar_phase.rb +68 -65
  128. data/lib/zakuro/version/gihou/option/dropped_date/parameter.rb +13 -10
  129. data/lib/zakuro/version/gihou/option/vanished_date/parameter.rb +13 -10
  130. data/lib/zakuro/version/gihou/range/annual_range.rb +27 -24
  131. data/lib/zakuro/version/gihou/stella/lunar/adjustment.rb +212 -209
  132. data/lib/zakuro/version/gihou/stella/lunar/localization.rb +32 -29
  133. data/lib/zakuro/version/gihou/stella/lunar/location.rb +53 -50
  134. data/lib/zakuro/version/gihou/stella/lunar/value.rb +65 -62
  135. data/lib/zakuro/version/gihou/stella/origin/average_november.rb +23 -20
  136. data/lib/zakuro/version/gihou/stella/origin/lunar_age.rb +42 -39
  137. data/lib/zakuro/version/gihou/stella/origin/winter_solstice.rb +44 -41
  138. data/lib/zakuro/version/gihou/stella/solar/adjustment.rb +74 -71
  139. data/lib/zakuro/version/gihou/stella/solar/average.rb +67 -64
  140. data/lib/zakuro/version/gihou/stella/solar/interval.rb +95 -92
  141. data/lib/zakuro/version/gihou/stella/solar/location.rb +41 -38
  142. data/lib/zakuro/version/gihou/stella/solar/value.rb +21 -18
  143. data/lib/zakuro/version/gregorio/gregorio.rb +8 -5
  144. data/lib/zakuro/version/houryaku/houryaku.rb +8 -5
  145. data/lib/zakuro/version/joukyou/joukyou.rb +8 -5
  146. data/lib/zakuro/version/kansei/kansei.rb +8 -5
  147. data/lib/zakuro/version/senmyou/const/number.rb +40 -37
  148. data/lib/zakuro/version/senmyou/const/remainder.rb +35 -32
  149. data/lib/zakuro/version/senmyou/cycle/remainder.rb +74 -71
  150. data/lib/zakuro/version/senmyou/cycle/solar_term.rb +18 -15
  151. data/lib/zakuro/version/senmyou/monthly/lunar_phase.rb +69 -66
  152. data/lib/zakuro/version/senmyou/option/dropped_date/parameter.rb +15 -12
  153. data/lib/zakuro/version/senmyou/option/vanished_date/parameter.rb +15 -12
  154. data/lib/zakuro/version/senmyou/range/annual_range.rb +27 -24
  155. data/lib/zakuro/version/senmyou/senmyou.rb +8 -5
  156. data/lib/zakuro/version/senmyou/stella/lunar/adjustment.rb +206 -203
  157. data/lib/zakuro/version/senmyou/stella/lunar/localization.rb +32 -29
  158. data/lib/zakuro/version/senmyou/stella/lunar/location.rb +60 -57
  159. data/lib/zakuro/version/senmyou/stella/lunar/value.rb +66 -63
  160. data/lib/zakuro/version/senmyou/stella/origin/average_november.rb +23 -20
  161. data/lib/zakuro/version/senmyou/stella/origin/lunar_age.rb +42 -39
  162. data/lib/zakuro/version/senmyou/stella/origin/winter_solstice.rb +44 -41
  163. data/lib/zakuro/version/senmyou/stella/solar/adjustment.rb +74 -71
  164. data/lib/zakuro/version/senmyou/stella/solar/average.rb +67 -64
  165. data/lib/zakuro/version/senmyou/stella/solar/interval.rb +93 -90
  166. data/lib/zakuro/version/senmyou/stella/solar/location.rb +41 -38
  167. data/lib/zakuro/version/senmyou/stella/solar/value.rb +23 -20
  168. data/lib/zakuro/version/tenpou/tenpou.rb +8 -5
  169. metadata +40 -15
  170. data/lib/zakuro/condition.rb +0 -306
  171. data/lib/zakuro/era/japan/gengou/resource/type.rb +0 -356
  172. /data/lib/zakuro/calculation/monthly/{operated_solar_term.rb → internal/operated_solar_term.rb} +0 -0
  173. /data/lib/zakuro/calculation/monthly/{const.rb → internal/part/const.rb} +0 -0
  174. /data/lib/zakuro/calculation/monthly/{month_label.rb → internal/part/month_label.rb} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 79211341aba598e1c98e7b3df3ffe0ce6f3016027fe0b2459bd2c68a18703e89
4
- data.tar.gz: 17d2537acf7d477b6292d1b14e02dbd355499d1c12cf2491e419124108175d9b
3
+ metadata.gz: 9dff0990ea44fc948599f2db2f6f4492caff773c328daabc39331716a31a43d2
4
+ data.tar.gz: 41a7b9296620670afec817686125f54bed22ee9f0410b544976fd819db7f0dd4
5
5
  SHA512:
6
- metadata.gz: '0196f4cd32a1b8b2d9d517ead1abf747f3be612d59514f68ef75670169c17da9e5222b8d1b63504520653aca6646a840a46b052246d192d27e22146372b52e14'
7
- data.tar.gz: 8a9f4e91afd4d07868a470e8e372bd0534ddc9f72e55551febc3aba3970b589c896cf0ca8555e1bb71f1606d78078eabd5f70f5125b1680fd1e0b1eaeece9b54
6
+ metadata.gz: fe25f45f51c09f32fa1030defd7f05e5fa7ef0dd154b89840891f2d3c10c0736a13d9e327288c39f61d8a32dc3a248cb67a50c2e29b7c94cd8b3f22bc7389be9
7
+ data.tar.gz: 1251d5ac296435da1fcdc17db8493188432141b17c4dc21cea8cde0436f4597bd610b97ccbcbd225fd6d1a522ff106e70d643e11ac4211e42969a56cf91dd59a
data/Gemfile CHANGED
@@ -13,8 +13,8 @@ end
13
13
 
14
14
  group :development do
15
15
  gem 'debase'
16
- gem 'reek'
17
- gem 'rubocop-performance'
16
+ gem 'reek', '6.1.4'
17
+ gem 'rubocop', '1.52.1'
18
18
  gem 'ruby-debug-ide'
19
19
  gem 'solargraph'
20
20
  gem 'yard'
data/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ ![logo](images/logo-text.png)
2
+
1
3
  # Zakuro - 石榴
2
4
  zakuro は日本の暦を扱う暦算ライブラリです。
3
5
 
@@ -10,15 +12,43 @@ zakuro は日本の暦を扱う暦算ライブラリです。
10
12
 
11
13
  石榴はただ伝来しただけでなく、日本の地に根づいております。これを日本の暦になぞらえ、和名の「ざくろ」を冠することと致します。
12
14
 
13
- ## 導入
15
+ # 有用性
16
+
17
+ 下記3資料を用いた和暦日(没日・滅日あり)の特定を一度の検索で可能とします。
18
+
19
+ 1. 『日本暦日原典〔第四版〕』
20
+ 2. 『日本暦日便覧』第四章 没日と滅日
21
+ 3. 『日本史年表 第5版』
22
+
23
+ 上記資料を用いる場合は、西暦年月日から1、2の該当のページを引き当てます。
24
+
25
+ ただし、元号年表記のため、正確な元号は3の元号年月日を参照する必要があります。
26
+
27
+ 本ライブラリはこの手順をスキップし、直接、暦算値つきの和暦日を結果とします。
28
+
29
+ さらに、和暦日からの西暦日検索も併せて可能とします。
14
30
 
15
- ### Ruby
31
+ [日本の暦日データベース](https://eco.mtk.nao.ac.jp/cgi-bin/koyomi/caldb.cgi) に近しい機能を持ちますが、
16
32
 
17
- 次の範囲で動作確認しております。
33
+ 暦算値や没日・滅日を併せて結果出力する点が異なります。
18
34
 
19
- `2.6.x - 3.0.x`
35
+ # 導入
20
36
 
21
- ### Gem
37
+ ## Ruby
38
+
39
+ Rubyの推奨バージョンは次の範囲とします。
40
+
41
+ `2.6.x - 3.3.x`
42
+
43
+ 当ライブラリのバージョンが `1.0.0` の時点では、下記バージョンで動作確認を実施しております。
44
+ * 2.6.3
45
+ * 2.7.6
46
+ * 3.0.6
47
+ * 3.1.4
48
+ * 3.2.2
49
+ * 3.3.0-preview1
50
+
51
+ ## Gem
22
52
 
23
53
  [rubygem](https://rubygems.org/gems/zakuro) に登録しております。
24
54
 
@@ -40,7 +70,7 @@ Or install it yourself as:
40
70
 
41
71
  1日検索/期間検索に対応しております。
42
72
 
43
- 下記表で暦算ありの暦は使用可能です。
73
+ バージョンが `1.0.0` の時点では、下記表で暦算ありの暦が使用可能です。
44
74
 
45
75
  |開始日|暦 |計算方法|暦算|没日|滅日|
46
76
  |:----|:----|:----|:---|:---|:---|
@@ -62,8 +92,6 @@ Or install it yourself as:
62
92
 
63
93
  現在は「長慶宣明暦算法」の計算手順Aのみ対応しております。
64
94
 
65
- 「没日」「滅日」は計算できますが、正誤を確認中です。
66
-
67
95
  # 使用方法
68
96
 
69
97
  [使用方法](./doc/usage.md) を参照してください。
@@ -122,6 +150,11 @@ Or install it yourself as:
122
150
 
123
151
  https://github.com/pldb/zakuro
124
152
 
153
+ ## ロゴ・バナー
154
+
155
+ * 制作: [migut.t](https://www.instagram.com/migut.t/#)
156
+ * 調整: [pldb](https://github.com/pldb)
157
+
125
158
 
126
159
  ## ライセンス
127
160
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.9.3
1
+ 1.0.0
data/doc/gengou.md CHANGED
@@ -106,7 +106,7 @@
106
106
  |治安|1|1021-2-15|1年2月2日|1021-3-17|1021-3-17| |
107
107
  |万寿|1|1024-2-13|1年7月13日|1024-8-19|1024-8-19| |
108
108
  |長元|1|1028-1-30|1年7月25日|1028-8-18|1028-8-18| |
109
- |長暦|1|1037-1-19|1年4月21日|1037-5-9|1037-5-9| |
109
+ |長暦|1|1037-1-19|1年4月21日|1037-5-9|1037-5-9|行親記(計算:1037-5-8)|
110
110
  |長久|1|1040-2-15|1年11月10日|1040-12-16|1040-12-16| |
111
111
  |寛徳|1|1044-2-2|1年11月24日|1044-12-16|1044-12-16| |
112
112
  |永承|1|1046-2-9|1年4月14日|1046-5-22|1046-5-22| |
@@ -199,7 +199,7 @@
199
199
  ,139-3-1,-,-,139,3,823-11-6,弘仁 14年 10 大 壬午 17-2819,"計算は17辛巳であるが大嘗会御禊日例, 皇年代略記等により壬午朔, ユリウス暦日は11月7日。",-,true,朔日相違,-,-,大,小,-,-,-,-,-,-,辛巳,壬午,823-11-6,823-11-7,17,18,1,1,-,-,-
200
200
  ,140-1-1,-,-,140,1,824-3-4,天長 1年 2 大 庚辰 16-2957,-,改変なし(内容転記せず),false,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
201
201
  ,140-2-1,-,-,140,2,825-5-21,天長 2年 5 大 癸卯 39-2877,-,改変なし(内容転記せず),false,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
202
- ,140-3-a,-,140-3-1,140,-,825-1-12,天長 2年 12 大 己亥 35-1289,-,-,true,次月大小,-,-,大,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
202
+ ,140-3-a,-,140-3-1,140,-,826-1-12,天長 2年 12 大 己亥 35-1289,-,-,true,次月大小,-,-,大,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
203
203
  ,140-3-1,-,-,140,3,826-2-11,天長 3年 1 大 戊辰 5-250,紀略に正月戊辰朔と計算より1日退いている。したがってそのユリウス暦日は2月10日となる。,-,true,朔日相違,-,-,小,大,-,-,-,-,-,-,己巳,戊辰,826-2-11,826-2-10,5,4,-1,-1,-,-,-
204
204
  ,140-4-1,-,-,140,4,826-11-3,天長 3年 10 大 甲午 30-2847,-,改変なし(内容転記せず),false,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
205
205
  ,141-1-1,-,-,141,1,827-3-1,天長 4年 2 大 壬辰 28-2846,-,改変なし(内容転記せず),false,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
@@ -238,7 +238,7 @@
238
238
  ,146-3-1,-,-,146,3,844-6-19,承和 11年 6 小 癸丑 48-2934,計算は48壬子,続後紀は癸丑朔,したがって6月朔日のユリウス暦日は6月20日。,-,true,朔日相違,-,-,大,小,-,-,-,-,-,-,壬子,癸丑,844-6-19,844-6-20,48,49,1,1,-,-,-
239
239
  ,146-4-a,-,146-4-1,146,-,844-9-16,承和 11年 8 大 辛巳 17-1383,-,-,true,次月大小,-,-,小,大,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
240
240
  ,146-4-1,-,-,146,4,844-10-15,承和 11年 9 小 辛亥 46-2695,計算は46庚戌,続後紀は辛亥朔,したがって9月朔日のユリウス暦日は10月16日。,-,true,朔日相違,-,-,大,小,-,-,-,-,-,-,庚戌,辛亥,844-10-15,844-10-16,46,47,1,1,-,-,-
241
- ,147-1-a,-,147-1-1,147,-,645-10-5,承和 12年 9 大 乙巳 41-1264,-,-,true,次月大小,-,-,小,大,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
241
+ ,147-1-a,-,147-1-1,147,-,845-10-5,承和 12年 9 大 乙巳 41-1264,-,-,true,次月大小,-,-,小,大,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
242
242
  ,147-1-1,-,-,147,1,845-11-3,承和 12年 10 小 乙亥 10-2799,計算は10甲戌,続後紀は乙亥朔,したがって10月朔日のユリウス暦日は11月4日。,-,true,朔日相違,-,-,大,小,-,-,-,-,-,-,甲戌,乙亥,845-11-3,845-11-4,10,11,1,1,-,-,-
243
243
  ,147-2-a,-,147-2-1,147,-,845-12-3,承和 12年 11 大 甲辰 40-1261,-,-,true,次月大小,-,-,小,大,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
244
244
  ,147-2-1,-,-,147,2,846-1-1,承和 12年 12 小 甲戌 9-2726,計算は9癸酉,続後紀は甲戌朔,したがって12月朔日のユリウス暦日は1月2日。,-,true,朔日相違,-,-,大,小,-,-,-,-,-,-,癸酉,甲戌,846-1-1,846-1-2,9,10,1,1,-,-,-
@@ -351,7 +351,7 @@
351
351
  ,211-1-1,-,-,211,1,1037-4-18,長暦 1年 4 小 甲辰 39-5736,"計算は39癸卯であるが, 行親記により甲辰, 4月甲辰朔のユリウス暦日は4月19日。",-,true,朔日相違,-,-,大,小,-,-,-,-,-,-,癸卯,甲辰,1037-4-18,1037-4-19,39,40,1,1,-,-,-
352
352
  ,215-1-a,-,215-1-2,215,-,1050-10-19,永承 5年 10 小 乙卯 51-7981,-,変更なし,false,次月大小,-,-,小,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
353
353
  ,215-1-0,215-1-2,-,215,-,1050-11-17,永承 5年 閏10 小 甲申 20-5089,-,-,true,朔旦冬至,11月,閏10月,大,小,0,-,-,-,1050-12-17,-,-,-,-,-,-,-,-,-,-,-,-
354
- ,215-1-1,215-1-2,-,215,1,1050-12-17,永承 5年 11 大 癸丑 50-1948,-,-,true,朔旦冬至,閏11月,11月,大,大,-,0,-,-,-,1050-12-17,甲寅,癸丑,1050-12-17,1050-12-16,50,49,-1,-1,-,-,-
354
+ ,215-1-1,215-1-2,-,215,1,1050-12-17,永承 5年 11 大 癸丑 50-1948,-,-,true,朔旦冬至,閏11月,11月,大,大,-,0,-,-,-,1050-11-17,甲寅,癸丑,1050-12-17,1050-12-16,50,49,-1,-1,-,-,-
355
355
  ,215-1-2,-,-,215,1,1051-1-16,永承 5年 12 大 癸未 20-6665,"朔旦冬至にするために, 計算では閏11月であるが, 閏10月に変更された。そのためには中気のない月を閏月にするという規則に合わせるため, 11月朔を50甲寅から癸丑にする必要がある。それにつれて12月は甲申を癸未にしないと11月が31日になってしまう。11月癸丑朔のユリウス暦日は12月16日。12月癸丑朔は1月15日となる。(管見記84, 江次第, 扶桑略記などによる)。",-,true,朔旦冬至,-,-,小,大,-,-,-,-,-,-,甲申,癸未,1051-1-16,1051-1-15,20,19,-1,-1,-,-,-
356
356
  ,220-1-a,-,220-1-1,220,-,1063-9-25,康平 6年 9 大 己亥 35-2001,-,-,true,次月大小,-,-,小,大,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
357
357
  ,220-1-1,-,-,220,1,1063-10-24,康平 6年 10 小 己巳 4-6004,"計算は4戊辰, 扶桑略記により己巳とする。10月己巳朔のユリウス暦日は10月25日。",-,true,朔日相違,-,-,大,小,-,-,-,-,-,-,戊辰,己巳,1063-10-24,1063-10-25,4,5,1,1,-,-,-
@@ -361,11 +361,11 @@
361
361
  ,226-1-a,-,226-1-1,226,-,1082-5-1,永保 2年 4 大 壬子 48-1071,-,-,true,次月大小,-,-,小,大,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
362
362
  ,226-1-1,-,-,226,1,1082-5-30,永保 2年 5 小 壬午 17-5669,"計算と扶桑略記は辛巳, 為房卿記により壬午とする方がよいと思われる。5月壬午朔とすればユリウス暦日は5月31日となる。",-,true,朔日相違,-,-,大,小,-,-,-,-,-,-,辛巳,壬午,1082-5-30,1082-5-31,17,18,1,1,-,-,-
363
363
  ,228-1-a,-,228-1-1,228,-,1089-1-15,寛治 2年 12 小 癸卯 39-320,-,-,true,次月大小,-,-,大,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
364
- ,228-1-1,-,-,228,1,1089-2-14,寛治 3年 1 大 壬申 9-6402,"計算では9癸酉であるが, 四大を避けるため壬申朔となった。正月壬申朔のユリウス暦日は2月13日。(大日本史料第3編の1; 中右記・扶桑略記・後二条師通記)。",-,true,四大回避,-,-,大,大,-,-,-,-,-,-,癸酉,壬申,1089-2-14,1089-2-13,9,8,-1,-1,-,-,-
364
+ ,228-1-1,-,-,228,1,1089-2-14,寛治 3年 1 大 壬申 9-6402,"計算では9癸酉であるが, 四大を避けるため壬申朔となった。正月壬申朔のユリウス暦日は2月13日。(大日本史料第3編の1; 中右記・扶桑略記・後二条師通記)。",-,true,四大回避,-,-,小,大,-,-,-,-,-,-,癸酉,壬申,1089-2-14,1089-2-13,9,8,-1,-1,-,-,-
365
365
  ,230-1-a,-,230-1-1,230,-,1095-1-9,嘉保 1年 12 小 戊辰 4-3361,-,-,true,次月大小,-,-,大,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
366
366
  ,230-1-1,-,-,230,1,1095-2-8,嘉保 2年 1 大 丁酉 34-7200,"計算では34戊戌であるが, 中右記により丁酉朔, 正月丁酉朔のユリウス暦日は2月7日。これは嘉保元年の年間日数が385日になるのを避けるための変更である。",-,true,年日数,-,-,小,大,-,-,-,-,-,-,戊戌,丁酉,1095-2-8,1095-2-7,34,33,-1,-1,-,-,-
367
367
  ,242-1-a,-,242-1-1,242,-,1129-8-17,大治 4年 閏7 小 丁未 43-1179,-,-,true,次月大小,8月,閏7月,大,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
368
- ,242-1-1,-,-,242,1,1129-9-16,大治 4年 8 大 丙子 13-6547,"計算は13丁丑であるが中右記により丙子, 8月丙子朔のユリウス暦日は9月15日となる。これは皇和通暦で中根元圭が「章首の後, 閏法もし8月を得ればまた必ず大小を消息してこれを7月に退く」と書いてあるように, このあとも何回かこの理由で干支が変更され, 閏が8月から7月に移された。これを退閏という。",-,true,退閏,閏8月,8月,大,大,-,-,-,-,-,-,丁丑,丙子,1129-9-16,1129-9-15,13,12,-1,-1,-,-,-
368
+ ,242-1-1,-,-,242,1,1129-9-16,大治 4年 8 大 丙子 13-6547,"計算は13丁丑であるが中右記により丙子, 8月丙子朔のユリウス暦日は9月15日となる。これは皇和通暦で中根元圭が「章首の後, 閏法もし8月を得ればまた必ず大小を消息してこれを7月に退く」と書いてあるように, このあとも何回かこの理由で干支が変更され, 閏が8月から7月に移された。これを退閏という。",-,true,退閏,閏8月,8月,小,大,-,-,-,-,-,-,丁丑,丙子,1129-9-16,1129-9-15,13,12,-1,-1,-,-,-
369
369
  ,245-1-a,-,245-1-1,245,-,1138-1-13,保延 3年 12 小 戊午 54-2825,-,-,true,次月大小,-,-,大,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
370
370
  ,245-1-1,-,-,245,1,1138-2-12,保延 4年 1 大 丁亥 24-6432,"計算では24戊子であるが中右記により丁亥, 正月丁亥朔のユリウス暦日は2月11日となる。保延3年の年間日数の385日になるのを避けるためである。",-,true,年日数,-,-,小,大,-,-,-,-,-,-,戊子,丁亥,1138-2-12,1138-2-11,24,23,-1,-1,-,-,-
371
371
  ,251-1-a,-,251-1-1,251,-,1156-11-15,保元 1年 10 小 己亥 35-1816,-,-,true,次月大小,-,-,大,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
@@ -389,7 +389,7 @@
389
389
  ,272-1-a,-,272-1-1,272,-,1221-11-16,承久 3年 閏10 小 辛巳 17-1577,-,-,true,次月大小,11月,閏10月,大,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
390
390
  ,272-1-1,-,-,272,1,1221-12-16,承久 3年 11 大 庚戌 47-8177,"計算では47辛亥, 朔旦冬至にするため庚戌朔, そのユリウス暦日は12月15日になる。",-,true,朔旦冬至,閏11月,11月,大,大,-,-,-,-,-,-,辛亥,庚戌,1221-12-16,1221-12-15,47,46,-1,-1,-,-,-
391
391
  ,272-2-1,-,-,272,2,1222-1-15,承久 3年 12 大 庚辰 17-6684,"計算では17辛巳, 1)の変更のためここは庚辰にしないと11月が31日になってしまう。したがって12月朔のユリウス暦日は1月14日となる。(大日本史料第5編の1; 承久3年, 4年日次記, 吾妻鏡)",-,true,朔旦冬至,-,-,小,大,-,-,-,-,-,-,辛巳,庚辰,1222-1-15,1222-1-14,17,16,-1,-1,-,-,-
392
- ,275-1-a,-,275-1-1,275,-,1228-1-8,安貞 1年 12 小 丙午 42-2281,-,-,true,次月大小,-,-,大,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
392
+ ,275-1-a,-,275-1-1,275,-,1228-1-9,安貞 1年 12 小 丙午 42-2281,-,-,true,次月大小,-,-,大,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
393
393
  ,275-1-1,-,-,275,1,1228-2-8,安貞 2年 1 大 乙亥 12-6333,"計算では12丙子, 大日本史料第5編の1, 玉蘂ほか, 吾妻鏡などにより乙亥, 正月乙亥朔のユリウス暦日は2月7日となる。安貞元年の年間日数が385日になるのを避けるため。",-,true,年日数,-,-,小,大,-,-,-,-,-,-,丙子,乙亥,1228-2-8,1228-2-7,12,11,-1,-1,-,-,-
394
394
  ,280-1-a,-,280-1-1,280,-,1243-8-17,寛元 1年 閏7 小 乙巳 41-3888,-,-,true,次月大小,8月,閏7月,大,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
395
395
  ,280-1-1,-,-,280,1,1243-9-16,寛元 1年 8 大 甲戌 11-8386,"計算では11乙亥, 妙光寺内府除目部類・吾妻鏡など(大日本史料第5編の16)により甲戌, 8月甲戌朔のユリウス暦日は9月15日。章首の後の閏8月を避けるためである。大治4(1129)年の注参照。",-,true,閏8月回避,閏8月,8月,小,大,-,-,-,-,-,-,乙亥,甲戌,1243-9-16,1243-9-15,11,10,-1,-1,-,-,-
@@ -431,9 +431,8 @@
431
431
  ,311-3-1,-,-,311,3,1338-9-15,延元 3年 8 大 壬辰 29-103,"計算では29癸巳, 実夏公記ほか(大日本史料第6編の5)により壬辰, 8月壬辰朔のユリウス暦日は9月14日となる。これは章首のあとの閏8月を避けたものである。(大治4, 西暦1129年の注参照)",-,true,閏8月回避,閏8月,8月,小,大,-,18,-,-,-,1338-8-16,癸巳,壬辰,1338-9-15,1338-9-14,29,28,-1,-1,-,-,-
432
432
  ,313-1-a,-,313-1-1,313,-,1343-12-18,興国 4年 12 小 癸巳 29-814,-,-,true,次月大小,-,-,大,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
433
433
  ,313-1-1,-,-,313,1,1344-1-17,興国 5年 1 大 壬戌 59-6335,"計算は59癸亥, 園太暦・師守記など(大日本史料第6編の8)により壬戌, 正月壬戌朔のユリウス暦日は1月16日。小余が進朔限に近く, 進朔すべきをしなかった司暦の誤りか。",-,true,進朔なし,-,-,小,大,-,-,-,-,-,-,癸亥,壬戌,1344-1-17,1344-1-16,59,58,-1,-1,-,-,-
434
- ,318-1-a,-,318-1-1,318,-,1357-7-18,正平 12年 7 小 甲戌 10-1300,-,-,true,次月大小,-,-,大,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
435
- ,318-1-0,318-1-1,-,318,-,1357-8-16,正平 12年 閏7 癸卯 39-5146,-,-,true,閏8月回避,8月,閏7月,小,小,18,-,-,-,1357-9-15,-,-,-,-,-,-,-,-,-,-,-,-
436
- ,318-1-1,-,-,318,1,1357-9-15,正平 12年 8 大 壬申 9-357,"計算では9癸酉であるが, 章首のあとの閏8月を避けるため壬申に変え閏7月にしたもの。(大日本史料第6編の21)8月壬申朔のユリウス暦日は9月14日となる。",-,true,閏8月回避,閏8月,8月,大,大,-,18,-,-,-,1357-8-16,癸酉,壬申,1357-9-15,1357-9-14,9,8,-1,-1,-,-,-
434
+ ,318-1-0,318-1-1,-,318,-,1357-8-16,正平 12年 7 小 癸卯 39-5146,-,-,true,閏8月回避,8月,閏7月,大,小,18,-,-,-,1357-9-15,-,-,-,-,-,-,-,-,-,-,-,-
435
+ ,318-1-1,-,-,318,1,1357-9-15,正平 12年 8 壬申 9-357,"計算では9癸酉であるが, 章首のあとの閏8月を避けるため壬申に変え閏7月にしたもの。(大日本史料第6編の21)8月壬申朔のユリウス暦日は9月14日となる。",-,true,閏8月回避,閏8月,8月,小,大,-,18,-,-,-,1357-8-16,癸酉,壬申,1357-9-15,1357-9-14,9,8,-1,-1,-,-,-
437
436
  ,323-1-a,-,323-1-1,323,-,1373-10-17,文中 2年 10 小 己巳 5-473,-,変更なし,false,次月大小,-,-,小,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
438
437
  ,323-1-0,323-0-1,-,323,-,1373-11-15,文中 2年 閏10 小 戊戌 34-4924,-,-,true,朔旦冬至,11月,閏10月,大,小,0,-,-,-,1373-12-15,-,-,-,-,-,-,-,-,-,-,-,-
439
438
  ,323-1-1,323-0-1,-,323,1,1373-12-15,文中 2年 11 大 丁卯 4-1834,"計算では4戊辰, 実施暦は丁卯, 11月丁卯朔のユリウス暦日は12月14日である。",-,true,朔旦冬至,閏11月,11月,大,大,-,0,-,-,-,-,戊辰,丁卯,1373-12-15,1373-12-14,4,3,-1,-1,-,-,-
Binary file
Binary file
@@ -78,9 +78,7 @@ module Zakuro
78
78
  result = match_first_line_by_name(name: name)
79
79
  return result unless result.invalid?
80
80
 
81
- result = match_second_line_by_name(name: name)
82
-
83
- result
81
+ match_second_line_by_name(name: name)
84
82
  end
85
83
 
86
84
  #
@@ -120,7 +118,7 @@ module Zakuro
120
118
  # @return [False] 不正なし
121
119
  #
122
120
  def invalid?
123
- first_line.size.zero? && second_line.size.zero?
121
+ first_line.empty? && second_line.empty?
124
122
  end
125
123
  end
126
124
  end
@@ -70,7 +70,7 @@ module Zakuro
70
70
  def new_year_date
71
71
  return Western::Calendar.new unless months
72
72
 
73
- return Western::Calendar.new if months.size.zero?
73
+ return Western::Calendar.new if months.empty?
74
74
 
75
75
  months[0].western_date
76
76
  end
@@ -47,6 +47,12 @@ module Zakuro
47
47
  23 => :taisetsu
48
48
  }.freeze
49
49
 
50
+ # @return [Integer] 開始番号
51
+ FIRST_INDEX = 0
52
+
53
+ # @return [Integer] 終了番号
54
+ LAST_INDEX = 23
55
+
50
56
  #
51
57
  # 初期化
52
58
  #
@@ -179,9 +179,9 @@ module Zakuro
179
179
  # @return [Array<Counter>] 差し替え結果
180
180
  #
181
181
  def replace_gengou(source: [], destination: [])
182
- return destination if destination.size.zero?
182
+ return destination if destination.empty?
183
183
 
184
- return destination if source.size.zero?
184
+ return destination if source.empty?
185
185
 
186
186
  last = source[-1]
187
187
  destination[0] = last if destination[0].name == last.name
@@ -20,11 +20,13 @@ module Zakuro
20
20
  # @param [Western::Calendar] start_date 西暦開始日(最大範囲)
21
21
  # @param [Western::Calendar] last_date 西暦終了日(最大範囲)
22
22
  # @param [True, False] operated 運用値設定
23
+ # @param [True, False] restored 運用値から計算値に戻すか
23
24
  #
24
25
  def initialize(start_date: Western::Calendar.new, last_date: Western::Calendar.new,
25
- operated: false)
26
+ operated: false, restored: false)
26
27
  range = Reserve::DatedRange.new(
27
- start_date: start_date, last_date: last_date, operated: operated
28
+ start_date: start_date, last_date: last_date, operated: operated,
29
+ restored: restored
28
30
  )
29
31
  super(range: range)
30
32
  end
@@ -54,7 +54,7 @@ module Zakuro
54
54
  # @return [Array<Base::LinearGengou>] 元号リスト
55
55
  #
56
56
  def to_linear_gengou(start_date:, last_date:, gengou_list: [])
57
- return [] if gengou_list.size.zero?
57
+ return [] if gengou_list.empty?
58
58
 
59
59
  result = []
60
60
 
@@ -34,8 +34,11 @@ module Zakuro
34
34
  # @return [Western::Calendar] 終了日
35
35
  attr_reader :last_date
36
36
  # @return [True] 運用値あり
37
- # @return [True] 運用値なし
37
+ # @return [False] 運用値なし
38
38
  attr_reader :operated
39
+ # @return [True] 運用値から計算値に戻す
40
+ # @return [False] 運用値から計算値に戻さない
41
+ attr_reader :restored
39
42
  # @return [Array<Japan::Alignment::LinearGengou>] 予約元号一覧
40
43
  attr_reader :list
41
44
 
@@ -46,13 +49,15 @@ module Zakuro
46
49
  # @param [Western::Calendar] start_date 開始日
47
50
  # @param [Western::Calendar] last_date 終了日
48
51
  # @param [True, False] operated 運用値設定
52
+ # @param [True, False] restored 運用値から計算値に戻すか
49
53
  #
50
54
  def initialize(index:, start_date: Western::Calendar.new,
51
- last_date: Western::Calendar, operated: false)
55
+ last_date: Western::Calendar, operated: false, restored: false)
52
56
  @index = index
53
57
  @start_date = start_date.clone
54
58
  @last_date = last_date.clone
55
59
  @operated = operated
60
+ @restored = restored
56
61
  @list = []
57
62
 
58
63
  update
@@ -155,7 +160,7 @@ module Zakuro
155
160
  def western_last_year
156
161
  return INVALID_YEAR if invalid?
157
162
 
158
- return INVALID_YEAR if list.size.zero?
163
+ return INVALID_YEAR if list.empty?
159
164
 
160
165
  list[-1].gengou.last_year
161
166
  end
@@ -169,7 +174,7 @@ module Zakuro
169
174
  def invalid?
170
175
  return true unless list
171
176
 
172
- return true if list.size.zero?
177
+ return true if list.empty?
173
178
 
174
179
  false
175
180
  end
@@ -180,7 +185,7 @@ module Zakuro
180
185
  # @return [Western::Calendar]設定された元号の開始日
181
186
  #
182
187
  def native_start_date
183
- return Western::Calendar.new if list.size.zero?
188
+ return Western::Calendar.new if list.empty?
184
189
 
185
190
  list[0].native_start_date
186
191
  end
@@ -192,7 +197,7 @@ module Zakuro
192
197
  # @return [False] 同一
193
198
  #
194
199
  def change_start_date?
195
- return false if list.size.zero?
200
+ return false if list.empty?
196
201
 
197
202
  list[0].change_start_date?
198
203
  end
@@ -216,7 +221,8 @@ module Zakuro
216
221
  #
217
222
  def line(start_date:, last_date:)
218
223
  Japan::Gengou.line(
219
- line: index, start_date: start_date, last_date: last_date, operated: operated
224
+ line: index, start_date: start_date, last_date: last_date, operated: operated,
225
+ restored: restored
220
226
  )
221
227
  end
222
228
 
@@ -27,19 +27,22 @@ module Zakuro
27
27
  # @param [Western::Calendar] start_date 西暦開始日
28
28
  # @param [Western::Calendar] last_date 西暦終了日
29
29
  # @param [True, False] operated 運用値設定
30
+ # @param [True, False] restored 運用値から計算値に戻すか
30
31
  #
31
32
  def initialize(start_date: Western::Calendar.new, last_date: Western::Calendar.new,
32
- operated: false)
33
+ operated: false, restored: false)
33
34
  last_date = start_date.clone if last_date.invalid?
34
35
 
35
36
  @first_list = DatedList.new(
36
- first: true, start_date: start_date, last_date: last_date, operated: operated
37
+ first: true, start_date: start_date, last_date: last_date, operated: operated,
38
+ restored: restored
37
39
  )
38
40
  @second_list = DatedList.new(
39
- first: false, start_date: start_date, last_date: last_date, operated: operated
41
+ first: false, start_date: start_date, last_date: last_date, operated: operated,
42
+ restored: restored
40
43
  )
41
44
 
42
- renew(last_date: last_date)
45
+ renew(last_date: last_date, operated: operated, restored: restored)
43
46
  end
44
47
 
45
48
  #
@@ -47,16 +50,22 @@ module Zakuro
47
50
  # 含まれる最初の元号が別の行にまたがっている場合に開始日を前倒しする
48
51
  #
49
52
  # @param [Western::Calendar] last_date 西暦終了日
53
+ # @param [True, False] operated 運用値設定
54
+ # @param [True, False] restored 運用値から計算値に戻すか
50
55
  #
51
- def renew(last_date: Western::Calendar.new)
56
+ def renew(last_date: Western::Calendar.new, operated: false, restored: false)
52
57
  start_date = native_start_date
53
58
 
54
59
  return if start_date.invalid?
55
60
 
56
- @first_list = DatedList.new(first: true, start_date: start_date,
57
- last_date: last_date)
58
- @second_list = DatedList.new(first: false, start_date: start_date,
59
- last_date: last_date)
61
+ @first_list = DatedList.new(
62
+ first: true, start_date: start_date, last_date: last_date,
63
+ operated: operated, restored: restored
64
+ )
65
+ @second_list = DatedList.new(
66
+ first: false, start_date: start_date, last_date: last_date,
67
+ operated: operated, restored: restored
68
+ )
60
69
  end
61
70
 
62
71
  #
@@ -22,13 +22,17 @@ module Zakuro
22
22
  # @param [Western::Calendar] start_date 開始日
23
23
  # @param [Western::Calendar] last_date 終了日
24
24
  # @param [True, False] operated 運用値設定
25
+ # @param [True, False] restored 運用値から計算値に戻すか
25
26
  #
26
27
  def initialize(first: true, start_date: Western::Calendar.new,
27
- last_date: Western::Calendar, operated: false)
28
+ last_date: Western::Calendar, operated: false, restored: false)
28
29
  @index = parse_index(first: first)
29
30
  @start_date = start_date.clone
30
31
  @last_date = last_date.invalid? ? start_date.clone : last_date.clone
31
- super(index: @index, start_date: start_date, last_date: last_date, operated: operated)
32
+ super(
33
+ index: @index, start_date: start_date, last_date: last_date, operated: operated,
34
+ restored: restored
35
+ )
32
36
  end
33
37
 
34
38
  #
@@ -20,10 +20,13 @@ module Zakuro
20
20
  # @param [Western::Calendar] start_date 西暦開始日
21
21
  # @param [Western::Calendar] last_date 西暦終了日
22
22
  # @param [True, False] operated 運用値設定
23
+ # @param [True, False] restored 運用値から計算値に戻すか
23
24
  #
24
25
  def initialize(start_date: Western::Calendar.new, last_date: Western::Calendar.new,
25
- operated: false)
26
- super(start_date: start_date, last_date: last_date, operated: operated)
26
+ operated: false, restored: false)
27
+ super(
28
+ start_date: start_date, last_date: last_date, operated: operated, restored: restored
29
+ )
27
30
  end
28
31
  end
29
32
  end
@@ -33,7 +33,7 @@ module Zakuro
33
33
  #
34
34
  def fill(counters:, start_date: Western::Calendar.new,
35
35
  last_date: Western::Calendar.new)
36
- if counters.size.zero?
36
+ if counters.empty?
37
37
  counters.push(
38
38
  create_empty_counter(
39
39
  start_date: start_date.clone,
@@ -104,7 +104,7 @@ module Zakuro
104
104
  # @param [Array<Gengou::Counter>] counters 加算元号リスト
105
105
  #
106
106
  def fill_middle(counters:)
107
- return if counters.size.zero?
107
+ return if counters.empty?
108
108
 
109
109
  size = counters.size - 1
110
110
  (0..size).reverse_each do |index|
@@ -144,7 +144,7 @@ module Zakuro
144
144
  #
145
145
  def create_empty_counter(start_date:, last_date:)
146
146
  Gengou::Counter.new(
147
- gengou: Japan::Gengou::Resource::Gengou.new,
147
+ gengou: Japan::Type::Base::Gengou.new,
148
148
  start_date: start_date, last_date: last_date
149
149
  )
150
150
  end
@@ -24,16 +24,22 @@ module Zakuro
24
24
  # @param [True, False] first true:1行目元号, false:2行目元号
25
25
  # @param [String] start_name 開始元号名
26
26
  # @param [String] last_name 終了元号名
27
+ # @param [True, False] operated 運用値設定
28
+ # @param [True, False] restored 運用値から計算値に戻すか
27
29
  #
28
30
  def initialize(first: true, start_name: INVALID_NAME, last_name: INVALID_NAME,
29
- operated: false)
31
+ operated: false, restored: false)
30
32
  @index = parse_index(first: first)
31
33
  @start_date = Western::Calendar.new
32
34
  @last_date = Western::Calendar.new
33
35
  @operated = operated
36
+ @restored = restored
34
37
 
35
38
  locate(start_name: start_name, last_name: last_name)
36
- super(index: index, start_date: start_date, last_date: last_date, operated: operated)
39
+ super(
40
+ index: index, start_date: start_date, last_date: last_date, operated: operated,
41
+ restored: restored
42
+ )
37
43
  end
38
44
 
39
45
  private
@@ -54,7 +60,7 @@ module Zakuro
54
60
  [start, last].each do |name|
55
61
  gengou_list = line_by_name(name: name)
56
62
 
57
- next if gengou_list.size.zero?
63
+ next if gengou_list.empty?
58
64
 
59
65
  choise_start_date(
60
66
  date: gengou_list[0].start_date.clone
@@ -109,7 +115,9 @@ module Zakuro
109
115
  # @return [Array<Japan::Alignment::LinearGengou>] 元号
110
116
  #
111
117
  def line_by_name(name:)
112
- Japan::Gengou.line_by_name(line: index, name: name, operated: operated)
118
+ Japan::Gengou.line_by_name(
119
+ line: index, name: name, operated: operated, restored: restored
120
+ )
113
121
  end
114
122
 
115
123
  #
@@ -24,19 +24,25 @@ module Zakuro
24
24
  # @param [String] start_name 開始元号名
25
25
  # @param [String] last_name 終了元号名
26
26
  # @param [True, False] operated 運用値設定
27
+ # @param [True, False] restored 運用値から計算値に戻すか
27
28
  #
28
- def initialize(start_name: INVALID_NAME, last_name: INVALID_NAME, operated: false)
29
+ def initialize(start_name: INVALID_NAME, last_name: INVALID_NAME,
30
+ operated: false, restored: false)
29
31
  @first_list = NamedList.new(
30
- first: true, start_name: start_name, last_name: last_name, operated: operated
32
+ first: true, start_name: start_name, last_name: last_name, operated: operated,
33
+ restored: restored
31
34
  )
32
35
  @second_list = NamedList.new(
33
- first: false, start_name: start_name, last_name: last_name, operated: operated
36
+ first: false, start_name: start_name, last_name: last_name, operated: operated,
37
+ restored: restored
34
38
  )
35
39
 
36
40
  start_date = western_start_date
37
41
  last_date = western_last_date
38
42
 
39
- super(start_date: start_date, last_date: last_date, operated: operated)
43
+ super(
44
+ start_date: start_date, last_date: last_date, operated: operated, restored: restored
45
+ )
40
46
  end
41
47
 
42
48
  #
@@ -20,10 +20,13 @@ module Zakuro
20
20
  # @param [String] start_name 開始元号名
21
21
  # @param [String] last_name 終了元号名
22
22
  # @param [True, False] operated 運用値設定
23
+ # @param [True, False] restored 運用値から計算値に戻すか
23
24
  #
24
- def initialize(start_name: INVALID_NAME, last_name: INVALID_NAME, operated: false)
25
+ def initialize(start_name: INVALID_NAME, last_name: INVALID_NAME,
26
+ operated: false, restored: false)
25
27
  range = Reserve::NamedRange.new(
26
- start_name: start_name, last_name: last_name, operated: operated
28
+ start_name: start_name, last_name: last_name, operated: operated,
29
+ restored: restored
27
30
  )
28
31
  super(range: range)
29
32
  end
@@ -50,14 +50,14 @@ module Zakuro
50
50
  # @return [Range] 範囲
51
51
  #
52
52
  def narrow(range:, start_year:, last_year:)
53
- range_start_year = range.start_year
54
- range_start_year = start_year if start_year > range.start_year
53
+ range_start_year = range.start_year.western
54
+ range_start_year = start_year if start_year > range.start_year.western
55
55
 
56
56
  range_last_year = range.last_year
57
57
  range_last_year = last_year if last_year < range.last_year
58
58
 
59
59
  Range.new(
60
- name: range.name, start_date: range.start_date.clone,
60
+ name: range.name, start_date: range.start_date.western.clone,
61
61
  start_year: range_start_year, last_year: range_last_year
62
62
  )
63
63
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  require_relative '../../output/logger'
4
4
 
5
- require_relative './const'
5
+ require_relative './internal/part/const'
6
6
 
7
7
  # :nodoc:
8
8
  module Zakuro