Class: ArcFurnace::BlockTransform

Inherits:
Transform show all
Defined in:
lib/arc-furnace/block_transform.rb

Instance Attribute Summary

Attributes inherited from Node

#error_handler, #node_id, #params

Instance Method Summary collapse

Methods inherited from Transform

#value

Methods inherited from Source

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

Constructor Details

#initialize(source:, block:) ⇒ BlockTransform

Returns a new instance of BlockTransform.



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

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

Instance Method Details

#transform(row) ⇒ Object



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

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