class Zakuro::Calculation::Base::MultiGengou
MultiGengou
複数元号
Attributes
first_line[R]
@return [Japan::Gengou] 元号(1行目)
new_year_date[R]
@return [Western::Calendar] 元旦
second_line[R]
@return [Japan::Gengou] 元号(2行目)
Public Class Methods
new(first_line: Japan::Gengou.new, second_line: Japan::Gengou.new, new_year_date: Western::Calendar.new)
click to toggle source
# File lib/zakuro/calculation/base/multi_gengou.rb, line 23 def initialize(first_line: Japan::Gengou.new, second_line: Japan::Gengou.new, new_year_date: Western::Calendar.new) @first_line = first_line @second_line = second_line @new_year_date = new_year_date end
Public Instance Methods
initialize_copy(obj)
click to toggle source
ディープコピー
@param [MultiGengou] obj 自身
# File lib/zakuro/calculation/base/multi_gengou.rb, line 75 def initialize_copy(obj) @first_line = obj.first_line.clone @second_line = obj.second_line.clone end
next_year()
click to toggle source
次年にする
@param [Japan::Gengou] first_line
元号(1行目) @param [Japan::Gengou] second_line
元号(2行目)
@return [MultiGengou] 自身
# File lib/zakuro/calculation/base/multi_gengou.rb, line 63 def next_year @first_line.next_year @second_line.next_year self end
transfer(first_line: Japan::Gengou.new, second_line: Japan::Gengou.new)
click to toggle source
改元する
@param [Japan::Gengou] first_line
元号(1行目) @param [Japan::Gengou] second_line
元号(2行目)
@return [MultiGengou] 自身
# File lib/zakuro/calculation/base/multi_gengou.rb, line 40 def transfer(first_line: Japan::Gengou.new, second_line: Japan::Gengou.new) cloned_first_line = first_line.clone cloned_second_line = second_line.clone if integrated?(first_line: cloned_first_line, second_line: cloned_second_line) @first_line = @second_line.clone @second_line = cloned_second_line end @first_line = cloned_first_line if @first_line.name != first_line.name @second_line = cloned_second_line if @second_line.name != second_line.name self end
Private Instance Methods
integrated?(first_line: Japan::Gengou.new, second_line: Japan::Gengou.new)
click to toggle source
複数元号を統一するかどうか
@param [Japan::Gengou] first_line
元号(1行目) @param [Japan::Gengou] second_line
元号(2行目)
@return [True] 統一する @return [False] 統一しない
# File lib/zakuro/calculation/base/multi_gengou.rb, line 91 def integrated?(first_line: Japan::Gengou.new, second_line: Japan::Gengou.new) return false if @second_line.name != first_line.name return false unless second_line.invalid? true end