Class: Zakuro::Version::Genka::Monthly::LunarPhase
- Inherits:
-
Object
- Object
- Zakuro::Version::Genka::Monthly::LunarPhase
- Defined in:
- lib/zakuro/version/genka/monthly/lunar_phase.rb
Overview
LunarPhase 月の位相
Constant Summary collapse
- QUARTER =
Returns 弦.
Const::Remainder::QUARTER
- PHASE_INDEXES =
Returns 月内の弦.
Calculation::Monthly::Const::PHASE_INDEXES
Instance Attribute Summary collapse
-
#index ⇒ Integer
readonly
弦の位置.
-
#remainder ⇒ Cycle::AbstractRemainder
readonly
経.
Instance Method Summary collapse
-
#average_remainder ⇒ Remainder
経朔を返す.
-
#initialize(remainder:) ⇒ LunarPhase
constructor
初期化.
-
#next_month ⇒ Remainder
次の月に進める.
-
#next_phase ⇒ Remainder
次の弦に進める.
Constructor Details
#initialize(remainder:) ⇒ LunarPhase
初期化
41 42 43 44 45 46 47 |
# File 'lib/zakuro/version/genka/monthly/lunar_phase.rb', line 41 def initialize(remainder:) # 経 @remainder = remainder # 弦の位置 @index = 0 end |
Instance Attribute Details
#index ⇒ Integer (readonly)
Returns 弦の位置.
32 33 34 |
# File 'lib/zakuro/version/genka/monthly/lunar_phase.rb', line 32 def index @index end |
#remainder ⇒ Cycle::AbstractRemainder (readonly)
Returns 経.
34 35 36 |
# File 'lib/zakuro/version/genka/monthly/lunar_phase.rb', line 34 def remainder @remainder end |
Instance Method Details
#average_remainder ⇒ Remainder
経朔を返す
元嘉暦には経朔しかないが他の暦と揃える
85 86 87 |
# File 'lib/zakuro/version/genka/monthly/lunar_phase.rb', line 85 def average_remainder @remainder end |
#next_month ⇒ Remainder
Note:
進めた後の月の経朔ではなく、当月のものを返却する
次の月に進める
68 69 70 71 72 73 74 75 76 |
# File 'lib/zakuro/version/genka/monthly/lunar_phase.rb', line 68 def next_month result = nil PHASE_INDEXES.each_with_index do |_phase, index| adjust = next_phase result = adjust if index.zero? end result end |
#next_phase ⇒ Remainder
次の弦に進める
54 55 56 57 58 59 60 |
# File 'lib/zakuro/version/genka/monthly/lunar_phase.rb', line 54 def next_phase adjusted = remainder.clone add_quarter_moon_size adjusted end |