Sha256: b05570a7d113d383eecee330777882289975ae1ed90e57d63b7aeb5116a7a8d5

Contents?: true

Size: 394 Bytes

Versions: 35

Compression:

Stored size: 394 Bytes

Contents

require 'arc-furnace/unfold'

module ArcFurnace
  class BlockUnfold < Unfold
    private_attr_reader :block

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

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

  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
arc-furnace-0.1.22 lib/arc-furnace/block_unfold.rb
arc-furnace-0.1.21 lib/arc-furnace/block_unfold.rb
arc-furnace-0.1.20 lib/arc-furnace/block_unfold.rb
arc-furnace-0.1.19 lib/arc-furnace/block_unfold.rb
arc-furnace-0.1.18 lib/arc-furnace/block_unfold.rb
arc-furnace-0.1.16 lib/arc-furnace/block_unfold.rb
arc-furnace-0.1.15 lib/arc-furnace/block_unfold.rb
arc-furnace-0.1.14 lib/arc-furnace/block_unfold.rb
arc-furnace-0.1.13 lib/arc-furnace/block_unfold.rb
arc-furnace-0.1.12 lib/arc-furnace/block_unfold.rb
arc-furnace-0.1.11 lib/arc-furnace/block_unfold.rb
arc-furnace-0.1.10 lib/arc-furnace/block_unfold.rb
arc-furnace-0.1.9 lib/arc-furnace/block_unfold.rb
arc-furnace-0.1.8 lib/arc-furnace/block_unfold.rb
arc-furnace-0.1.7 lib/arc-furnace/block_unfold.rb