Sha256: 94a3d73fc08e31b459c44ea0d285020988741fe95f0b44c8ab33eacde35ff74a

Contents?: true

Size: 820 Bytes

Versions: 88

Compression:

Stored size: 820 Bytes

Contents

module Embulk
  module Guess

    class NewlineGuessPlugin < TextGuessPlugin
      Plugin.register_guess('newline', self)

      def guess(config, sample)
        if config.fetch('parser', {}).fetch('charset', nil).nil?
          require 'embulk/guess/charset'
          charset_guess = Guess::CharsetGuessPlugin.new
          return charset_guess.guess(config, sample)
        end

        cr_count = sample.count("\r")
        lf_count = sample.count("\n")
        crlf_count = sample.scan(/\r\n/).length
        if crlf_count > cr_count / 2 && crlf_count > lf_count / 2
          return {"parser" => {"newline" => "CRLF"}}
        elsif cr_count > lf_count / 2
          return {"parser" => {"newline" => "CR"}}
        else
          return {"parser" => {"newline" => "LF"}}
        end
      end
    end

  end
end

Version data entries

88 entries across 88 versions & 1 rubygems

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