zakuro 0.5.0 → 0.6.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/VERSION +1 -0
- data/lib/zakuro/calculation/base/gengou.rb +82 -0
- data/lib/zakuro/calculation/base/linear_gengou.rb +76 -0
- data/lib/zakuro/calculation/base/operated_year.rb +5 -15
- data/lib/zakuro/calculation/base/year.rb +26 -14
- data/lib/zakuro/calculation/gengou/internal/counter.rb +129 -0
- data/lib/zakuro/calculation/gengou/internal/reserve/interval.rb +183 -0
- data/lib/zakuro/calculation/gengou/internal/reserve/list.rb +382 -0
- data/lib/zakuro/calculation/gengou/internal/reserve.rb +42 -0
- data/lib/zakuro/calculation/gengou/scroll.rb +262 -0
- data/lib/zakuro/calculation/monthly/first_day.rb +3 -2
- data/lib/zakuro/calculation/monthly/month.rb +49 -2
- data/lib/zakuro/calculation/monthly/operated_month.rb +2 -2
- data/lib/zakuro/calculation/range/full_range.rb +65 -103
- data/lib/zakuro/calculation/range/operated_range.rb +13 -8
- data/lib/zakuro/calculation/range/operated_solar_terms.rb +36 -17
- data/lib/zakuro/calculation/range/transfer/gengou_scroller.rb +54 -0
- data/lib/zakuro/calculation/range/transfer/year_boundary.rb +25 -21
- data/lib/zakuro/calculation/specifier/single_day.rb +13 -35
- data/lib/zakuro/calculation/summary/single.rb +5 -2
- data/lib/zakuro/calculation/version/internal/crawler.rb +51 -0
- data/lib/zakuro/calculation/version/internal/range.rb +39 -0
- data/lib/zakuro/calculation/version/version.rb +24 -0
- data/lib/zakuro/era/japan/calendar.rb +133 -0
- data/lib/zakuro/era/japan/gengou/parser.rb +95 -25
- data/lib/zakuro/era/japan/gengou/type.rb +148 -41
- data/lib/zakuro/era/japan/gengou/validator.rb +157 -52
- data/lib/zakuro/era/japan/gengou/yaml/set-001-until-south.yaml +1870 -0
- data/lib/zakuro/era/japan/gengou/yaml/set-002-from-north.yaml +810 -0
- data/lib/zakuro/era/japan/gengou/yaml/set-003-modern.yaml +50 -0
- data/lib/zakuro/era/japan/gengou.rb +5 -5
- data/lib/zakuro/era/japan/version.rb +151 -0
- data/lib/zakuro/era/{western.rb → western/calendar.rb} +0 -0
- data/lib/zakuro/merchant.rb +12 -3
- data/lib/zakuro/operation/month/parser.rb +1 -1
- data/lib/zakuro/operation/month/type.rb +1 -1
- data/lib/zakuro/operation/month/validator.rb +1 -1
- data/lib/zakuro/output/response.rb +5 -5
- data/lib/zakuro/tools/typeconv.rb +38 -0
- data/lib/zakuro/tools/typeof.rb +4 -1
- data/lib/zakuro/version/context.rb +24 -3
- data/lib/zakuro/version/daien/daien.rb +1 -26
- data/lib/zakuro/version/genka/genka.rb +1 -26
- data/lib/zakuro/version/gihou/gihou.rb +1 -30
- data/lib/zakuro/version/gregorio/gregorio.rb +1 -9
- data/lib/zakuro/version/houryaku/houryaku.rb +1 -9
- data/lib/zakuro/version/joukyou/joukyou.rb +1 -9
- data/lib/zakuro/version/kansei/kansei.rb +1 -9
- data/lib/zakuro/version/senmyou/senmyou.rb +1 -30
- data/lib/zakuro/version/tenpou/tenpou.rb +1 -9
- data/zakuro.gemspec +1 -3
- metadata +25 -17
- data/lib/zakuro/calculation/base/multi_gengou.rb +0 -101
- data/lib/zakuro/calculation/base/multi_gengou_roller.rb +0 -218
- data/lib/zakuro/calculation/range/transfer/western_date_allocation.rb +0 -82
- data/lib/zakuro/era/japan/reki.rb +0 -91
- data/lib/zakuro/era/japan/yaml/set-001-until-south.yaml +0 -1121
- data/lib/zakuro/era/japan/yaml/set-002-from-north.yaml +0 -485
- data/lib/zakuro/era/japan/yaml/set-003-modern.yaml +0 -28
- data/lib/zakuro/version/abstract_version.rb +0 -29
- data/lib/zakuro/version.rb +0 -7
- data/lib/zakuro/version_factory.rb +0 -59
@@ -0,0 +1,50 @@
|
|
1
|
+
---
|
2
|
+
id: 3
|
3
|
+
name: 近代(一世一元)
|
4
|
+
end_year:
|
5
|
+
japan: 7981
|
6
|
+
western: 9999
|
7
|
+
end_date:
|
8
|
+
japan: 令和7981年12月31日
|
9
|
+
western: '9999-12-31'
|
10
|
+
list:
|
11
|
+
- name: 明治
|
12
|
+
start_year:
|
13
|
+
japan: 1
|
14
|
+
western: 1868
|
15
|
+
start_date:
|
16
|
+
japan: 明治01年09月08日
|
17
|
+
western: '1868-10-23'
|
18
|
+
disuse:
|
19
|
+
new_year_date: '1868-1-25'
|
20
|
+
note: ''
|
21
|
+
- name: 大正
|
22
|
+
start_year:
|
23
|
+
japan: 1
|
24
|
+
western: 1912
|
25
|
+
start_date:
|
26
|
+
japan: 大正01年07月30日
|
27
|
+
western: '1912-7-30'
|
28
|
+
disuse:
|
29
|
+
new_year_date: '1912-1-1'
|
30
|
+
note: ''
|
31
|
+
- name: 昭和
|
32
|
+
start_year:
|
33
|
+
japan: 1
|
34
|
+
western: 1926
|
35
|
+
start_date:
|
36
|
+
japan: 昭和01年12月25日
|
37
|
+
western: '1926-12-25'
|
38
|
+
disuse:
|
39
|
+
new_year_date: '1926-1-1'
|
40
|
+
note: ''
|
41
|
+
- name: 令和
|
42
|
+
start_year:
|
43
|
+
japan: 1
|
44
|
+
western: 2019
|
45
|
+
start_date:
|
46
|
+
japan: 令和01年05月01日
|
47
|
+
western: '2019-5-1'
|
48
|
+
disuse:
|
49
|
+
new_year_date: '2019-1-1'
|
50
|
+
note: ''
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '../western'
|
3
|
+
require_relative '../western/calendar'
|
4
4
|
require_relative './gengou/parser'
|
5
5
|
require_relative './gengou/type'
|
6
6
|
|
@@ -17,15 +17,15 @@ module Zakuro
|
|
17
17
|
# @return [Array<Set>] 元号セット情報リスト
|
18
18
|
LIST = [
|
19
19
|
Parser.run(filepath: File.expand_path(
|
20
|
-
'./yaml/set-001-until-south.yaml',
|
20
|
+
'./gengou/yaml/set-001-until-south.yaml',
|
21
21
|
__dir__
|
22
22
|
)),
|
23
23
|
Parser.run(filepath: File.expand_path(
|
24
|
-
'./yaml/set-002-from-north.yaml',
|
24
|
+
'./gengou/yaml/set-002-from-north.yaml',
|
25
25
|
__dir__
|
26
26
|
)),
|
27
27
|
Parser.run(filepath: File.expand_path(
|
28
|
-
'./yaml/set-003-modern.yaml',
|
28
|
+
'./gengou/yaml/set-003-modern.yaml',
|
29
29
|
__dir__
|
30
30
|
))
|
31
31
|
].freeze
|
@@ -35,7 +35,7 @@ module Zakuro
|
|
35
35
|
#
|
36
36
|
# 元号(1行目,2行目)を引き当てる
|
37
37
|
#
|
38
|
-
# *
|
38
|
+
# * LIST配列の元号情報を配列順で「x行目」(1始まり)とする
|
39
39
|
# * 1行目にデータがあれば、第一要素に1行目のデータが設定される
|
40
40
|
# * 1行目と2行目にデータがあれば、第二要素に2行目のデータが設定される
|
41
41
|
# * 1行目にデータがなく、2行目以降に1つだけデータがあれば、第一要素にそのデータを設定してそれ以外の要素は未設定
|
@@ -0,0 +1,151 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../western/calendar'
|
4
|
+
|
5
|
+
# :nodoc:
|
6
|
+
module Zakuro
|
7
|
+
#
|
8
|
+
# Japan 和暦
|
9
|
+
#
|
10
|
+
module Japan
|
11
|
+
#
|
12
|
+
# Version 暦
|
13
|
+
#
|
14
|
+
module Version
|
15
|
+
#
|
16
|
+
# Range 暦(範囲)
|
17
|
+
#
|
18
|
+
class Range
|
19
|
+
# @return [String] 暦名
|
20
|
+
attr_reader :name
|
21
|
+
# @return [Western::Calendar] 暦の開始日
|
22
|
+
attr_reader :start_date
|
23
|
+
# @return [Integer] 開始西暦年
|
24
|
+
attr_reader :start_year
|
25
|
+
# @return [Integer] 終了西暦年
|
26
|
+
attr_reader :end_year
|
27
|
+
# @return [True] リリース済
|
28
|
+
# @return [False] 未リリース
|
29
|
+
attr_reader :released
|
30
|
+
|
31
|
+
#
|
32
|
+
# 初期化
|
33
|
+
#
|
34
|
+
# @param [String] name 暦名
|
35
|
+
# @param [Western::Calendar] start_date 暦の開始日
|
36
|
+
# @param [Integer] start_year 開始西暦年
|
37
|
+
# @param [Integer] end_year 終了西暦年
|
38
|
+
# @param [True, False] released リリース済 / 未リリース
|
39
|
+
#
|
40
|
+
def initialize(name:, start_date:, start_year:, end_year:, released:)
|
41
|
+
@name = name
|
42
|
+
@start_date = start_date
|
43
|
+
@start_year = start_year
|
44
|
+
@end_year = end_year
|
45
|
+
@released = released
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
# TODO: yamlにする
|
50
|
+
# TODO: end_year は不要
|
51
|
+
|
52
|
+
# @return [Array<Range>] 全和暦
|
53
|
+
LIST = [
|
54
|
+
# 允恭天皇34年01月01日
|
55
|
+
Range.new(
|
56
|
+
name: 'Genka',
|
57
|
+
start_date: Western::Calendar.new(year: 445, month: 1, day: 24),
|
58
|
+
start_year: 445,
|
59
|
+
end_year: 697,
|
60
|
+
released: true
|
61
|
+
),
|
62
|
+
# 文武天皇02年01月01日
|
63
|
+
Range.new(
|
64
|
+
name: 'Gihou',
|
65
|
+
start_date: Western::Calendar.new(year: 698, month: 2, day: 16),
|
66
|
+
start_year: 698,
|
67
|
+
end_year: 763,
|
68
|
+
released: true
|
69
|
+
),
|
70
|
+
# 天平宝字08年01月01日
|
71
|
+
Range.new(
|
72
|
+
name: 'Daien',
|
73
|
+
start_date: Western::Calendar.new(year: 764, month: 2, day: 7),
|
74
|
+
start_year: 764,
|
75
|
+
end_year: 861,
|
76
|
+
released: true
|
77
|
+
),
|
78
|
+
# 貞観02年01月01日
|
79
|
+
Range.new(
|
80
|
+
name: 'Senmyou',
|
81
|
+
start_date: Western::Calendar.new(year: 862, month: 2, day: 3),
|
82
|
+
start_year: 862,
|
83
|
+
end_year: 1684,
|
84
|
+
released: true
|
85
|
+
),
|
86
|
+
# 貞享02年01月01日
|
87
|
+
Range.new(
|
88
|
+
name: 'Joukyou',
|
89
|
+
start_date: Western::Calendar.new(year: 1685, month: 2, day: 4),
|
90
|
+
start_year: 1685,
|
91
|
+
end_year: 1754,
|
92
|
+
released: false
|
93
|
+
),
|
94
|
+
# 宝暦05年01月01日
|
95
|
+
Range.new(
|
96
|
+
name: 'Houryaku',
|
97
|
+
start_date: Western::Calendar.new(year: 1755, month: 2, day: 11),
|
98
|
+
start_year: 1755,
|
99
|
+
end_year: 1797,
|
100
|
+
released: false
|
101
|
+
),
|
102
|
+
# 寛政10年01月01日
|
103
|
+
Range.new(
|
104
|
+
name: 'Kansei',
|
105
|
+
start_date: Western::Calendar.new(year: 1798, month: 2, day: 16),
|
106
|
+
start_year: 1798,
|
107
|
+
end_year: 1843,
|
108
|
+
released: false
|
109
|
+
),
|
110
|
+
# 天保13年01月01日
|
111
|
+
Range.new(
|
112
|
+
name: 'Tenpou',
|
113
|
+
start_date: Western::Calendar.new(year: 1844, month: 2, day: 18),
|
114
|
+
start_year: 1844,
|
115
|
+
end_year: 1867,
|
116
|
+
released: false
|
117
|
+
),
|
118
|
+
# 明治01年09月08日
|
119
|
+
Range.new(
|
120
|
+
name: 'Gregorio',
|
121
|
+
start_date: Western::Calendar.new(year: 1868, month: 10, day: 23),
|
122
|
+
start_year: 1868,
|
123
|
+
end_year: 9999,
|
124
|
+
released: false
|
125
|
+
)
|
126
|
+
].freeze
|
127
|
+
|
128
|
+
#
|
129
|
+
# 年を基準に暦を引き当てる
|
130
|
+
#
|
131
|
+
# @param [Integer] start_year 開始西暦年
|
132
|
+
# @param [Integer] end_year 終了西暦年
|
133
|
+
#
|
134
|
+
# @return [Array<Range>] 和暦
|
135
|
+
#
|
136
|
+
def self.ranges_with_year(start_year:, end_year:)
|
137
|
+
result = []
|
138
|
+
|
139
|
+
LIST.each do |range|
|
140
|
+
next if start_year > range.end_year
|
141
|
+
|
142
|
+
next if end_year < range.start_year
|
143
|
+
|
144
|
+
result.push(range)
|
145
|
+
end
|
146
|
+
|
147
|
+
result
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
151
|
+
end
|
File without changes
|
data/lib/zakuro/merchant.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative './
|
3
|
+
require_relative './era/western/calendar'
|
4
|
+
|
5
|
+
require_relative './calculation/summary/single'
|
6
|
+
|
4
7
|
require_relative './condition'
|
5
8
|
|
6
9
|
require_relative './output/error'
|
@@ -50,10 +53,16 @@ module Zakuro
|
|
50
53
|
#
|
51
54
|
def commit
|
52
55
|
date = condition.date
|
53
|
-
return VersionFactory.to_japan_date(western_date: date) if date
|
54
56
|
|
55
57
|
# TODO: does not have no patterns now
|
56
|
-
{}
|
58
|
+
return {} unless date
|
59
|
+
|
60
|
+
western_date = Western::Calendar.create(date: date)
|
61
|
+
|
62
|
+
# TODO: 引数不要
|
63
|
+
context = Context.new(version_name: '')
|
64
|
+
|
65
|
+
Calculation::Summary::Single.get(context: context, date: western_date)
|
57
66
|
end
|
58
67
|
end
|
59
68
|
end
|
@@ -56,7 +56,7 @@ module Zakuro
|
|
56
56
|
date = param.date
|
57
57
|
days = param.days
|
58
58
|
Result::Data::SingleDay.new(
|
59
|
-
year: save_year(year: year),
|
59
|
+
year: save_year(year: year, month: month, date: date),
|
60
60
|
month: save_month(month: month, date: date, days: days),
|
61
61
|
day: save_day(month: month, date: date, days: days)
|
62
62
|
)
|
@@ -69,10 +69,10 @@ module Zakuro
|
|
69
69
|
#
|
70
70
|
# @return [Result::Year] 年データ
|
71
71
|
#
|
72
|
-
def self.save_year(year:)
|
73
|
-
|
74
|
-
first =
|
75
|
-
second =
|
72
|
+
def self.save_year(year:, month:, date:)
|
73
|
+
gengou = month.gengou
|
74
|
+
first = gengou.match_first_line(date: date)
|
75
|
+
second = gengou.match_second_line(date: date)
|
76
76
|
Result::Data::Year.new(
|
77
77
|
first_gengou:
|
78
78
|
Result::Data::Gengou.new(name: first.name, number: first.year),
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../output/logger'
|
4
|
+
|
5
|
+
# :nodoc:
|
6
|
+
module Zakuro
|
7
|
+
#
|
8
|
+
# Tools 汎用メソッド群
|
9
|
+
#
|
10
|
+
module Tools
|
11
|
+
# :reek:UncommunicativeVariableName {accept: e}
|
12
|
+
|
13
|
+
#
|
14
|
+
# Typeconv 型変換
|
15
|
+
#
|
16
|
+
module Typeconv
|
17
|
+
LOGGER = Output::Logger.new(location: 'Typeconv')
|
18
|
+
|
19
|
+
#
|
20
|
+
# 文字列を10進数で数値化する
|
21
|
+
#
|
22
|
+
# @param [String] text 対象文字列
|
23
|
+
# @param [Integer] default デフォルト数値
|
24
|
+
#
|
25
|
+
# @return [Integer] 数値
|
26
|
+
#
|
27
|
+
def self.to_i(text:, default:)
|
28
|
+
begin
|
29
|
+
return Integer(text, 10)
|
30
|
+
rescue StandardError => e
|
31
|
+
LOGGER.debug(e)
|
32
|
+
end
|
33
|
+
|
34
|
+
default
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
data/lib/zakuro/tools/typeof.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative '../calculation/cycle/abstract_remainder'
|
4
|
-
require_relative '../era/
|
4
|
+
require_relative '../era/japan/calendar'
|
5
|
+
require_relative '../era/western/calendar'
|
5
6
|
|
6
7
|
# :nodoc:
|
7
8
|
module Zakuro
|
@@ -22,6 +23,8 @@ module Zakuro
|
|
22
23
|
# @return [False] 時間型ではない
|
23
24
|
#
|
24
25
|
def self.time?(obj:)
|
26
|
+
return true if obj.is_a?(Japan::Calendar)
|
27
|
+
|
25
28
|
return true if obj.is_a?(Western::Calendar)
|
26
29
|
|
27
30
|
return true if obj.is_a?(Calculation::Cycle::AbstractRemainder)
|
@@ -8,16 +8,37 @@ module Zakuro
|
|
8
8
|
# Context 暦コンテキスト
|
9
9
|
#
|
10
10
|
class Context
|
11
|
+
# @return [String] 暦名
|
11
12
|
attr_reader :version_name
|
13
|
+
# @return [VersionClassResolver] 暦リゾルバー
|
12
14
|
attr_reader :resolver
|
13
15
|
|
16
|
+
# @return [Array<String>] 暦名
|
14
17
|
VERSION_NAMES = %w[Genka Gihou Daien Senmyou Joukyou Kansei Tenpou Gregorio].freeze
|
15
18
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
+
#
|
20
|
+
# 初期化
|
21
|
+
#
|
22
|
+
# @param [String] version_name 暦名
|
23
|
+
#
|
24
|
+
def initialize(version_name: '')
|
19
25
|
@version_name = version_name
|
26
|
+
|
27
|
+
if !invalid? && !VERSION_NAMES.include?(version_name)
|
28
|
+
raise ArgumentError.new, 'invalid version'
|
29
|
+
end
|
30
|
+
|
20
31
|
@resolver = VersionClassResolver.new(version_name: version_name)
|
21
32
|
end
|
33
|
+
|
34
|
+
#
|
35
|
+
# 不正か
|
36
|
+
#
|
37
|
+
# @return [True] 不正
|
38
|
+
# @return [False] 不正なし
|
39
|
+
#
|
40
|
+
def invalid?
|
41
|
+
@version_name.empty?
|
42
|
+
end
|
22
43
|
end
|
23
44
|
end
|
@@ -1,36 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '../abstract_version'
|
4
|
-
|
5
3
|
# :nodoc:
|
6
4
|
module Zakuro
|
7
5
|
#
|
8
6
|
# Daien 大衍暦
|
9
7
|
#
|
10
8
|
module Daien
|
11
|
-
#
|
12
|
-
# Gateway アクセサメソッド群
|
13
|
-
#
|
14
|
-
class Gateway < AbstractVersion
|
15
|
-
# @return [True] リリースあり
|
16
|
-
RELEASE = true
|
17
|
-
|
18
|
-
# @return [String] 暦クラス名
|
19
|
-
VERSION_NAME = 'Daien'
|
20
|
-
|
21
|
-
#
|
22
|
-
# 西暦日から和暦日に変換する
|
23
|
-
#
|
24
|
-
# @param [Date] western_date 西暦日
|
25
|
-
#
|
26
|
-
# @return [Result::Single] 和暦日
|
27
|
-
#
|
28
|
-
def self.to_japan_date(western_date:)
|
29
|
-
date = Western::Calendar.create(date: western_date)
|
30
|
-
|
31
|
-
context = Context.new(version_name: VERSION_NAME)
|
32
|
-
Calculation::Summary::Single.get(context: context, date: date)
|
33
|
-
end
|
34
|
-
end
|
9
|
+
# none
|
35
10
|
end
|
36
11
|
end
|
@@ -1,36 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '../abstract_version'
|
4
|
-
|
5
3
|
# :nodoc:
|
6
4
|
module Zakuro
|
7
5
|
#
|
8
6
|
# Genka 元嘉暦
|
9
7
|
#
|
10
8
|
module Genka
|
11
|
-
#
|
12
|
-
# Gateway アクセサメソッド群
|
13
|
-
#
|
14
|
-
class Gateway < AbstractVersion
|
15
|
-
# @return [True] リリースあり
|
16
|
-
RELEASE = true
|
17
|
-
|
18
|
-
# @return [String] 暦クラス名
|
19
|
-
VERSION_NAME = 'Genka'
|
20
|
-
|
21
|
-
#
|
22
|
-
# 西暦日から和暦日に変換する
|
23
|
-
#
|
24
|
-
# @param [Date] western_date 西暦日
|
25
|
-
#
|
26
|
-
# @return [Result::Single] 和暦日
|
27
|
-
#
|
28
|
-
def self.to_japan_date(western_date:)
|
29
|
-
date = Western::Calendar.create(date: western_date)
|
30
|
-
|
31
|
-
context = Context.new(version_name: VERSION_NAME)
|
32
|
-
Calculation::Summary::Single.get(context: context, date: date)
|
33
|
-
end
|
34
|
-
end
|
9
|
+
# none
|
35
10
|
end
|
36
11
|
end
|
@@ -1,40 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'date'
|
4
|
-
require_relative '../../era/western'
|
5
|
-
require_relative '../abstract_version'
|
6
|
-
require_relative '../context'
|
7
|
-
require_relative '../../calculation/summary/single'
|
8
|
-
|
9
3
|
# :nodoc:
|
10
4
|
module Zakuro
|
11
5
|
#
|
12
6
|
# Gihou 儀鳳暦
|
13
7
|
#
|
14
8
|
module Gihou
|
15
|
-
#
|
16
|
-
# Gateway アクセサメソッド群
|
17
|
-
#
|
18
|
-
class Gateway < AbstractVersion
|
19
|
-
# @return [True] リリースあり
|
20
|
-
RELEASE = true
|
21
|
-
|
22
|
-
# @return [String] 暦クラス名
|
23
|
-
VERSION_NAME = 'Gihou'
|
24
|
-
|
25
|
-
#
|
26
|
-
# 西暦日から和暦日に変換する
|
27
|
-
#
|
28
|
-
# @param [Date] western_date 西暦日
|
29
|
-
#
|
30
|
-
# @return [Result::Single] 和暦日
|
31
|
-
#
|
32
|
-
def self.to_japan_date(western_date:)
|
33
|
-
date = Western::Calendar.create(date: western_date)
|
34
|
-
|
35
|
-
context = Context.new(version_name: VERSION_NAME)
|
36
|
-
Calculation::Summary::Single.get(context: context, date: date)
|
37
|
-
end
|
38
|
-
end
|
9
|
+
# none
|
39
10
|
end
|
40
11
|
end
|
@@ -1,19 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '../abstract_version'
|
4
|
-
|
5
3
|
# :nodoc:
|
6
4
|
module Zakuro
|
7
5
|
#
|
8
6
|
# Gregorio グレゴリオ暦
|
9
7
|
#
|
10
8
|
module Gregorio
|
11
|
-
#
|
12
|
-
# Gateway アクセサメソッド群
|
13
|
-
#
|
14
|
-
class Gateway < AbstractVersion
|
15
|
-
# @return [False] リリースなし
|
16
|
-
RELEASE = false
|
17
|
-
end
|
9
|
+
# none
|
18
10
|
end
|
19
11
|
end
|
@@ -1,19 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '../abstract_version'
|
4
|
-
|
5
3
|
# :nodoc:
|
6
4
|
module Zakuro
|
7
5
|
#
|
8
6
|
# Houryaku 宝暦暦
|
9
7
|
#
|
10
8
|
module Houryaku
|
11
|
-
#
|
12
|
-
# Gateway アクセサメソッド群
|
13
|
-
#
|
14
|
-
class Gateway < AbstractVersion
|
15
|
-
# @return [False] リリースなし
|
16
|
-
RELEASE = false
|
17
|
-
end
|
9
|
+
# none
|
18
10
|
end
|
19
11
|
end
|
@@ -1,19 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '../abstract_version'
|
4
|
-
|
5
3
|
# :nodoc:
|
6
4
|
module Zakuro
|
7
5
|
#
|
8
6
|
# Joukyou 貞享暦
|
9
7
|
#
|
10
8
|
module Joukyou
|
11
|
-
#
|
12
|
-
# Gateway アクセサメソッド群
|
13
|
-
#
|
14
|
-
class Gateway < AbstractVersion
|
15
|
-
# @return [False] リリースなし
|
16
|
-
RELEASE = false
|
17
|
-
end
|
9
|
+
# none
|
18
10
|
end
|
19
11
|
end
|
@@ -1,19 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '../abstract_version'
|
4
|
-
|
5
3
|
# :nodoc:
|
6
4
|
module Zakuro
|
7
5
|
#
|
8
6
|
# Kansei 寛政暦
|
9
7
|
#
|
10
8
|
module Kansei
|
11
|
-
#
|
12
|
-
# Gateway アクセサメソッド群
|
13
|
-
#
|
14
|
-
class Gateway < AbstractVersion
|
15
|
-
# @return [False] リリースなし
|
16
|
-
RELEASE = false
|
17
|
-
end
|
9
|
+
# none
|
18
10
|
end
|
19
11
|
end
|
@@ -1,40 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'date'
|
4
|
-
require_relative '../../era/western'
|
5
|
-
require_relative '../abstract_version'
|
6
|
-
require_relative '../context'
|
7
|
-
require_relative '../../calculation/summary/single'
|
8
|
-
|
9
3
|
# :nodoc:
|
10
4
|
module Zakuro
|
11
5
|
#
|
12
6
|
# Senmyou 宣明暦
|
13
7
|
#
|
14
8
|
module Senmyou
|
15
|
-
#
|
16
|
-
# Gateway アクセサメソッド群
|
17
|
-
#
|
18
|
-
class Gateway < AbstractVersion
|
19
|
-
# @return [True] リリースあり
|
20
|
-
RELEASE = true
|
21
|
-
|
22
|
-
# @return [String] 暦クラス名
|
23
|
-
VERSION_NAME = 'Senmyou'
|
24
|
-
|
25
|
-
#
|
26
|
-
# 西暦日から和暦日に変換する
|
27
|
-
#
|
28
|
-
# @param [Date] western_date 西暦日
|
29
|
-
#
|
30
|
-
# @return [Result::Single] 和暦日
|
31
|
-
#
|
32
|
-
def self.to_japan_date(western_date:)
|
33
|
-
date = Western::Calendar.create(date: western_date)
|
34
|
-
|
35
|
-
context = Context.new(version_name: VERSION_NAME)
|
36
|
-
Calculation::Summary::Single.get(context: context, date: date)
|
37
|
-
end
|
38
|
-
end
|
9
|
+
# none
|
39
10
|
end
|
40
11
|
end
|
@@ -1,19 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative '../abstract_version'
|
4
|
-
|
5
3
|
# :nodoc:
|
6
4
|
module Zakuro
|
7
5
|
#
|
8
6
|
# Tenpou 天保暦
|
9
7
|
#
|
10
8
|
module Tenpou
|
11
|
-
#
|
12
|
-
# Gateway アクセサメソッド群
|
13
|
-
#
|
14
|
-
class Gateway < AbstractVersion
|
15
|
-
# @return [False] リリースなし
|
16
|
-
RELEASE = false
|
17
|
-
end
|
9
|
+
# none
|
18
10
|
end
|
19
11
|
end
|