diff --git a/lib/execjs/external_runtime.rb b/lib/execjs/external_runtime.rb index 4877975..469cc3d 100644 --- a/lib/execjs/external_runtime.rb +++ b/lib/execjs/external_runtime.rb @@ -16,7 +16,7 @@ module ExecJS source = encode(source) if /\S/ =~ source - exec("return eval(#{JSON.encode("(#{source})")})") + exec("return eval(#{::JSON.dump("(#{source})")})") end end @@ -30,7 +30,7 @@ module ExecJS end def call(identifier, *args) - eval "#{identifier}.apply(this, #{JSON.encode(args)})" + eval "#{identifier}.apply(this, #{::JSON.dump(args)})" end protected @@ -50,7 +50,7 @@ module ExecJS end output.sub!('#{encoded_source}') do encoded_source = encode_unicode_codepoints(source) - JSON.encode("(function(){ #{encoded_source} })()") + ::JSON.dump("(function(){ #{encoded_source} })()") end output.sub!('#{json2_source}') do IO.read(ExecJS.root + "/support/json2.js") @@ -59,7 +59,7 @@ module ExecJS end def extract_result(output) - status, value = output.empty? ? [] : JSON.decode(output) + status, value = output.empty? ? [] : ::JSON.load(output) if status == "ok" value elsif value =~ /SyntaxError:/ @@ -100,7 +100,7 @@ module ExecJS end def available? - require "execjs/json" + require 'json' binary ? true : false end diff --git a/lib/execjs/json.rb b/lib/execjs/json.rb deleted file mode 100644 index d6b135f..0000000 --- a/lib/execjs/json.rb +++ /dev/null @@ -1,23 +0,0 @@ -require "multi_json" - -module ExecJS - module JSON - if MultiJson.respond_to?(:dump) - def self.decode(obj) - MultiJson.load(obj) - end - - def self.encode(obj) - MultiJson.dump(obj) - end - else - def self.decode(obj) - MultiJson.decode(obj) - end - - def self.encode(obj) - MultiJson.encode(obj) - end - end - end -end