Sha256: db5586b91b576d0b5f66c1580b78e45e4849f7ed29c07aa3d927b8523894b7ff

Contents?: true

Size: 1.41 KB

Versions: 23

Compression:

Stored size: 1.41 KB

Contents

module Embulk
  module Input

    class <%= ruby_class_name %> < InputPlugin
      Plugin.register_input(<%= name.dump %>, self)

      def self.transaction(config, &control)
        # configuration code:
        task = {
          "property1" => config.param("property1", :string),
          "property2" => config.param("property2", :integer, default: 0),
        }

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

        resume(task, columns, 1, &control)
      end

      def self.resume(task, columns, count, &control)
        commit_reports = yield(task, columns, count)

        next_config_diff = {}
        return next_config_diff
      end

      # TODO
      #def self.guess(config)
      #  sample_records = [
      #    {"example"=>"a", "column"=>1, "value"=>0.1},
      #    {"example"=>"a", "column"=>2, "value"=>0.2},
      #  ]
      #  columns = Guess::SchemaGuess.from_hash_records(sample_records)
      #  return {"columns" => columns}
      #end

      def init
        # initialization code:
        @property1 = task["property1"]
        @property2 = task["property2"]
      end

      def run
        page_builder.add(["example-value", 1, 0.1])
        page_builder.add(["example-value", 2, 0.2])
        page_builder.finish

        commit_report = {}
        return commit_report
      end
    end

  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
embulk-0.6.16 lib/embulk/data/new/ruby/input.rb.erb
embulk-0.6.15 lib/embulk/data/new/ruby/input.rb.erb
embulk-0.6.14 lib/embulk/data/new/ruby/input.rb.erb
embulk-0.6.13 lib/embulk/data/new/ruby/input.rb.erb
embulk-0.6.12 lib/embulk/data/new/ruby/input.rb.erb
embulk-0.6.11 lib/embulk/data/new/ruby/input.rb.erb
embulk-0.6.10 lib/embulk/data/new/ruby/input.rb.erb
embulk-0.6.9 lib/embulk/data/new/ruby/input.rb.erb
embulk-0.6.8 lib/embulk/data/new/ruby/input.rb.erb
embulk-0.6.7 lib/embulk/data/new/ruby/input.rb.erb
embulk-0.6.6 lib/embulk/data/new/ruby/input.rb.erb
embulk-0.6.5 lib/embulk/data/new/ruby/input.rb.erb
embulk-0.6.4 lib/embulk/data/new/ruby/input.rb.erb
embulk-0.6.3 lib/embulk/data/new/ruby/input.rb.erb
embulk-0.6.2 lib/embulk/data/new/ruby/input.rb.erb
embulk-0.6.1 lib/embulk/data/new/ruby/input.rb.erb
embulk-0.6.0 lib/embulk/data/new/ruby/input.rb.erb
embulk-0.5.5 lib/embulk/data/new/ruby/input.rb.erb
embulk-0.5.4 lib/embulk/data/new/ruby/input.rb.erb
embulk-0.5.3 lib/embulk/data/new/ruby/input.rb.erb