Sha256: c6a253e5e0c723af5f6156ef6051c688d24b53b26385d459c1545b060bc2d7d7

Contents?: true

Size: 394 Bytes

Versions: 35

Compression:

Stored size: 394 Bytes

Contents

require 'arc-furnace/filter'

module ArcFurnace
  class BlockFilter < Filter
    private_attr_reader :block

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

    def filter(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.42 lib/arc-furnace/block_filter.rb
arc-furnace-0.1.41 lib/arc-furnace/block_filter.rb
arc-furnace-0.1.40 lib/arc-furnace/block_filter.rb
arc-furnace-0.1.39 lib/arc-furnace/block_filter.rb
arc-furnace-0.1.38 lib/arc-furnace/block_filter.rb
arc-furnace-0.1.37 lib/arc-furnace/block_filter.rb
arc-furnace-0.1.36 lib/arc-furnace/block_filter.rb
arc-furnace-0.1.35 lib/arc-furnace/block_filter.rb
arc-furnace-0.1.34 lib/arc-furnace/block_filter.rb
arc-furnace-0.1.33 lib/arc-furnace/block_filter.rb
arc-furnace-0.1.32 lib/arc-furnace/block_filter.rb
arc-furnace-0.1.31 lib/arc-furnace/block_filter.rb
arc-furnace-0.1.30 lib/arc-furnace/block_filter.rb
arc-furnace-0.1.29 lib/arc-furnace/block_filter.rb
arc-furnace-0.1.28 lib/arc-furnace/block_filter.rb
arc-furnace-0.1.27 lib/arc-furnace/block_filter.rb
arc-furnace-0.1.26 lib/arc-furnace/block_filter.rb
arc-furnace-0.1.25 lib/arc-furnace/block_filter.rb
arc-furnace-0.1.24 lib/arc-furnace/block_filter.rb
arc-furnace-0.1.23 lib/arc-furnace/block_filter.rb