Sha256: 5674d96a3040f893a0306fef58a82967a4358461dc7899cead9cd08848c8f610
Contents?: true
Size: 1.91 KB
Versions: 2
Compression:
Stored size: 1.91 KB
Contents
# frozen_string_literal: true require_relative '../../../../calculation/stella/lunar/choukei_value' require_relative '../../cycle/remainder' require_relative './adjustment' # :nodoc: module Zakuro # :nodoc: module Senmyou # :nodoc: module Lunar # # Value 月補正値 # module Value # :reek:TooManyStatements { max_statements: 9 } class << self # # 月の運行による補正値を算出する # # @param [Cycle::LunarRemainder] remainder 月の大余小余 # @param [True, False] forward 進(遠地点より数える)/退(近地点より数える) # # @return [Integer] 補正値 # 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 minus_minute = Adjustment.minus_minute(day: day, minute: minute) day = Calculation::Lunar::ChoukeiValue.rounded_day( per: value.per, denominator: row.denominator, minute: minus_minute ) value.stack + day end private # # 大余小余を検証する # # @param [Cycle::LunarRemainder] remainder 大余小余 # # @return [True] 正しい(月の位相計算に使う大余小余) # @return [True] 正しくない # # @raise [ArgumentError] 引数エラー # def valid?(remainder:) return if remainder.is_a?(Cycle::LunarRemainder) raise ArgumentError, "unmatch parameter type: #{remainder.class}" end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
zakuro-0.9.0 | lib/zakuro/version/senmyou/stella/lunar/value.rb |
zakuro-0.8.0 | lib/zakuro/version/senmyou/stella/lunar/value.rb |