class Biz::Periods::Before

Public Class Methods

new(schedule, origin) click to toggle source
Calls superclass method Biz::Periods::Abstract::new
# File lib/biz/periods/before.rb, line 7
def initialize(schedule, origin)
  @boundary  = TimeSegment.before(origin)
  @intervals = schedule.intervals.reverse
  @shifts    = schedule.shifts.reverse

  super
end

Public Instance Methods

timeline() click to toggle source
Calls superclass method Biz::Periods::Abstract#timeline
# File lib/biz/periods/before.rb, line 15
def timeline
  super.backward
end

Private Instance Methods

active_periods(*) click to toggle source
Calls superclass method Biz::Periods::Abstract#active_periods
# File lib/biz/periods/before.rb, line 31
def active_periods(*)
  super.reverse
end
selector() click to toggle source
# File lib/biz/periods/before.rb, line 21
def selector
  :max_by
end
weeks() click to toggle source
# File lib/biz/periods/before.rb, line 25
def weeks
  Week
    .since_epoch(schedule.in_zone.local(origin))
    .downto(Week.since_epoch(Time.big_bang))
end