Sha256: 73b1300f31bdccceb53e2ffa2a65ece0fdef0e97a31ba15301e87d21b399a7f2

Contents?: true

Size: 515 Bytes

Versions: 1

Compression:

Stored size: 515 Bytes

Contents

require 'gigo/rchardet'

module GIGO
  module Transcoders
    module CharDet

      GIGO.transcoders << self
    
      def self.transcode(data)
        source_encoding = detect_encoding(data) || data.encoding || Encoding.default_internal || Encoding::UTF_8
        data.force_encoding(source_encoding).encode GIGO.encoding, :undef => :replace, :invalid => :replace
      end

      private

      def self.detect_encoding(data)
        GIGO::CharDet.detect(data.dup)['encoding']
      end
      
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gigo-1.4.0 lib/gigo/transcoders/rchardet.rb