zakuro 0.9.3 → 1.0.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 +4 -4
- data/Gemfile +2 -2
- data/README.md +41 -8
- data/VERSION +1 -1
- data/doc/gengou.md +1 -1
- data/doc/operation/csv/month.csv +8 -9
- data/doc/operation/operation.xlsx +0 -0
- data/images/logo-text.png +0 -0
- data/lib/zakuro/calculation/base/gengou.rb +2 -4
- data/lib/zakuro/calculation/base/year.rb +1 -1
- data/lib/zakuro/calculation/cycle/abstract_solar_term.rb +6 -0
- data/lib/zakuro/calculation/era/gengou/abstract_scroll.rb +2 -2
- data/lib/zakuro/calculation/era/gengou/dated_scroll.rb +4 -2
- data/lib/zakuro/calculation/era/gengou/internal/publisher.rb +1 -1
- data/lib/zakuro/calculation/era/gengou/internal/reserve/abstract_list.rb +13 -7
- data/lib/zakuro/calculation/era/gengou/internal/reserve/abstract_range.rb +18 -9
- data/lib/zakuro/calculation/era/gengou/internal/reserve/dated_list.rb +6 -2
- data/lib/zakuro/calculation/era/gengou/internal/reserve/dated_range.rb +5 -2
- data/lib/zakuro/calculation/era/gengou/internal/reserve/empty_link.rb +3 -3
- data/lib/zakuro/calculation/era/gengou/internal/reserve/named_list.rb +12 -4
- data/lib/zakuro/calculation/era/gengou/internal/reserve/named_range.rb +10 -4
- data/lib/zakuro/calculation/era/gengou/named_scroll.rb +5 -2
- data/lib/zakuro/calculation/era/version/internal/crawler.rb +3 -3
- data/lib/zakuro/calculation/monthly/abstract_lunar_phase.rb +1 -1
- data/lib/zakuro/calculation/monthly/internal/date_comparer.rb +78 -0
- data/lib/zakuro/calculation/monthly/{meta → internal/meta}/all_solar_term.rb +1 -1
- data/lib/zakuro/calculation/monthly/{meta → internal/meta}/meta_collector.rb +2 -2
- data/lib/zakuro/calculation/monthly/{first_day.rb → internal/part/first_day.rb} +2 -2
- data/lib/zakuro/calculation/monthly/{meta.rb → internal/part/meta.rb} +1 -1
- data/lib/zakuro/calculation/monthly/internal/solar_term_selector.rb +203 -0
- data/lib/zakuro/calculation/monthly/month.rb +38 -74
- data/lib/zakuro/calculation/monthly/operated_month.rb +7 -2
- data/lib/zakuro/calculation/option/dropped_date/location.rb +8 -1
- data/lib/zakuro/calculation/range/dated_full_range.rb +6 -3
- data/lib/zakuro/calculation/range/dated_operation_range.rb +2 -1
- data/lib/zakuro/calculation/range/medieval_annual_range.rb +0 -2
- data/lib/zakuro/calculation/range/named_full_range.rb +1 -1
- data/lib/zakuro/calculation/range/transfer/gengou_scroller.rb +24 -10
- data/lib/zakuro/calculation/stella/solar/abstract_average.rb +3 -3
- data/lib/zakuro/calculation/summary/internal/option/dropped_date.rb +102 -0
- data/lib/zakuro/calculation/summary/internal/option/vanished_date.rb +111 -0
- data/lib/zakuro/calculation/summary/internal/option.rb +4 -137
- data/lib/zakuro/calculation/summary/japan/range.rb +4 -5
- data/lib/zakuro/calculation/summary/western/range.rb +8 -1
- data/lib/zakuro/calculation/summary/western/single.rb +10 -5
- data/lib/zakuro/context/version_class_resolver.rb +5 -5
- data/lib/zakuro/era/japan/calendar.rb +4 -4
- data/lib/zakuro/era/japan/gengou/alignment/division.rb +2 -2
- data/lib/zakuro/era/japan/gengou/alignment/linear_gengou.rb +2 -2
- data/lib/zakuro/era/japan/gengou/alignment.rb +35 -6
- data/lib/zakuro/era/japan/gengou/resource/parser.rb +17 -16
- data/lib/zakuro/era/japan/gengou/resource/validator.rb +3 -394
- data/lib/zakuro/era/japan/gengou/resource/yaml/set-001-until-south.yaml +2 -2
- data/lib/zakuro/era/japan/gengou.rb +8 -6
- data/lib/zakuro/era/japan/type/base/both/date.rb +51 -0
- data/lib/zakuro/era/japan/type/base/both/year.rb +53 -0
- data/lib/zakuro/era/japan/type/base/gengou.rb +177 -0
- data/lib/zakuro/era/japan/type/base/gengou_set.rb +78 -0
- data/lib/zakuro/era/japan/type/base/switch_date.rb +74 -0
- data/lib/zakuro/era/japan/type/base/version_range.rb +189 -0
- data/lib/zakuro/era/japan/type/validation/both/date.rb +99 -0
- data/lib/zakuro/era/japan/type/validation/both/year.rb +75 -0
- data/lib/zakuro/era/japan/type/validation/gengou.rb +93 -0
- data/lib/zakuro/era/japan/type/validation/gengou_set.rb +133 -0
- data/lib/zakuro/era/japan/type/validation/switch_date.rb +73 -0
- data/lib/zakuro/era/japan/type/validation/version_range.rb +109 -0
- data/lib/zakuro/era/japan/type/validation/version_root.rb +102 -0
- data/lib/zakuro/era/japan/version/resource/parser.rb +266 -0
- data/lib/zakuro/era/japan/version/resource/validator.rb +37 -0
- data/lib/zakuro/era/japan/version/resource/yaml/version.yaml +80 -0
- data/lib/zakuro/era/japan/version/resource.rb +22 -0
- data/lib/zakuro/era/japan/version.rb +4 -115
- data/lib/zakuro/era/western/calendar.rb +2 -2
- data/lib/zakuro/exception/zakuro_error.rb +1 -1
- data/lib/zakuro/merchant.rb +5 -5
- data/lib/zakuro/operation/month/parser.rb +2 -2
- data/lib/zakuro/operation/yaml/month.yaml +8 -40
- data/lib/zakuro/output/logger.rb +4 -4
- data/lib/zakuro/parameter/catalog/basis_date.rb +55 -0
- data/lib/zakuro/parameter/catalog/column.rb +57 -0
- data/lib/zakuro/parameter/catalog/option.rb +60 -0
- data/lib/zakuro/parameter/catalog/range.rb +81 -0
- data/lib/zakuro/parameter/condition.rb +108 -0
- data/lib/zakuro/result/core.rb +2 -2
- data/lib/zakuro/{tools → tool}/remainder_comparer.rb +3 -2
- data/lib/zakuro/{tools → tool}/stringifier.rb +3 -3
- data/lib/zakuro/{tools → tool}/typeconv.rb +2 -2
- data/lib/zakuro/{tools → tool}/typeof.rb +2 -2
- data/lib/zakuro/version/daien/const/number.rb +42 -39
- data/lib/zakuro/version/daien/const/remainder.rb +38 -35
- data/lib/zakuro/version/daien/cycle/remainder.rb +77 -74
- data/lib/zakuro/version/daien/cycle/solar_term.rb +18 -15
- data/lib/zakuro/version/daien/daien.rb +8 -5
- data/lib/zakuro/version/daien/monthly/lunar_phase.rb +67 -64
- data/lib/zakuro/version/daien/option/dropped_date/parameter.rb +15 -12
- data/lib/zakuro/version/daien/option/vanished_date/parameter.rb +15 -12
- data/lib/zakuro/version/daien/range/annual_range.rb +27 -24
- data/lib/zakuro/version/daien/stella/lunar/adjustment.rb +209 -206
- data/lib/zakuro/version/daien/stella/lunar/localization.rb +32 -29
- data/lib/zakuro/version/daien/stella/lunar/location.rb +53 -50
- data/lib/zakuro/version/daien/stella/lunar/value.rb +65 -62
- data/lib/zakuro/version/daien/stella/origin/average_november.rb +23 -20
- data/lib/zakuro/version/daien/stella/origin/lunar_age.rb +42 -39
- data/lib/zakuro/version/daien/stella/origin/winter_solstice.rb +44 -41
- data/lib/zakuro/version/daien/stella/solar/adjustment.rb +74 -71
- data/lib/zakuro/version/daien/stella/solar/average.rb +68 -65
- data/lib/zakuro/version/daien/stella/solar/interval.rb +95 -92
- data/lib/zakuro/version/daien/stella/solar/location.rb +41 -38
- data/lib/zakuro/version/daien/stella/solar/value.rb +21 -18
- data/lib/zakuro/version/genka/const/number.rb +31 -28
- data/lib/zakuro/version/genka/const/remainder.rb +20 -17
- data/lib/zakuro/version/genka/cycle/remainder.rb +72 -69
- data/lib/zakuro/version/genka/cycle/solar_term.rb +18 -15
- data/lib/zakuro/version/genka/genka.rb +8 -5
- data/lib/zakuro/version/genka/monthly/lunar_phase.rb +82 -79
- data/lib/zakuro/version/genka/option/dropped_date/parameter.rb +13 -10
- data/lib/zakuro/version/genka/option/vanished_date/parameter.rb +13 -10
- data/lib/zakuro/version/genka/range/annual_range.rb +57 -54
- data/lib/zakuro/version/genka/stella/origin/first_term.rb +44 -41
- data/lib/zakuro/version/genka/stella/origin/january.rb +38 -35
- data/lib/zakuro/version/genka/stella/solar/average.rb +24 -21
- data/lib/zakuro/version/gihou/const/number.rb +40 -37
- data/lib/zakuro/version/gihou/const/remainder.rb +32 -29
- data/lib/zakuro/version/gihou/cycle/remainder.rb +38 -35
- data/lib/zakuro/version/gihou/cycle/solar_term.rb +18 -15
- data/lib/zakuro/version/gihou/gihou.rb +8 -5
- data/lib/zakuro/version/gihou/monthly/lunar_phase.rb +68 -65
- data/lib/zakuro/version/gihou/option/dropped_date/parameter.rb +13 -10
- data/lib/zakuro/version/gihou/option/vanished_date/parameter.rb +13 -10
- data/lib/zakuro/version/gihou/range/annual_range.rb +27 -24
- data/lib/zakuro/version/gihou/stella/lunar/adjustment.rb +212 -209
- data/lib/zakuro/version/gihou/stella/lunar/localization.rb +32 -29
- data/lib/zakuro/version/gihou/stella/lunar/location.rb +53 -50
- data/lib/zakuro/version/gihou/stella/lunar/value.rb +65 -62
- data/lib/zakuro/version/gihou/stella/origin/average_november.rb +23 -20
- data/lib/zakuro/version/gihou/stella/origin/lunar_age.rb +42 -39
- data/lib/zakuro/version/gihou/stella/origin/winter_solstice.rb +44 -41
- data/lib/zakuro/version/gihou/stella/solar/adjustment.rb +74 -71
- data/lib/zakuro/version/gihou/stella/solar/average.rb +67 -64
- data/lib/zakuro/version/gihou/stella/solar/interval.rb +95 -92
- data/lib/zakuro/version/gihou/stella/solar/location.rb +41 -38
- data/lib/zakuro/version/gihou/stella/solar/value.rb +21 -18
- data/lib/zakuro/version/gregorio/gregorio.rb +8 -5
- data/lib/zakuro/version/houryaku/houryaku.rb +8 -5
- data/lib/zakuro/version/joukyou/joukyou.rb +8 -5
- data/lib/zakuro/version/kansei/kansei.rb +8 -5
- data/lib/zakuro/version/senmyou/const/number.rb +40 -37
- data/lib/zakuro/version/senmyou/const/remainder.rb +35 -32
- data/lib/zakuro/version/senmyou/cycle/remainder.rb +74 -71
- data/lib/zakuro/version/senmyou/cycle/solar_term.rb +18 -15
- data/lib/zakuro/version/senmyou/monthly/lunar_phase.rb +69 -66
- data/lib/zakuro/version/senmyou/option/dropped_date/parameter.rb +15 -12
- data/lib/zakuro/version/senmyou/option/vanished_date/parameter.rb +15 -12
- data/lib/zakuro/version/senmyou/range/annual_range.rb +27 -24
- data/lib/zakuro/version/senmyou/senmyou.rb +8 -5
- data/lib/zakuro/version/senmyou/stella/lunar/adjustment.rb +206 -203
- data/lib/zakuro/version/senmyou/stella/lunar/localization.rb +32 -29
- data/lib/zakuro/version/senmyou/stella/lunar/location.rb +60 -57
- data/lib/zakuro/version/senmyou/stella/lunar/value.rb +66 -63
- data/lib/zakuro/version/senmyou/stella/origin/average_november.rb +23 -20
- data/lib/zakuro/version/senmyou/stella/origin/lunar_age.rb +42 -39
- data/lib/zakuro/version/senmyou/stella/origin/winter_solstice.rb +44 -41
- data/lib/zakuro/version/senmyou/stella/solar/adjustment.rb +74 -71
- data/lib/zakuro/version/senmyou/stella/solar/average.rb +67 -64
- data/lib/zakuro/version/senmyou/stella/solar/interval.rb +93 -90
- data/lib/zakuro/version/senmyou/stella/solar/location.rb +41 -38
- data/lib/zakuro/version/senmyou/stella/solar/value.rb +23 -20
- data/lib/zakuro/version/tenpou/tenpou.rb +8 -5
- metadata +40 -15
- data/lib/zakuro/condition.rb +0 -306
- data/lib/zakuro/era/japan/gengou/resource/type.rb +0 -356
- /data/lib/zakuro/calculation/monthly/{operated_solar_term.rb → internal/operated_solar_term.rb} +0 -0
- /data/lib/zakuro/calculation/monthly/{const.rb → internal/part/const.rb} +0 -0
- /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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9dff0990ea44fc948599f2db2f6f4492caff773c328daabc39331716a31a43d2
|
|
4
|
+
data.tar.gz: 41a7b9296620670afec817686125f54bed22ee9f0410b544976fd819db7f0dd4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fe25f45f51c09f32fa1030defd7f05e5fa7ef0dd154b89840891f2d3c10c0736a13d9e327288c39f61d8a32dc3a248cb67a50c2e29b7c94cd8b3f22bc7389be9
|
|
7
|
+
data.tar.gz: 1251d5ac296435da1fcdc17db8493188432141b17c4dc21cea8cde0436f4597bd610b97ccbcbd225fd6d1a522ff106e70d643e11ac4211e42969a56cf91dd59a
|
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+

