zakuro 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +9 -0
  3. data/.gitignore +69 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +14 -0
  6. data/.travis.yml +6 -0
  7. data/Gemfile +19 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +44 -0
  10. data/Rakefile +20 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/images/12/346/234/210/344/273/245/351/231/215/343/201/256/345/205/245/345/256/232/346/260/227.png +0 -0
  14. data/images/12/346/234/210/344/273/245/351/231/215/343/201/256/346/234/210/343/201/256/351/200/262/351/200/200.png +0 -0
  15. data/images/source/description.numbers +0 -0
  16. data/images//345/205/245/345/256/232/346/260/227/343/201/256/350/265/267/347/256/227.png +0 -0
  17. data/images//345/220/204/346/234/210/343/201/256/346/261/202/343/202/201/346/226/271.png +0 -0
  18. data/images//345/244/252/351/231/275/343/201/250/346/234/210.png +0 -0
  19. data/lib/zakuro.rb +9 -0
  20. data/lib/zakuro/condition.rb +239 -0
  21. data/lib/zakuro/cycle/abstract_remainder.rb +457 -0
  22. data/lib/zakuro/cycle/zodiac.rb +103 -0
  23. data/lib/zakuro/era/gengou/set-001-until-south.yaml +375 -0
  24. data/lib/zakuro/era/gengou/set-002-from-north.yaml +166 -0
  25. data/lib/zakuro/era/gengou/set-003-modern.yaml +12 -0
  26. data/lib/zakuro/era/japan.rb +630 -0
  27. data/lib/zakuro/era/western.rb +412 -0
  28. data/lib/zakuro/merchant.rb +57 -0
  29. data/lib/zakuro/output/error.rb +10 -0
  30. data/lib/zakuro/output/logger.rb +64 -0
  31. data/lib/zakuro/output/response.rb +170 -0
  32. data/lib/zakuro/output/result.rb +219 -0
  33. data/lib/zakuro/output/stringifier.rb +62 -0
  34. data/lib/zakuro/version.rb +7 -0
  35. data/lib/zakuro/version/abstract_version.rb +29 -0
  36. data/lib/zakuro/version/genka/genka.rb +19 -0
  37. data/lib/zakuro/version/gihou/gihou.rb +19 -0
  38. data/lib/zakuro/version/gregorio/gregorio.rb +19 -0
  39. data/lib/zakuro/version/houryaku/houryaku.rb +19 -0
  40. data/lib/zakuro/version/joukyou/joukyou.rb +19 -0
  41. data/lib/zakuro/version/kansei/kansei.rb +19 -0
  42. data/lib/zakuro/version/senmyou/README.md +586 -0
  43. data/lib/zakuro/version/senmyou/base/era.rb +81 -0
  44. data/lib/zakuro/version/senmyou/base/gengou.rb +210 -0
  45. data/lib/zakuro/version/senmyou/base/remainder.rb +60 -0
  46. data/lib/zakuro/version/senmyou/base/solar_term.rb +66 -0
  47. data/lib/zakuro/version/senmyou/base/year.rb +58 -0
  48. data/lib/zakuro/version/senmyou/monthly/lunar_phase.rb +220 -0
  49. data/lib/zakuro/version/senmyou/monthly/month.rb +112 -0
  50. data/lib/zakuro/version/senmyou/senmyou.rb +34 -0
  51. data/lib/zakuro/version/senmyou/stella/lunar_orbit.rb +332 -0
  52. data/lib/zakuro/version/senmyou/stella/solar_average.rb +192 -0
  53. data/lib/zakuro/version/senmyou/stella/solar_orbit.rb +398 -0
  54. data/lib/zakuro/version/senmyou/stella/winter_solstice.rb +106 -0
  55. data/lib/zakuro/version/senmyou/summary/annual_data.rb +186 -0
  56. data/lib/zakuro/version/senmyou/summary/gengou_data.rb +294 -0
  57. data/lib/zakuro/version/taien/taien.rb +19 -0
  58. data/lib/zakuro/version/tenpou/tenpou.rb +19 -0
  59. data/lib/zakuro/version_factory.rb +59 -0
  60. data/zakuro.gemspec +31 -0
  61. metadata +106 -0
