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