|
|
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
|
-
|
|
31
|
+
[日本の暦日データベース](https://eco.mtk.nao.ac.jp/cgi-bin/koyomi/caldb.cgi) に近しい機能を持ちますが、
|
|
16
32
|
|
|
17
|
-
|
|
33
|
+
暦算値や没日・滅日を併せて結果出力する点が異なります。
|
|
18
34
|
|
|
19
|
-
|
|
35
|
+
# 導入
|
|
20
36
|
|
|
21
|
-
|
|
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.
|
|
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| |
|
data/doc/operation/csv/month.csv
CHANGED
|
@@ -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,-,
|
|
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,-,
|
|
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-
|
|
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
|
|
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
|
|
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-
|
|
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-
|
|
435
|
-
,318-1-
|
|
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
|
-
|
|
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.
|
|
121
|
+
first_line.empty? && second_line.empty?
|
|
124
122
|
end
|
|
125
123
|
end
|
|
126
124
|
end
|
|
@@ -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.
|
|
182
|
+
return destination if destination.empty?
|
|
183
183
|
|
|
184
|
-
return destination if source.
|
|
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
|
|
@@ -34,8 +34,11 @@ module Zakuro
|
|
|
34
34
|
# @return [Western::Calendar] 終了日
|
|
35
35
|
attr_reader :last_date
|
|
36
36
|
# @return [True] 運用値あり
|
|
37
|
-
# @return [
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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(
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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(
|
|
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(
|
|
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.
|
|
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.
|
|
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::
|
|
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(
|
|
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.
|
|
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(
|
|
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,
|
|
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(
|
|
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,
|
|
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
|