Class: REXML::SyncEnumerator

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/rexml/syncenumerator.rb

Instance Method Summary collapse

Constructor Details

#initialize(*enums) ⇒ SyncEnumerator

Creates a new SyncEnumerator which enumerates rows of given Enumerable objects.


8
9
10
11
# File 'lib/rexml/syncenumerator.rb', line 8

def initialize(*enums)
  @gens = enums
  @length = @gens.collect {|x| x.size }.max
end

Instance Method Details

#eachObject

Enumerates rows of the Enumerable objects.


26
27
28
29
30
31
# File 'lib/rexml/syncenumerator.rb', line 26

def each
  @length.times {|i|
    yield @gens.collect {|x| x[i]}
  }
  self
end

#lengthObject

Returns the number of enumerated Enumerable objects, i.e. the size of each row.


21
22
23
# File 'lib/rexml/syncenumerator.rb', line 21

def length
  @gens.length
end

#sizeObject

Returns the number of enumerated Enumerable objects, i.e. the size of each row.


15
16
17
# File 'lib/rexml/syncenumerator.rb', line 15

def size
  @gens.size
end