Class: TimeRange::SimpleEnumerator

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

Instance Method Summary collapse

Constructor Details

#initialize(range, step) ⇒ SimpleEnumerator

Returns a new instance of SimpleEnumerator.



122
123
124
# File 'lib/3scale_time_range.rb', line 122

def initialize(range, step)
  @range, @step = range, step.is_a?(Symbol) ? 1.send(step) : step
end

Instance Method Details

#eachObject



126
127
128
129
130
131
132
133
134
135
136
137
# File 'lib/3scale_time_range.rb', line 126

def each
  current = @range.begin
  last = @range.end
  last -= @step if @range.exclude_end?

  while current.to_i <= last.to_i
    yield(current)
    current += @step
  end

  self
end