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.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -0
  3. data/lib/zakuro/calculation/base/gengou.rb +82 -0
  4. data/lib/zakuro/calculation/base/linear_gengou.rb +76 -0
  5. data/lib/zakuro/calculation/base/operated_year.rb +5 -15
  6. data/lib/zakuro/calculation/base/year.rb +26 -14
  7. data/lib/zakuro/calculation/gengou/internal/counter.rb +129 -0
  8. data/lib/zakuro/calculation/gengou/internal/reserve/interval.rb +183 -0
  9. data/lib/zakuro/calculation/gengou/internal/reserve/list.rb +382 -0
  10. data/lib/zakuro/calculation/gengou/internal/reserve.rb +42 -0
  11. data/lib/zakuro/calculation/gengou/scroll.rb +262 -0
  12. data/lib/zakuro/calculation/monthly/first_day.rb +3 -2
  13. data/lib/zakuro/calculation/monthly/month.rb +49 -2
  14. data/lib/zakuro/calculation/monthly/operated_month.rb +2 -2
  15. data/lib/zakuro/calculation/range/full_range.rb +65 -103
  16. data/lib/zakuro/calculation/range/operated_range.rb +13 -8
  17. data/lib/zakuro/calculation/range/operated_solar_terms.rb +36 -17
  18. data/lib/zakuro/calculation/range/transfer/gengou_scroller.rb +54 -0
  19. data/lib/zakuro/calculation/range/transfer/year_boundary.rb +25 -21
  20. data/lib/zakuro/calculation/specifier/single_day.rb +13 -35
  21. data/lib/zakuro/calculation/summary/single.rb +5 -2
  22. data/lib/zakuro/calculation/version/internal/crawler.rb +51 -0
  23. data/lib/zakuro/calculation/version/internal/range.rb +39 -0
  24. data/lib/zakuro/calculation/version/version.rb +24 -0
  25. data/lib/zakuro/era/japan/calendar.rb +133 -0
  26. data/lib/zakuro/era/japan/gengou/parser.rb +95 -25
  27. data/lib/zakuro/era/japan/gengou/type.rb +148 -41
  28. data/lib/zakuro/era/japan/gengou/validator.rb +157 -52
  29. data/lib/zakuro/era/japan/gengou/yaml/set-001-until-south.yaml +1870 -0
  30. data/lib/zakuro/era/japan/gengou/yaml/set-002-from-north.yaml +810 -0
  31. data/lib/zakuro/era/japan/gengou/yaml/set-003-modern.yaml +50 -0
  32. data/lib/zakuro/era/japan/gengou.rb +5 -5
  33. data/lib/zakuro/era/japan/version.rb +151 -0
  34. data/lib/zakuro/era/{western.rb → western/calendar.rb} +0 -0
  35. data/lib/zakuro/merchant.rb +12 -3
  36. data/lib/zakuro/operation/month/parser.rb +1 -1
  37. data/lib/zakuro/operation/month/type.rb +1 -1
  38. data/lib/zakuro/operation/month/validator.rb +1 -1
  39. data/lib/zakuro/output/response.rb +5 -5
  40. data/lib/zakuro/tools/typeconv.rb +38 -0
  41. data/lib/zakuro/tools/typeof.rb +4 -1
  42. data/lib/zakuro/version/context.rb +24 -3
  43. data/lib/zakuro/version/daien/daien.rb +1 -26
  44. data/lib/zakuro/version/genka/genka.rb +1 -26
  45. data/lib/zakuro/version/gihou/gihou.rb +1 -30
  46. data/lib/zakuro/version/gregorio/gregorio.rb +1 -9
  47. data/lib/zakuro/version/houryaku/houryaku.rb +1 -9
  48. data/lib/zakuro/version/joukyou/joukyou.rb +1 -9
  49. data/lib/zakuro/version/kansei/kansei.rb +1 -9
  50. data/lib/zakuro/version/senmyou/senmyou.rb +1 -30
  51. data/lib/zakuro/version/tenpou/tenpou.rb +1 -9
  52. data/zakuro.gemspec +1 -3
  53. metadata +25 -17
  54. data/lib/zakuro/calculation/base/multi_gengou.rb +0 -101
  55. data/lib/zakuro/calculation/base/multi_gengou_roller.rb +0 -218
  56. data/lib/zakuro/calculation/range/transfer/western_date_allocation.rb +0 -82
  57. data/lib/zakuro/era/japan/reki.rb +0 -91
  58. data/lib/zakuro/era/japan/yaml/set-001-until-south.yaml +0 -1121
  59. data/lib/zakuro/era/japan/yaml/set-002-from-north.yaml +0 -485
  60. data/lib/zakuro/era/japan/yaml/set-003-modern.yaml +0 -28
  61. data/lib/zakuro/version/abstract_version.rb +0 -29
  62. data/lib/zakuro/version.rb +0 -7
  63. 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
- # * LINE配列の元号情報を配列順で「x行目」(1始まり)とする
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
@@ -1,6 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative './version_factory'
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
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'yaml'
4
- require_relative '../../era/western'
4
+ require_relative '../../era/western/calendar'
5
5
  require_relative './validator'
6
6
  require_relative './type'
7
7
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'yaml'
4
- require_relative '../../era/western'
4
+ require_relative '../../era/western/calendar'
5
5
  require_relative './validator'
6
6
 
7
7
  # :nodoc:
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'yaml'
4
- require_relative '../../era/western'
4
+ require_relative '../../era/western/calendar'
5
5
 
6
6
  # :nodoc:
7
7
  module Zakuro
@@ -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
- multi_gengou = year.multi_gengou
74
- first = multi_gengou.first_line
75
- second = multi_gengou.second_line
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
@@ -1,7 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative '../calculation/cycle/abstract_remainder'
4
- require_relative '../era/western'
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
- def initialize(version_name:)
17
- raise ArgumentError.new, 'invalid version' unless VERSION_NAMES.include?(version_name)
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