Sha256: 12aa608f13d34170c7d23a2468e551bd7e44933bd837d3eabbe4b11365fbb0b5

Contents?: true

Size: 801 Bytes

Versions: 6

Compression:

Stored size: 801 Bytes

Contents

# frozen_string_literal: true

require 'json/common'

module JSON
  # This module holds all the modules/classes that implement JSON's
  # functionality as C extensions.
  module Ext
    if RUBY_ENGINE == 'truffleruby'
      require 'json/ext/parser'
      require 'json/pure'
      $DEBUG and warn "Using Ext extension for JSON parser and Pure library for JSON generator."
      JSON.parser = Parser
      JSON.generator = JSON::Pure::Generator
    else
      require 'json/ext/parser'
      require 'json/ext/generator'
      unless RUBY_ENGINE == 'jruby'
        require 'json/ext/generator/state'
      end
      $DEBUG and warn "Using Ext extension for JSON."
      JSON.parser = Parser
      JSON.generator = Generator
    end
  end

  JSON_LOADED = true unless defined?(::JSON::JSON_LOADED)
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
json_pure-2.7.3 lib/json/ext.rb
json-2.7.4.rc1 lib/json/ext.rb
json-2.7.3-java lib/json/ext.rb
json-2.7.3 lib/json/ext.rb
json-2.7.3.rc1-java lib/json/ext.rb
json-2.7.3.rc1 lib/json/ext.rb