Module: Zakuro::Version::Senmyou::Lunar::Value

Defined in:
lib/zakuro/version/senmyou/stella/lunar/value.rb

Overview

Value 月補正値

Constant Summary collapse

LOGGER =

Returns ロガー.

Returns:

Output::Logger.new(location: 'lunar_value')

Class Method Summary collapse

Class Method Details

.get(remainder:, forward:) ⇒ Integer

月の運行による補正値を算出する

Parameters:

  • remainder (Cycle::LunarRemainder)

    月の大余小余

  • forward (True, False)

    進(遠地点より数える)/退(近地点より数える)

Returns:

  • (Integer)

    補正値



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/zakuro/version/senmyou/stella/lunar/value.rb', line 35

def get(remainder:, forward:)
  valid?(remainder: remainder)

  day, minute = Calculation::Lunar::ChoukeiValue.remainder_without_second(
    remainder: remainder
  )

  # 引き当て
  row = Adjustment.specify(forward: forward, day: day, minute: minute)

  value = row.value

  # LOGGER.debug("value.per: #{value.per}")
  # LOGGER.debug("row.denominator: #{row.denominator}")
  # LOGGER.debug("value.stack: #{value.stack}")

  minus_minute = Adjustment.minus_minute(day: day, minute: minute)

  day = Calculation::Lunar::ChoukeiValue.rounded_day(
    per: value.per, denominator: row.denominator, minute: minus_minute
  )

  # LOGGER.debug("day: #{day}")

  value.stack + day
end