Sha256: 429f9652111e00269e6d0bdb37bfcd02df1c23a304d67de9f53c3ea6a020daf8

Contents?: true

Size: 1.2 KB

Versions: 42

Compression:

Stored size: 1.2 KB

Contents

module Embulk
  module Filter

    class ${rubyClassName} < FilterPlugin
      Plugin.register_filter("${name}", 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

42 entries across 42 versions & 1 rubygems

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