class Tinybucket::Enumerator
Public Class Methods
new(iterator, block)
click to toggle source
Constructor
This method create a enumerator to enumerate each items of iterator.
@note This method return Lazy Enumerator
if run on ruby 2.0.0 later.
@param iterator [Tinybucket::Iterator] iterator instance. @param block [Proc] a proc object to handle each item.
Calls superclass method
# File lib/tinybucket/enumerator.rb, line 13 def initialize(iterator, block) @iterator = iterator @block = block super() do |y| loop do v = @iterator.next m = @block ? @block.call(v) : v y.yield(m) end end lazy if lazy_enumerable? end
Public Instance Methods
size()
click to toggle source
Get collection size.
@see Tinybucket::Iterator#size
@return [Fixnum, NillClass] collection size.
# File lib/tinybucket/enumerator.rb, line 33 def size @iterator.size end
Private Instance Methods
lazy_enumerable?()
click to toggle source
# File lib/tinybucket/enumerator.rb, line 39 def lazy_enumerable? ruby_major_version >= 2 end
ruby_major_version()
click to toggle source
# File lib/tinybucket/enumerator.rb, line 43 def ruby_major_version RUBY_VERSION.split('.')[0].to_i end