module Zakuro::Daien::Lunar::Value
Value
月補正値
Constants
- LOGGER
@return [Output::Logger] ロガー
Public Class Methods
get(remainder:)
click to toggle source
月の運行による補正値を算出する
@param [Cycle::LunarRemainder] remainder 月の大余小余
@return [Integer] 補正値
# File lib/zakuro/version/daien/stella/lunar/value.rb, line 31 def self.get(remainder:) valid?(remainder: remainder) day, minute = Calculation::Lunar::ChoukeiValue.remainder_without_second( remainder: remainder ) # 引き当て row = Adjustment.specify(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
Private Class Methods
valid?(remainder:)
click to toggle source
大余小余を検証する
@param [Cycle::LunarRemainder] remainder 大余小余
@return [True] 正しい(月の位相計算に使う大余小余) @return [True] 正しくない
# File lib/zakuro/version/daien/stella/lunar/value.rb, line 66 def self.valid?(remainder:) return if remainder.is_a?(Cycle::LunarRemainder) raise ArgumentError, "unmatch parameter type: #{remainder.class}" end