@@ -0,0 +1,103 @@
1
+ # frozen_string_literal: true
2
+
3
+ # :nodoc:
4
+ module Zakuro
5
+ # :nodoc:
6
+ module Cycle
7
+ #
8
+ # Zodiac 十干十二支
9
+ #
10
+ module Zodiac
11
+ # @return [Hash<Integer, String>] 十干十二支
12
+ ZODIAC_NAME_PATTERNS = {
13
+ 0 => '甲子', # きのえね
14
+ 1 => '乙丑', # きのとうし
15
+ 2 => '丙寅', # ひのえとら
16
+ 3 => '丁卯', # ひのとう
17
+ 4 => '戊辰', # つちのえたつ
18
+ 5 => '己巳', # つちのとみ
19
+ 6 => '庚午', # かのえうま
20
+ 7 => '辛未', # かのとひつじ
21
+ 8 => '壬申', # みずのえさる
22
+ 9 => '癸酉', # みずのととり
23
+ 10 => '甲戌', # きのえいぬ
24
+ 11 => '乙亥', # きのとい
25
+ 12 => '丙子', # ひのえね
26
+ 13 => '丁丑', # ひのとうし
27
+ 14 => '戊寅', # つちのえとら
28
+ 15 => '己卯', # つちのとう
29
+ 16 => '庚辰', # かのえたつ
30
+ 17 => '辛巳', # かのとみ
31
+ 18 => '壬午', # みずのえうま
32
+ 19 => '癸未', # みずのとひつじ
33
+ 20 => '甲申', # きのえさる
34
+ 21 => '乙酉', # きのととり
35
+ 22 => '丙戌', # ひのえいぬ
36
+ 23 => '丁亥', # ひのとい
37
+ 24 => '戊子', # つちのえね
38
+ 25 => '己丑', # つちのとうし
39
+ 26 => '庚寅', # かのえとら
40
+ 27 => '辛卯', # かのとう
41
+ 28 => '壬辰', # みずのえたつ
42
+ 29 => '癸巳', # みずのとみ
43
+ 30 => '甲午', # きのえうま
44
+ 31 => '乙未', # きのとひつじ
45
+ 32 => '丙申', # ひのえさる
46
+ 33 => '丁酉', # ひのととり
47
+ 34 => '戊戌', # つちのえいぬ
48
+ 35 => '己亥', # つちのとい
49
+ 36 => '庚子', # かのえね
50
+ 37 => '辛丑', # かのとうし
51
+ 38 => '壬寅', # みずのえとら
52
+ 39 => '癸卯', # みずのとう
53
+ 40 => '甲辰', # きのえたつ
54
+ 41 => '乙巳', # きのとみ
55
+ 42 => '丙午', # ひのえうま
56
+ 43 => '丁未', # ひのとひつじ
57
+ 44 => '戊申', # つちのえさる
58
+ 45 => '己酉', # つちのととり
59
+ 46 => '庚戌', # かのえいぬ
60
+ 47 => '辛亥', # かのとい
61
+ 48 => '壬子', # みずのえね
62
+ 49 => '癸丑', # みずのとうし
63
+ 50 => '甲寅', # きのえとら
64
+ 51 => '乙卯', # きのとう
65
+ 52 => '丙辰', # ひのえたつ
66
+ 53 => '丁巳', # ひのとみ
67
+ 54 => '戊午', # つちのえうま
68
+ 55 => '己未', # つちのとひつじ
69
+ 56 => '庚申', # かのえさる
70
+ 57 => '辛酉', # かのととり
71
+ 58 => '壬戌', # みずのえいぬ
72
+ 59 => '癸亥' # みずのとい
73
+ }.freeze
74
+
75
+ # @return [Integer] 組み合わせ数
76
+ LENGTH = ZODIAC_NAME_PATTERNS.length
77
+
78
+ #
79
+ # 大余を十干十二支に変換する
80
+ #
81
+ # @param [Integer] day 大余
82
+ #
83
+ # @return [String] 十干十二支
84
+ #
85
+ def self.day_name(day:)
86
+ index = day % LENGTH
87
+
88
+ ZODIAC_NAME_PATTERNS[index]
89
+ end
90
+
91
+ #
92
+ # 西暦年を十干十二支に変換する
93
+ #
94
+ # @param [Integer] western_year 西暦年
95
+ #
96
+ # @return [String] 十干十二支
97
+ #
98
+ def self.year_name(western_year: 0)
99
+ ZODIAC_NAME_PATTERNS[(western_year - 4) % LENGTH]
100
+ end
101
+ end
102
+ end
103
+ end
@@ -0,0 +1,375 @@
1
+ id: 1
2
+ name: "南北朝前+南朝"
3
+ end_date: "1393-2-11"
4
+ list:
5
+ - name: "允恭"
6
+ start_date: "445-1-24"
7
+ start_year: 34
8
+ - name: "安康"
9
+ start_date: "454-2-14"
10
+ - name: "雄略"
11
+ start_date: "457-2-10"
12
+ - name: "清寧"
13
+ start_date: "480-1-28"
14
+ - name: "顕宗"
15
+ start_date: "485-2-1"
16
+ - name: "仁賢"
17
+ start_date: "488-1-29"
18
+ - name: "武烈"
19
+ start_date: "499-1-28"
20
+ - name: "継体"
21
+ start_date: "507-1-29"
22
+ - name: "安閑"
23
+ start_date: "534-1-30"
24
+ - name: "宣化"
25
+ start_date: "536-2-8"
26
+ - name: "欽明"
27
+ start_date: "540-1-25"
28
+ - name: "敏達"
29
+ start_date: "572-1-31"
30
+ - name: "用明"
31
+ start_date: "586-1-25"
32
+ - name: "崇峻"
33
+ start_date: "588-2-3"
34
+ - name: "推古"
35
+ start_date: "593-2-7"
36
+ - name: "舒明"
37
+ start_date: "629-1-30"
38
+ - name: "皇極"
39
+ start_date: "642-2-5"
40
+ - name: "大化"
41
+ start_date: "645-2-2"
42
+ - name: "白雉"
43
+ start_date: "650-2-7"
44
+ - name: "斉明"
45
+ start_date: "655-2-12"
46
+ - name: "天智"
47
+ start_date: "662-1-25"
48
+ - name: "天武"
49
+ start_date: "672-2-4"
50
+ - name: "朱鳥"
51
+ start_date: "686-1-30"
52
+ - name: "持統"
53
+ start_date: "687-2-18"
54
+ - name: "文武"
55
+ start_date: "697-1-28"
56
+ - name: "大宝"
57
+ start_date: "701-2-13"
58
+ - name: "慶雲"
59
+ start_date: "704-2-10"
60
+ - name: "和銅"
61
+ start_date: "708-1-28"
62
+ - name: "霊亀"
63
+ start_date: "715-2-9"
64
+ - name: "養老"
65
+ start_date: "717-2-16"
66
+ - name: "神亀"
67
+ start_date: "724-1-31"
68
+ - name: "天平"
69
+ start_date: "729-2-3"
70
+ - name: "天平勝宝"
71
+ start_date: "749-1-23"
72
+ - name: "天平宝字"
73
+ start_date: "757-1-24"
74
+ - name: "天平神護"
75
+ start_date: "765-1-26"
76
+ - name: "神護景雲"
77
+ start_date: "767-2-4"
78
+ - name: "宝亀"
79
+ start_date: "770-2-1"
80
+ - name: "天応"
81
+ start_date: "781-1-29"
82
+ - name: "延暦"
83
+ start_date: "782-1-18"
84
+ - name: "大同"
85
+ start_date: "806-1-23"
86
+ - name: "弘仁"
87
+ start_date: "810-2-8"
88
+ - name: "天長"
89
+ start_date: "824-2-4"
90
+ - name: "承和"
91
+ start_date: "834-2-12"
92
+ - name: "嘉祥"
93
+ start_date: "848-2-9"
94
+ - name: "仁寿"
95
+ start_date: "851-2-5"
96
+ - name: "斎衡"
97
+ start_date: "854-2-1"
98
+ - name: "天安"
99
+ start_date: "857-1-29"
100
+ - name: "貞観"
101
+ start_date: "859-2-7"
102
+ - name: "元慶"
103
+ start_date: "877-1-18"
104
+ - name: "仁和"
105
+ start_date: "885-1-20"
106
+ - name: "寛平"
107
+ start_date: "889-2-4"
108
+ - name: "昌泰"
109
+ start_date: "898-1-26"
110
+ - name: "延喜"
111
+ start_date: "901-1-23"
112
+ - name: "延長"
113
+ start_date: "923-1-20"
114
+ - name: "承平"
115
+ start_date: "931-1-22"
116
+ - name: "天慶"
117
+ start_date: "938-2-3"
118
+ - name: "天暦"
119
+ start_date: "947-1-25"
120
+ - name: "天徳"
121
+ start_date: "957-2-3"
122
+ - name: "応和"
123
+ start_date: "961-1-20"
124
+ - name: "康保"
125
+ start_date: "964-2-16"
126
+ - name: "安和"
127
+ start_date: "968-2-2"
128
+ - name: "天禄"
129
+ start_date: "970-2-9"
130
+ - name: "天延"
131
+ start_date: "973-2-6"
132
+ - name: "貞元"
133
+ start_date: "976-2-3"
134
+ - name: "天元"
135
+ start_date: "978-2-10"
136
+ - name: "永観"
137
+ start_date: "983-2-16"
138
+ - name: "寛和"
139
+ start_date: "985-1-24"
140
+ - name: "永延"
141
+ start_date: "987-2-1"
142
+ - name: "永祚"
143
+ start_date: "989-2-9"
144
+ - name: "正暦"
145
+ start_date: "990-1-30"
146
+ - name: "長徳"
147
+ start_date: "995-2-3"
148
+ - name: "長保"
149
+ start_date: "999-1-20"
150
+ - name: "寛弘"
151
+ start_date: "1004-1-25"
152
+ - name: "長和"
153
+ start_date: "1012-1-26"
154
+ - name: "寛仁"
155
+ start_date: "1017-1-31"
156
+ - name: "治安"
157
+ start_date: "1021-2-15"
158
+ - name: "万寿"
159
+ start_date: "1024-2-13"
160
+ - name: "長元"
161
+ start_date: "1028-1-30"
162
+ - name: "長暦"
163
+ start_date: "1037-1-19"
164
+ - name: "長久"
165
+ start_date: "1040-2-15"
166
+ - name: "寛徳"
167
+ start_date: "1044-2-2"
168
+ - name: "永承"
169
+ start_date: "1046-2-9"
170
+ - name: "天喜"
171
+ start_date: "1053-1-23"
172
+ - name: "康平"
173
+ start_date: "1058-1-27"
174
+ - name: "治暦"
175
+ start_date: "1065-2-8"
176
+ - name: "延久"
177
+ start_date: "1069-1-26"
178
+ - name: "承保"
179
+ start_date: "1074-1-30"
180
+ - name: "承暦"
181
+ start_date: "1077-1-27"
182
+ - name: "永保"
183
+ start_date: "1081-2-12"
184
+ - name: "応徳"
185
+ start_date: "1084-2-9"
186
+ - name: "寛治"
187
+ start_date: "1087-2-6"
188
+ - name: "嘉保"
189
+ start_date: "1094-1-19"
190
+ - name: "永長"
191
+ start_date: "1096-1-28"
192
+ - name: "承徳"
193
+ start_date: "1097-1-16"
194
+ - name: "康和"
195
+ start_date: "1099-1-24"
196
+ - name: "長治"
197
+ start_date: "1104-1-30"
198
+ - name: "嘉承"
199
+ start_date: "1106-2-6"
200
+ - name: "天仁"
201
+ start_date: "1108-2-14"
202
+ - name: "天永"
203
+ start_date: "1110-1-22"
204
+ - name: "永久"
205
+ start_date: "1113-1-20"
206
+ - name: "元永"
207
+ start_date: "1118-1-24"
208
+ - name: "保安"
209
+ start_date: "1120-2-1"
210
+ - name: "天治"
211
+ start_date: "1124-1-19"
212
+ - name: "大治"
213
+ start_date: "1126-1-25"
214
+ - name: "天承"
215
+ start_date: "1131-1-31"
216
+ - name: "長承"
217
+ start_date: "1132-1-20"
218
+ - name: "保延"
219
+ start_date: "1135-2-15"
220
+ - name: "永治"
221
+ start_date: "1141-2-9"
222
+ - name: "康治"
223
+ start_date: "1142-1-29"
224
+ - name: "天養"
225
+ start_date: "1144-2-6"
226
+ - name: "久安"
227
+ start_date: "1145-1-25"
228
+ - name: "仁平"
229
+ start_date: "1151-1-20"
230
+ - name: "久寿"
231
+ start_date: "1154-2-14"
232
+ - name: "保元"
233
+ start_date: "1156-1-24"
234
+ - name: "平治"
235
+ start_date: "1159-1-21"
236
+ - name: "永暦"
237
+ start_date: "1160-2-9"
238
+ - name: "応保"
239
+ start_date: "1161-1-28"
240
+ - name: "長寛"
241
+ start_date: "1163-2-5"
242
+ - name: "永万"
243
+ start_date: "1165-2-13"
244
+ - name: "仁安"
245
+ start_date: "1166-2-3"
246
+ - name: "嘉応"
247
+ start_date: "1169-1-30"
248
+ - name: "承安"
249
+ start_date: "1171-2-7"
250
+ - name: "安元"
251
+ start_date: "1175-1-24"
252
+ - name: "治承"
253
+ start_date: "1177-2-1"
254
+ - name: "養和"
255
+ start_date: "1181-1-17"
256
+ - name: "寿永"
257
+ start_date: "1182-2-5"
258
+ - name: "元暦"
259
+ start_date: "1184-2-14"
260
+ - name: "文治"
261
+ start_date: "1185-2-2"
262
+ - name: "建久"
263
+ start_date: "1190-2-7"
264
+ - name: "正治"
265
+ start_date: "1199-1-28"
266
+ - name: "建仁"
267
+ start_date: "1201-2-5"
268
+ - name: "元久"
269
+ start_date: "1204-2-3"
270
+ - name: "建永"
271
+ start_date: "1206-2-10"
272
+ - name: "承元"
273
+ start_date: "1207-1-30"
274
+ - name: "建暦"
275
+ start_date: "1211-1-17"
276
+ - name: "建保"
277
+ start_date: "1213-1-24"
278
+ - name: "承久"
279
+ start_date: "1219-1-18"
280
+ - name: "貞応"
281
+ start_date: "1222-2-13"
282
+ - name: "元仁"
283
+ start_date: "1224-1-22"
284
+ - name: "嘉禄"
285
+ start_date: "1225-2-9"
286
+ - name: "安貞"
287
+ start_date: "1227-1-19"
288
+ - name: "寛喜"
289
+ start_date: "1229-1-27"
290
+ - name: "貞永"
291
+ start_date: "1232-1-24"
292
+ - name: "天福"
293
+ start_date: "1233-2-11"
294
+ - name: "文暦"
295
+ start_date: "1234-1-31"
296
+ - name: "嘉禎"
297
+ start_date: "1235-1-21"
298
+ - name: "暦仁"
299
+ start_date: "1238-1-18"
300
+ - name: "延応"
301
+ start_date: "1239-2-6"
302
+ - name: "仁治"
303
+ start_date: "1240-1-26"
304
+ - name: "寛元"
305
+ start_date: "1243-1-22"
306
+ - name: "宝治"
307
+ start_date: "1247-2-7"
308
+ - name: "建長"
309
+ start_date: "1249-2-14"
310
+ - name: "康元"
311
+ start_date: "1256-1-29"
312
+ - name: "正嘉"
313
+ start_date: "1257-1-17"
314
+ - name: "正元"
315
+ start_date: "1259-1-25"
316
+ - name: "文応"
317
+ start_date: "1260-2-13"
318
+ - name: "弘長"
319
+ start_date: "1261-2-1"
320
+ - name: "文永"
321
+ start_date: "1264-1-31"
322
+ - name: "建治"
323
+ start_date: "1275-1-29"
324
+ - name: "弘安"
325
+ start_date: "1278-1-25"
326
+ - name: "正応"
327
+ start_date: "1288-2-4"
328
+ - name: "永仁"
329
+ start_date: "1293-2-8"
330
+ - name: "正安"
331
+ start_date: "1299-2-2"
332
+ - name: "乾元"
333
+ start_date: "1302-1-30"
334
+ - name: "嘉元"
335
+ start_date: "1303-1-19"
336
+ - name: "徳治"
337
+ start_date: "1306-2-14"
338
+ - name: "延慶"
339
+ start_date: "1308-1-24"
340
+ - name: "応長"
341
+ start_date: "1311-1-21"
342
+ - name: "正和"
343
+ start_date: "1312-2-8"
344
+ - name: "文保"
345
+ start_date: "1317-2-13"
346
+ - name: "元応"
347
+ start_date: "1319-1-22"
348
+ - name: "元亨"
349
+ start_date: "1321-1-29"
350
+ - name: "正中"
351
+ start_date: "1324-1-27"
352
+ - name: "嘉暦"
353
+ start_date: "1326-2-4"
354
+ - name: "元徳"
355
+ start_date: "1329-1-31"
356
+ - name: "元弘"
357
+ start_date: "1331-2-8"
358
+ - name: "建武"
359
+ start_date: "1334-2-5"
360
+ - name: "延元"
361
+ start_date: "1336-2-14"
362
+ - name: "興国"
363
+ start_date: "1340-1-30"
364
+ - name: "正平"
365
+ start_date: "1346-1-24"
366
+ - name: "建徳"
367
+ start_date: "1370-1-28"
368
+ - name: "文中"
369
+ start_date: "1372-2-6"
370
+ - name: "天授"
371
+ start_date: "1375-2-2"
372
+ - name: "弘和"
373
+ start_date: "1381-1-26"
374
+ - name: "元中"
375
+ start_date: "1384-1-23"