lib/zakuro/version/daien/monthly/lunar_phase.rb in zakuro-0.9.4 vs lib/zakuro/version/daien/monthly/lunar_phase.rb in zakuro-1.0.0

- old
+ new

@@ -13,89 +13,92 @@ require_relative '../stella/origin/average_november' # :nodoc: module Zakuro # :nodoc: - module Daien + module Version # :nodoc: - module Monthly - # - # LunarPhase 月の位相 - # - class LunarPhase < Calculation::Monthly::AbstractLunarPhase - # @return [Cycle::Remainder] 弦 - QUARTER = Const::Remainder::Solar::QUARTER - + module Daien + # :nodoc: + module Monthly # - # 初期化 + # LunarPhase 月の位相 # - # @param [Integer] western_year 西暦年 - # - def initialize(western_year:) - # 天正閏余 - lunar_age = Origin::LunarAge.get(western_year: western_year) + class LunarPhase < Calculation::Monthly::AbstractLunarPhase + # @return [Cycle::Remainder] 弦 + QUARTER = Const::Remainder::Solar::QUARTER - super( - quarter: QUARTER, - average_remainder: Origin::AverageNovember.get(western_year: western_year), - solar_location: Solar::Location.new(lunar_age: lunar_age), - lunar_location: Lunar::Location.new( - western_year: western_year, - lunar_age: Cycle::LunarRemainder.new(total: 0).add!(lunar_age) + # + # 初期化 + # + # @param [Integer] western_year 西暦年 + # + def initialize(western_year:) + # 天正閏余 + lunar_age = Origin::LunarAge.get(western_year: western_year) + + super( + quarter: QUARTER, + average_remainder: Origin::AverageNovember.get(western_year: western_year), + solar_location: Solar::Location.new(lunar_age: lunar_age), + lunar_location: Lunar::Location.new( + western_year: western_year, + lunar_age: Cycle::LunarRemainder.new(total: 0).add!(lunar_age) + ) ) - ) - end + end - private + private - # :reek:TooManyStatements { max_statements: 6 } + # :reek:TooManyStatements { max_statements: 6 } - # - # 現在の定朔を取得する - # - # @return [Remainder] 定朔 - # - def current_remainder - # debug("average_remainder.format: #{average_remainder.format(form: '%d-%d-%.5f')}") + # + # 現在の定朔を取得する + # + # @return [Remainder] 定朔 + # + def current_remainder + # debug("average_remainder.format: #{average_remainder.format(form: '%d-%d-%.5f')}") - sum = correction_value - adjusted = average_remainder.add( - Cycle::Remainder.new(day: 0, minute: sum, second: 0) - ) - # NOTE: 大衍暦では進朔しない - # adjusted.up_on_new_moon! + sum = correction_value + adjusted = average_remainder.add( + Cycle::Remainder.new(day: 0, minute: sum, second: 0) + ) + # NOTE: 大衍暦では進朔しない + # adjusted.up_on_new_moon! - debug("result: #{adjusted.format(form: '%d-%d.%.5f')}") + debug("result: #{adjusted.format(form: '%d-%d.%.5f')}") - adjusted - end + adjusted + end - # - # 太陽運動の補正値を得る - # - # @return [Integer] 太陽運動の補正値 - # - def correction_solar_value - solar_location.run - # debug("solar_term.remainder: #{solar_location.remainder.format(form: '%d-%d-%.5f')}") - # debug("solar_term.index: #{solar_location.index}") + # + # 太陽運動の補正値を得る + # + # @return [Integer] 太陽運動の補正値 + # + def correction_solar_value + solar_location.run + # debug("solar_term.remainder: #{solar_location.remainder.format(form: '%d-%d-%.5f')}") + # debug("solar_term.index: #{solar_location.index}") - Solar::Value.get(solar_location: solar_location) - end + Solar::Value.get(solar_location: solar_location) + end - # - # 月運動の補正値を得る - # - # @return [Integer] 月運動の補正値 - # - def correction_moon_value - lunar_location.run + # + # 月運動の補正値を得る + # + # @return [Integer] 月運動の補正値 + # + def correction_moon_value + lunar_location.run - remainder = lunar_location.adjusted_remainder + remainder = lunar_location.adjusted_remainder - debug("[lunar]remainder.format: #{remainder.format(form: '%d-%d-%.5f')}") + debug("[lunar]remainder.format: #{remainder.format(form: '%d-%d-%.5f')}") - Lunar::Value.get(remainder: remainder) + Lunar::Value.get(remainder: remainder) + end end end end end end