zakuro 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
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