class MudratProjector::DateDiff::QuarterCalculator

Public Class Methods

advance(intervals, from: from) click to toggle source
# File lib/mudrat_projector/date_diff.rb, line 154
def self.advance intervals, from: from
  (intervals * 3).times.inject from do |date, _| date.next_month; end
end

Public Instance Methods

advance_one_unit(date) click to toggle source
# File lib/mudrat_projector/date_diff.rb, line 146
def advance_one_unit date
  date.next_month.next_month.next_month
end
fetch_unit(date) click to toggle source
# File lib/mudrat_projector/date_diff.rb, line 136
def fetch_unit date
  [1, 4, 7, 10].each do |quarter|
    if (quarter..quarter + 2).include? date.month
      start_of_quarter = Date.new(date.year, quarter)
      return (start_of_quarter..(start_of_quarter.next_month.next_month.next_month - 1))
    end
  end
  fail "Date month was #{date.month}"
end
rewind_one_unit(date) click to toggle source
# File lib/mudrat_projector/date_diff.rb, line 150
def rewind_one_unit date
  date.prev_month.prev_month.prev_month
end