Sha256: 09526bd438776612a1ac4b806ece4d2b3cc9f4183c6b86820fa204e458456b02

Contents?: true

Size: 926 Bytes

Versions: 62

Compression:

Stored size: 926 Bytes

Contents

module ExecJS
  # Encodes strings as UTF-8
  module Encoding
    if "".respond_to?(:encode)
      if RUBY_ENGINE == 'jruby' || RUBY_ENGINE == 'rbx'
        # workaround for jruby bug http://jira.codehaus.org/browse/JRUBY-6588
        # workaround for rbx bug https://github.com/rubinius/rubinius/issues/1729
        def encode(string)
          if string.encoding.name == 'ASCII-8BIT'
            data = string.dup
            data.force_encoding('UTF-8')

            unless data.valid_encoding?
              raise ::Encoding::UndefinedConversionError, "Could not encode ASCII-8BIT data #{string.dump} as UTF-8"
            end
          else
            data = string.encode('UTF-8')
          end
          data
        end
      else
        def encode(string)
          string.encode('UTF-8')
        end
      end
    else
      # Define no-op on 1.8
      def encode(string)
        string
      end
    end
  end
end

Version data entries

62 entries across 62 versions & 5 rubygems

Version Path
classiccms-0.7.5 vendor/bundle/gems/execjs-1.4.0/lib/execjs/encoding.rb
classiccms-0.7.4 vendor/bundle/gems/execjs-1.4.0/lib/execjs/encoding.rb
classiccms-0.7.3 vendor/bundle/gems/execjs-1.4.0/lib/execjs/encoding.rb
active_mailer-0.0.10 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/execjs-1.4.0/lib/execjs/encoding.rb
execjs-1.4.1 lib/execjs/encoding.rb
mango-0.8.0 vendor/bundler/ruby/2.1.0/gems/execjs-2.0.2/lib/execjs/encoding.rb
mango-0.7.1 vendor/bundler/ruby/2.0.0/gems/execjs-2.0.2/lib/execjs/encoding.rb
mango-0.7.0 vendor/bundler/ruby/2.0.0/gems/execjs-2.0.2/lib/execjs/encoding.rb
execjs-2.0.2 lib/execjs/encoding.rb
execjs-2.0.1 lib/execjs/encoding.rb
execjs-2.0.0 lib/execjs/encoding.rb
classiccms-0.7.2 vendor/bundle/gems/execjs-1.4.0/lib/execjs/encoding.rb
classiccms-0.7.1 vendor/bundle/gems/execjs-1.4.0/lib/execjs/encoding.rb
active_mailer-0.0.9 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/execjs-1.4.0/lib/execjs/encoding.rb
active_mailer-0.0.8 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/execjs-1.4.0/lib/execjs/encoding.rb
active_mailer-0.0.7 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/execjs-1.4.0/lib/execjs/encoding.rb
active_mailer-0.0.6 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/execjs-1.4.0/lib/execjs/encoding.rb
classiccms-0.7.0 vendor/bundle/gems/execjs-1.4.0/lib/execjs/encoding.rb
active_mailer-0.0.5 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/execjs-1.4.0/lib/execjs/encoding.rb
active_mailer-0.0.4 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/execjs-1.4.0/lib/execjs/encoding.rb