class MudratProjector::DateDiff::YearCalculator
Public Class Methods
advance(intervals, from: from)
click to toggle source
# File lib/mudrat_projector/date_diff.rb, line 123 def self.advance intervals, from: from if intervals < 1 days_in_year = from.leap? ? 366 : 365 days = intervals * days_in_year DayCalculator.advance days, from: from else method = intervals > 0 ? :next_year : :prev_year intervals.times.inject from do |date, _| date.public_send method; end end end
Public Instance Methods
advance_one_unit(date)
click to toggle source
# File lib/mudrat_projector/date_diff.rb, line 115 def advance_one_unit date date.next_year end
fetch_unit(date)
click to toggle source
# File lib/mudrat_projector/date_diff.rb, line 111 def fetch_unit date (Date.new(date.year)..Date.new(date.year, 12, 31)) end
rewind_one_unit(date)
click to toggle source
# File lib/mudrat_projector/date_diff.rb, line 119 def rewind_one_unit date date.prev_year end