Class: Zakuro::Calculation::Lunar::AbstractLocation

Inherits:
Object
  • Object
show all
Defined in:
lib/zakuro/calculation/stella/lunar/abstract_location.rb

Overview

AbstractLocation 入暦

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(lunar_age:, quarter:, western_year:) ⇒ AbstractLocation

初期化

Parameters:

  • lunar_age (Cycle::LunarRemainder)

    天正閏余(大余小余)

  • quarter (Cycle::LunarRemainder)

    弦(1朔望月の1/4)

  • western_year (Integer)

    西暦年



32
33
34
35
36
37
# File 'lib/zakuro/calculation/stella/lunar/abstract_location.rb', line 32

def initialize(lunar_age:, quarter:, western_year:)
  @calculated = false
  @western_year = western_year
  @remainder = lunar_age
  @quarter = quarter
end

Instance Attribute Details

#calculatedTrue, False (readonly)

Returns:

  • (True)

    計算済み(前回計算あり)

  • (False)

    未計算(初回計算)



17
18
19
# File 'lib/zakuro/calculation/stella/lunar/abstract_location.rb', line 17

def calculated
  @calculated
end

#quarterCycle::LunarRemainder (readonly)

Returns 弦(1朔望月の1/4).

Returns:

  • (Cycle::LunarRemainder)

    弦(1朔望月の1/4)



23
24
25
# File 'lib/zakuro/calculation/stella/lunar/abstract_location.rb', line 23

def quarter
  @quarter
end

#remainderCycle::LunarRemainder (readonly)

Returns 大余小余(初回:昨年天正閏余).

Returns:

  • (Cycle::LunarRemainder)

    大余小余(初回:昨年天正閏余)



21
22
23
# File 'lib/zakuro/calculation/stella/lunar/abstract_location.rb', line 21

def remainder
  @remainder
end

#western_yearInteger (readonly)

Returns 西暦年.

Returns:

  • (Integer)

    西暦年



19
20
21
# File 'lib/zakuro/calculation/stella/lunar/abstract_location.rb', line 19

def western_year
  @western_year
end

Instance Method Details

#add_quarterObject

弦の分だけ月地点を進める



49
50
51
# File 'lib/zakuro/calculation/stella/lunar/abstract_location.rb', line 49

def add_quarter
  remainder.add!(quarter)
end

#adjusted_remainderCycle::AbstractRemainder

1始まりの大余小余を取得する

Returns:



58
59
60
# File 'lib/zakuro/calculation/stella/lunar/abstract_location.rb', line 58

def adjusted_remainder
  remainder.add(Cycle::AbstractRemainder.new(day: 1, minute: 0, second: 0))
end

#runObject

入暦を計算する



42
43
44
# File 'lib/zakuro/calculation/stella/lunar/abstract_location.rb', line 42

def run
  # abstract
end