Sha256: 75c49035013bb17f5d02d9e7e210f8397699309a0674fda7398222de490cd140

Contents?: true

Size: 973 Bytes

Versions: 155

Compression:

Stored size: 973 Bytes

Contents

module Embulk
  require 'embulk/buffer'

  class FileOutput
    def initialize(java_file_output)
      @java_file_output = java_file_output
      @buffer = Buffer.new
      @buffer.force_encoding('ASCII-8BIT')
      @flush_size = 32*1024
    end

    def next_file
      flush
      @java_file_output.nextFile
      self
    end

    def write(buffer)
      buffer.force_encoding('ASCII-8BIT')  # TODO this is destructively change buffer
      @buffer << buffer
      if @buffer.size > @flush_size
        flush
      end
      nil
    end

    def add(buffer)
      flush
      @java_file_output.add(Buffer.from_ruby_string(buffer))
      nil
    end

    def flush
      unless @buffer.empty?
        @java_file_output.add(@buffer.to_java)
        @buffer.clear
      end
      nil
    end

    def finish
      flush
      @java_file_output.finish
    end

    def close
      @java_file_output.close
    end

    def to_java
      @java_file_output
    end
  end

end

Version data entries

155 entries across 155 versions & 1 rubygems

Version Path
embulk-0.11.5-java lib/embulk/file_output.rb
embulk-0.11.3-java lib/embulk/file_output.rb
embulk-0.11.2-java lib/embulk/file_output.rb
embulk-0.11.1-java lib/embulk/file_output.rb
embulk-0.11.0-java lib/embulk/file_output.rb
embulk-0.10.50-java lib/embulk/file_output.rb
embulk-0.10.49-java lib/embulk/file_output.rb
embulk-0.10.48-java lib/embulk/file_output.rb
embulk-0.10.47-java lib/embulk/file_output.rb
embulk-0.10.46-java lib/embulk/file_output.rb
embulk-0.10.45-java lib/embulk/file_output.rb
embulk-0.10.44-java lib/embulk/file_output.rb
embulk-0.10.43-java lib/embulk/file_output.rb
embulk-0.10.42-java lib/embulk/file_output.rb
embulk-0.10.41-java lib/embulk/file_output.rb
embulk-0.10.40-java lib/embulk/file_output.rb
embulk-0.10.39-java lib/embulk/file_output.rb
embulk-0.10.38-java lib/embulk/file_output.rb
embulk-0.10.37-java lib/embulk/file_output.rb
embulk-0.10.31.3-java lib/embulk/file_output.rb