Class: Zakuro::Calculation::Solar::AbstractAverage

Inherits:
Object
  • Object
show all
Defined in:
lib/zakuro/calculation/stella/solar/abstract_average.rb

Overview

AbstractAverage 平気(太陽軌道平均)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(solar_term:) ⇒ AbstractAverage

初期化

Parameters:



25
26
27
# File 'lib/zakuro/calculation/stella/solar/abstract_average.rb', line 25

def initialize(solar_term:)
  @solar_term = solar_term
end

Instance Attribute Details

#solar_termCycle::AbstractSolarTerm (readonly)

Returns 入定気.

Returns:



18
19
20
# File 'lib/zakuro/calculation/stella/solar/abstract_average.rb', line 18

def solar_term
  @solar_term
end

Instance Method Details

#set(annual_range:) ⇒ Array<Month>

冬至から数えた1年データの月ごとに二十四節気を割り当てる

Parameters:

  • annual_range (Array<Month>)

    1年データ

Returns:

  • (Array<Month>)

    1年データ



36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/zakuro/calculation/stella/solar/abstract_average.rb', line 36

def set(annual_range:)
  # 次月と比較しながら当月の二十四節気を決める
  # NOTE: 最後の月は処理できない(=計算外の余分な月が最後に必要である)
  annual_range.each_cons(2) do |(current_month, next_month)|
    set_solar_term(
      current_month: current_month,
      next_month: next_month
    )
  end

  annual_range
end