Class: TimeRange::WeekdayEnumerator

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/3scale_time_range.rb

Instance Method Summary collapse

Constructor Details

#initialize(range, weekday) ⇒ WeekdayEnumerator

Returns a new instance of WeekdayEnumerator.



143
144
145
# File 'lib/3scale_time_range.rb', line 143

def initialize(range, weekday)
  @range, @offset = range, WEEKDAYS[weekday].days
end

Instance Method Details

#eachObject



147
148
149
150
151
152
153
154
155
156
157
158
# File 'lib/3scale_time_range.rb', line 147

def each
  current = @range.begin.beginning_of_week + @offset
  current = current + 1.week if current < @range.begin
  last    = @range.end

  while current <= last
    yield(current)
    current += 1.week
  end

  self
end