class MudratProjector::DateDiff::MonthCalculator

Public Class Methods

advance(intervals, from: from) click to toggle source
# File lib/mudrat_projector/date_diff.rb, line 173
def self.advance intervals, from: from
  if intervals < 1
    days_in_month = Date.new(from.year, from.month, -1).day
    days = intervals * days_in_month
    DayCalculator.advance days, from: from
  else
    intervals.times.inject from do |date, _| date.next_month; end
  end
end

Public Instance Methods

advance_one_unit(date) click to toggle source
# File lib/mudrat_projector/date_diff.rb, line 165
def advance_one_unit date
  date.next_month
end
fetch_unit(date) click to toggle source
# File lib/mudrat_projector/date_diff.rb, line 160
def fetch_unit date
  start_of_month = Date.new(date.year, date.month)
  (start_of_month..(start_of_month.next_month - 1))
end
rewind_one_unit(date) click to toggle source
# File lib/mudrat_projector/date_diff.rb, line 169
def rewind_one_unit date
  date.prev_month
end