Class: Enumerable::Enumerator::TransformWithIndex
- Inherits:
-
Transform
- Object
- Enumerable::Enumerator
- Transform
- Enumerable::Enumerator::TransformWithIndex
- Defined in:
- lib/enumerable_lz/transform_18.rb
Overview
private
Instance Method Summary collapse
- #each ⇒ Object
-
#initialize(obj, offset = 0, &transformer) ⇒ TransformWithIndex
constructor
A new instance of TransformWithIndex.
-
#transform(&block) ⇒ Object
(also: #transform!)
[override].
Methods inherited from Transform
Constructor Details
#initialize(obj, offset = 0, &transformer) ⇒ TransformWithIndex
Returns a new instance of TransformWithIndex.
57 58 59 60 61 |
# File 'lib/enumerable_lz/transform_18.rb', line 57 def initialize obj, offset = 0, &transformer @org_enum = obj @transformer = transformer.nil? ? nil : [transformer] @offset = offset end |
Instance Method Details
#each ⇒ Object
63 64 65 66 67 68 69 70 |
# File 'lib/enumerable_lz/transform_18.rb', line 63 def each return self unless block_given? the_transformer = @transformer[0] || Proc.new{|el,i|el} i = @offset - 1 @org_enum.each do |el| yield the_transformer.call(el, i+=1) end end |
#transform(&block) ⇒ Object Also known as: transform!
- override
73 74 75 |
# File 'lib/enumerable_lz/transform_18.rb', line 73 def transform &block Transform.new self, &block end |