zverok/time_math2

View on GitHub
lib/time_math/units/year.rb

Summary

Maintainability
A
0 mins
Test Coverage
module TimeMath
  module Units
    # @private
    class Year < Base
      def initialize
        super(:year)
      end

      protected

      def _measure(from, to)
        if Util.merge(from, year: to.year) <= to
          to.year - from.year
        else
          to.year - from.year - 1
        end
      end

      def _advance(tm, steps)
        Util.merge(tm, year: tm.year + steps.to_i)
      end

      def _decrease(tm, steps)
        Util.merge(tm, year: tm.year - steps.to_i)
      end
    end
  end
end