Sha256: 696e94b629b63adb7b216e43861358655bcea510acf6e7b4228e867d966abbb8

Contents?: true

Size: 509 Bytes

Versions: 1

Compression:

Stored size: 509 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)
        CharDet.detect(data.dup)['encoding']
      end
      
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

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