Sha256: 767b0c6ae1bc8d4f5617bee6a7cf956577151d5518bc542a05ad4e2f127f1517

Contents?: true

Size: 990 Bytes

Versions: 149

Compression:

Stored size: 990 Bytes

Contents

module Embulk
  module Filter

    class ExampleFilterPlugin < FilterPlugin
      # filter plugin file name must be: embulk/filter/<name>.rb
      Plugin.register_filter('example', self)

      def self.transaction(config, in_schema, &control)
        task = {
          'key' => config.param('key', :string, default: "filter_key"),
          'value' => config.param('value', :string, default: "filter_value")
        }

        idx = in_schema.size
        out_columns = in_schema + [Column.new(idx, task['key'], :string)]

        puts "Example filter started."
        yield(task, out_columns)
        puts "Example filter finished."
      end

      def initialize(task, in_schema, out_schema, page_builder)
        super
        @value = task['value']
      end

      def close
      end

      def add(page)
        page.each do |record|
          @page_builder.add(record + [@value])
        end
      end

      def finish
        @page_builder.finish
      end
    end

  end
end

Version data entries

149 entries across 149 versions & 1 rubygems

Version Path
embulk-0.8.39 lib/embulk/data/bundle/embulk/filter/example.rb
embulk-0.8.39-java lib/embulk/data/bundle/embulk/filter/example.rb
embulk-0.8.38 lib/embulk/data/bundle/embulk/filter/example.rb
embulk-0.8.38-java lib/embulk/data/bundle/embulk/filter/example.rb
embulk-0.8.37 lib/embulk/data/bundle/embulk/filter/example.rb
embulk-0.8.37-java lib/embulk/data/bundle/embulk/filter/example.rb
embulk-0.8.36 lib/embulk/data/bundle/embulk/filter/example.rb
embulk-0.8.36-java lib/embulk/data/bundle/embulk/filter/example.rb
embulk-0.8.35 lib/embulk/data/bundle/embulk/filter/example.rb
embulk-0.8.35-java lib/embulk/data/bundle/embulk/filter/example.rb
embulk-0.8.34 lib/embulk/data/bundle/embulk/filter/example.rb
embulk-0.8.34-java lib/embulk/data/bundle/embulk/filter/example.rb
embulk-0.8.33 lib/embulk/data/bundle/embulk/filter/example.rb
embulk-0.8.33-java lib/embulk/data/bundle/embulk/filter/example.rb
embulk-0.8.32 lib/embulk/data/bundle/embulk/filter/example.rb
embulk-0.8.32-java lib/embulk/data/bundle/embulk/filter/example.rb
embulk-0.8.31 lib/embulk/data/bundle/embulk/filter/example.rb
embulk-0.8.31-java lib/embulk/data/bundle/embulk/filter/example.rb
embulk-0.8.30 lib/embulk/data/bundle/embulk/filter/example.rb
embulk-0.8.30-java lib/embulk/data/bundle/embulk/filter/example.rb