class Pipely::PipelineDateTime::PipelineDateRangeBase

Base class for pipeline date ranges

Attributes

days_back[R]

Public Class Methods

new(target_date, days_back_start, days_back_end) click to toggle source
# File lib/pipely/pipeline_date_time/pipeline_date_range_base.rb, line 11
def initialize(target_date, days_back_start, days_back_end)
  @target_date = target_date
  @days_back_start = days_back_start
  @days_back_end = days_back_end
  @days_back = (days_back_end..days_back_start).to_set
end

Public Instance Methods

end() click to toggle source
# File lib/pipely/pipeline_date_time/pipeline_date_range_base.rb, line 22
def end
  @days_back_end
end
exclude(days_back_start, days_back_end) click to toggle source
# File lib/pipely/pipeline_date_time/pipeline_date_range_base.rb, line 26
def exclude(days_back_start, days_back_end)
  return if days_back_start < 0
  return if days_back_end < 0
  return if days_back_start < days_back_end  # Back smaller for earlier
  (days_back_end..days_back_start).each do |days_back|
    @days_back.delete days_back
  end
end
start() click to toggle source
# File lib/pipely/pipeline_date_time/pipeline_date_range_base.rb, line 18
def start
  @days_back_start
end

Private Instance Methods

pipeline_dates() click to toggle source
# File lib/pipely/pipeline_date_time/pipeline_date_range_base.rb, line 37
def pipeline_dates
  @pipeline_dates ||= @days_back.map do |days_back|
    PipelineDate.new(@target_date, days_back)
  end
end