class Embulk::Filter::ExampleFilterPlugin

Public Class Methods

new(task, in_schema, out_schema, page_builder) click to toggle source
Calls superclass method
# File lib/embulk/data/bundle/embulk/filter/example.rb, line 22
def initialize(task, in_schema, out_schema, page_builder)
  super
  @value = task['value']
end
transaction(config, in_schema) { |task, out_columns| ... } click to toggle source
# File lib/embulk/data/bundle/embulk/filter/example.rb, line 8
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

Public Instance Methods

add(page) click to toggle source
# File lib/embulk/data/bundle/embulk/filter/example.rb, line 30
def add(page)
  page.each do |record|
    @page_builder.add(record + [@value])
  end
end
close() click to toggle source
# File lib/embulk/data/bundle/embulk/filter/example.rb, line 27
def close
end
finish() click to toggle source
# File lib/embulk/data/bundle/embulk/filter/example.rb, line 36
def finish
  @page_builder.finish
end