Sha256: 4b1b0c7e210f6c6bd0e0bc1a9a9c44de6f5ed0e4354affbf0483072701e61f9b

Contents?: true

Size: 1.28 KB

Versions: 45

Compression:

Stored size: 1.28 KB

Contents

module Embulk
  module Output

    class ExampleOutputPlugin < OutputPlugin
      # output plugin file name must be: embulk/output/<name>.rb
      Plugin.register_output('example', self)

      def self.transaction(config, schema, count, &control)
        task = {
          'message' => config.param('message', :string, default: "record")
        }

        resume(task, schema, count, &control)
      end

      def self.resume(task, schema, count, &control)
        puts "Example output started."
        commit_reports = yield(task)
        puts "Example output finished. Commit reports = #{commit_reports.to_json}"

        next_config_diff = {}
        return next_config_diff
      end

      def initialize(task, schema, index)
        puts "Example output thread #{index}..."
        super
        @message = task.param('message', :string)
        @records = 0
      end

      def close
      end

      def add(page)
        page.each do |record|
          hash = Hash[schema.names.zip(record)]
          STDOUT.write "#{@message}: #{hash.to_json}\n"
          @records += 1
        end
      end

      def finish
      end

      def abort
      end

      def commit
        commit_report = {
          "records" => @records
        }
        return commit_report
      end
    end

  end
end

Version data entries

45 entries across 45 versions & 1 rubygems

Version Path
embulk-0.6.27 lib/embulk/data/bundle/embulk/output/example.rb
embulk-0.6.26 lib/embulk/data/bundle/embulk/output/example.rb
embulk-0.6.25 lib/embulk/data/bundle/embulk/output/example.rb
embulk-0.6.24 lib/embulk/data/bundle/embulk/output/example.rb
embulk-0.6.23 lib/embulk/data/bundle/embulk/output/example.rb
embulk-0.6.22 lib/embulk/data/bundle/embulk/output/example.rb
embulk-0.6.21 lib/embulk/data/bundle/embulk/output/example.rb
embulk-0.6.20 lib/embulk/data/bundle/embulk/output/example.rb
embulk-0.6.19 lib/embulk/data/bundle/embulk/output/example.rb
embulk-0.6.18 lib/embulk/data/bundle/embulk/output/example.rb
embulk-0.6.17 lib/embulk/data/bundle/embulk/output/example.rb
embulk-0.6.16 lib/embulk/data/bundle/embulk/output/example.rb
embulk-0.6.15 lib/embulk/data/bundle/embulk/output/example.rb
embulk-0.6.14 lib/embulk/data/bundle/embulk/output/example.rb
embulk-0.6.13 lib/embulk/data/bundle/embulk/output/example.rb
embulk-0.6.12 lib/embulk/data/bundle/embulk/output/example.rb
embulk-0.6.11 lib/embulk/data/bundle/embulk/output/example.rb
embulk-0.6.10 lib/embulk/data/bundle/embulk/output/example.rb
embulk-0.6.9 lib/embulk/data/bundle/embulk/output/example.rb
embulk-0.6.8 lib/embulk/data/bundle/embulk/output/example.rb