Sha256: 83eed05df394430115ab19daf6f866bfb22673b35530cf1b8672f605db133245

Contents?: true

Size: 1.21 KB

Versions: 54

Compression:

Stored size: 1.21 KB

Contents

module Embulk
  module Filter

    class <%= ruby_class_name %> < FilterPlugin
      Plugin.register_filter(<%= name.dump %>, self)

      def self.transaction(config, in_schema, &control)
        # configuration code:
        task = {
          "option1" => config.param("option1", :integer),                     # integer, required
          "option2" => config.param("option2", :string, default: "myvalue"),  # string, optional
          "option3" => config.param("option3", :string, default: nil),        # string, optional
        }

        columns = [
          Column.new(nil, "example", :string),
          Column.new(nil, "column", :long),
          Column.new(nil, "value", :double),
        ]

        out_columns = in_schema + columns

        yield(task, out_columns)
      end

      def init
        # initialization code:
        @option1 = task["option1"]
        @option2 = task["option2"]
        @option3 = task["option3"]
      end

      def close
      end

      def add(page)
        # filtering code:
        add_columns = ["example",1,1.0]
        page.each do |record|
          page_builder.add(record + add_columns)
        end
      end

      def finish
        page_builder.finish
      end
    end

  end
end

Version data entries

54 entries across 54 versions & 1 rubygems

Version Path
embulk-0.8.18 lib/embulk/data/new/ruby/filter.rb.erb
embulk-0.8.18-java lib/embulk/data/new/ruby/filter.rb.erb
embulk-0.8.17 lib/embulk/data/new/ruby/filter.rb.erb
embulk-0.8.17-java lib/embulk/data/new/ruby/filter.rb.erb
embulk-0.8.16 lib/embulk/data/new/ruby/filter.rb.erb
embulk-0.8.16-java lib/embulk/data/new/ruby/filter.rb.erb
embulk-0.8.15 lib/embulk/data/new/ruby/filter.rb.erb
embulk-0.8.15-java lib/embulk/data/new/ruby/filter.rb.erb
embulk-0.8.14 lib/embulk/data/new/ruby/filter.rb.erb
embulk-0.8.14-java lib/embulk/data/new/ruby/filter.rb.erb
embulk-0.8.13 lib/embulk/data/new/ruby/filter.rb.erb
embulk-0.8.13-java lib/embulk/data/new/ruby/filter.rb.erb
embulk-0.8.12 lib/embulk/data/new/ruby/filter.rb.erb
embulk-0.8.12-java lib/embulk/data/new/ruby/filter.rb.erb
embulk-0.8.11-java lib/embulk/data/new/ruby/filter.rb.erb
embulk-0.8.11 lib/embulk/data/new/ruby/filter.rb.erb
embulk-0.8.10 lib/embulk/data/new/ruby/filter.rb.erb
embulk-0.8.10-java lib/embulk/data/new/ruby/filter.rb.erb
embulk-0.8.9 lib/embulk/data/new/ruby/filter.rb.erb
embulk-0.8.9-java lib/embulk/data/new/ruby/filter.rb.erb