Class: ArcFurnace::BlockUnfold

Inherits:
Unfold show all
Defined in:
lib/arc-furnace/block_unfold.rb

Instance Attribute Summary

Attributes inherited from Node

#error_handler, #node_id, #params

Instance Method Summary collapse

Methods inherited from Unfold

#advance, #empty?, #value

Methods inherited from Source

#advance, #close, #empty?, #finalize, #prepare, #row, #value

Constructor Details

#initialize(source:, block:) ⇒ BlockUnfold

Returns a new instance of BlockUnfold.



7
8
9
10
11
# File 'lib/arc-furnace/block_unfold.rb', line 7

def initialize(source:, block:)
  raise 'Must specify a block' if block.nil?
  @block = block
  super(source: source)
end

Instance Method Details

#unfold(row) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/arc-furnace/block_unfold.rb', line 13

def unfold(row)
  if block.arity == 2
    block.call(row, params)
  else
    block.call(row)
  end
end