diff --git a/.travis.yml b/.travis.yml index 4d4472b..81e812d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,11 +1,7 @@ +language: ruby rvm: - - 1.8.7 + - rbx-19mode + - ruby-head - 1.9.2 - 1.9.3 - - jruby-18mode - - jruby-19mode - - jruby-head - - rbx-18mode - - rbx-19mode - - ree - - ruby-head + - 2.0.0 diff --git a/Gemfile b/Gemfile index 264d795..8af537b 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,4 @@ -source :rubygems +source 'https://rubygems.org' gemspec diff --git a/execjs.gemspec b/execjs.gemspec index 8ecabc3..c71681f 100644 --- a/execjs.gemspec +++ b/execjs.gemspec @@ -14,6 +14,10 @@ Gem::Specification.new do |s| s.add_dependency "multi_json", "~>1.0" s.add_development_dependency "rake" + s.required_ruby_version = '>= 1.9.2' + + s.licenses = ['MIT'] + s.authors = ["Sam Stephenson", "Josh Peek"] s.email = ["sstephenson@gmail.com", "josh@joshpeek.com"] end 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