therubyracer 0.12.2 → 0.12.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e8d7f04f47f47686f4e67c48322d4941180096f0
4
- data.tar.gz: 6b8d2a931ab2ee60b007019224cd93ac412fa682
3
+ metadata.gz: 69a67dcb308f06dbcf18c9c74964825bc7d62e8e
4
+ data.tar.gz: cc8c5f44699f24ef1a7c7ea6d181586e737387f9
5
5
  SHA512:
6
- metadata.gz: 6eb44843a10260b65857e65fc396fc4d8acce641d87c848aa34d0726adf6a3b2f271e49e3290fa16b37ceb8a9e2ee1b72d3f4f4fb4704bd8adf16fb03d484b03
7
- data.tar.gz: 143cdbad4d72d27501f00ecbc57b569cfdc1f11a381ccd69e87089b364059bb56578d63237f437124db88adc53124fd0fe53805fa3452dcdf219e92a55b55a35
6
+ metadata.gz: 90ad98c6cb9117c3ae6daa4a15cc6e2e555a2bcdddbd9d613af946ff9005d2e804db29d775409c8b48e683f06398b61e913dacf1da98442590e247dc70665775
7
+ data.tar.gz: 40c0dd4cad9db4e215074f5a3d8bc8b9e8fefd2517b2b246abc8ce70e0d0866d2ed5e9a9e1b485fdaa45556068fb104b07fbc8f5e847c7ec425df64d9a6101ec
@@ -1,14 +1,11 @@
1
1
  cache: bundler
2
2
  rvm:
3
- - 2.1.0
4
- - 2.0.0
5
- - 1.9.3
6
- - 1.9.2
7
- - 1.8.7
8
- - rbx-2.2.3
3
+ - 2.4.0
4
+ - 2.3.3
5
+ - 2.2
9
6
  notifications:
10
7
  recipients:
11
8
  - cowboyd@thefrontside.net
12
9
  before_install:
13
- - gem update --system 2.1.11
10
+ - gem update --system
14
11
  script: bundle exec rake compile spec
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## Unreleased
4
+
5
+ * Support for unified Integer class in Ruby 2.4+ (thanks to @koic)
6
+
3
7
  ## 0.12.2 2015/04/06
4
8
 
5
9
  * fix memory leak where weak hash map entries were not being cleaned
data/Gemfile CHANGED
@@ -2,10 +2,11 @@ source 'http://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- gem "rubysl", :platforms => :rbx
6
- gem 'redjs', :git => 'https://github.com/cowboyd/redjs.git'
7
- gem "rake"
8
- gem "rspec", "~> 2.0"
9
- gem "rake-compiler"
10
- gem "gem-compiler", :platforms => :mri
11
-
5
+ group :development do
6
+ gem "rubysl", :platforms => :rbx
7
+ gem 'redjs', :git => 'https://github.com/cowboyd/redjs.git'
8
+ gem "rake"
9
+ gem "rspec", "~> 3.5.0"
10
+ gem "rake-compiler"
11
+ gem "gem-compiler", :platforms => :mri
12
+ end
data/README.md CHANGED
@@ -2,12 +2,13 @@
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/therubyracer.png)](http://badge.fury.io/rb/therubyracer)
4
4
  [![Build Status](https://travis-ci.org/cowboyd/therubyracer.png?branch=master)](https://travis-ci.org/cowboyd/therubyracer)
5
+ [![Build status](https://ci.appveyor.com/api/projects/status/aqw06doke164dca7?svg=true)](https://ci.appveyor.com/project/cowboyd/therubyracer)
5
6
  [![Dependency Status](https://gemnasium.com/cowboyd/therubyracer.png)](https://gemnasium.com/cowboyd/therubyracer)
7
+ [![Join the chat at https://gitter.im/cowboyd/therubyracer](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/cowboyd/therubyracer?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
6
8
 
7
9
 
8
10
  * GitHub Project: [http://github.com/cowboyd/therubyracer](http://github.com/cowboyd/therubyracer)
9
11
  * Mailing List: [http://groups.google.com/group/therubyracer](http://groups.google.com/group/therubyracer)
10
- * IRC / Chat: [irc://irc.freenode.net/therubyracer](http://groups.google.com/group/therubyracer)
11
12
  * Documentation: [GitHub Wiki](https://github.com/cowboyd/therubyracer/wiki) and [RubyDoc](http://rubydoc.info/gems/therubyracer)
12
13
 
13
14
  ### DESCRIPTION
@@ -40,7 +41,7 @@ evaluate some simple JavaScript
40
41
 
41
42
  access values inside your JavaScript context from Ruby
42
43
 
43
- cxt.eval 'var val = {num: 5, fun: function isTruthy(arg) { return !!arg }}'
44
+ cxt.eval 'var val = {num: 5, isTruthy: function (arg) { return !!arg }}'
44
45
  val = cxt[:val] #=> V8::Object
45
46
  cxt[:val] == cxt.scope.val #=> true
46
47
  val.num #=> 5
@@ -16,7 +16,7 @@ if enable_config('debug')
16
16
  $CFLAGS += " -O0 -ggdb3"
17
17
  end
18
18
 
19
- LIBV8_COMPATIBILITY = '~> 3.16.14'
19
+ LIBV8_COMPATIBILITY = '~> 3.16.14.15'
20
20
 
21
21
  begin
22
22
  require 'rubygems'
data/lib/v8.rb CHANGED
@@ -18,7 +18,7 @@ require 'v8/conversion/proc'
18
18
  require 'v8/conversion/method'
19
19
  require 'v8/conversion/symbol'
20
20
  require 'v8/conversion/string'
21
- require 'v8/conversion/fixnum'
21
+ require 'v8/conversion/integer'
22
22
  require 'v8/conversion'
23
23
  require 'v8/access/names'
24
24
  require 'v8/access/indices'
@@ -18,7 +18,7 @@ for type in [TrueClass, FalseClass, NilClass, Float] do
18
18
  end
19
19
  end
20
20
 
21
- for type in [Class, Object, Array, Hash, String, Symbol, Time, Proc, Method, Fixnum] do
21
+ for type in [Class, Object, Array, Hash, String, Symbol, Time, Proc, Method, Integer] do
22
22
  type.class_eval do
23
23
  include V8::Conversion.const_get(type.name)
24
24
  end
@@ -1,5 +1,5 @@
1
1
  class V8::Conversion
2
- module Fixnum
2
+ module Integer
3
3
  def to_ruby
4
4
  self
5
5
  end
@@ -1,3 +1,3 @@
1
1
  module V8
2
- VERSION = "0.12.2"
2
+ VERSION = "0.12.3"
3
3
  end
@@ -1,17 +1,19 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe V8::C::Array do
4
+ requires_v8_context
5
+
4
6
  it "can store and retrieve a value" do
5
7
  o = V8::C::Object::New()
6
8
  a = V8::C::Array::New()
7
9
  a.Length().should eql 0
8
10
  a.Set(0, o)
9
11
  a.Length().should eql 1
10
- a.Get(0).Equals(o).should be_true
12
+ a.Get(0).Equals(o).should be_truthy
11
13
  end
12
14
 
13
15
  it "can be initialized with a length" do
14
16
  a = V8::C::Array::New(5)
15
17
  a.Length().should eql 5
16
18
  end
17
- end
19
+ end
@@ -1,6 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe V8::C do
4
+ requires_v8_context
5
+
4
6
  it "has constant methods for Undefined, Null, True and False" do
5
7
  [:Undefined, :Null, :True, :False].each do |name|
6
8
  constant = V8::C.send(name)
@@ -1,6 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe V8::C::Exception do
4
+ requires_v8_context
5
+
4
6
  it "can be thrown from Ruby" do
5
7
  t = V8::C::FunctionTemplate::New(method(:explode))
6
8
  @cxt.Global().Set("explode", t.GetFunction())
@@ -23,4 +25,4 @@ describe V8::C::Exception do
23
25
  error = V8::C::Exception::SyntaxError('did not pay syntax')
24
26
  V8::C::ThrowException(error)
25
27
  end
26
- end
28
+ end
@@ -1,9 +1,11 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe V8::C::External do
4
+ requires_v8_context
5
+
4
6
  it "can store and retrieve a value" do
5
7
  o = Object.new
6
8
  external = V8::C::External::New(o)
7
9
  external.Value().should be(o)
8
10
  end
9
- end
11
+ end
@@ -1,6 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe V8::C::Function do
4
+ requires_v8_context
5
+
4
6
  it "can be called" do
5
7
  fn = run '(function() {return "foo"})'
6
8
  fn.Call(@cxt.Global(), []).Utf8Value().should eql "foo"
@@ -43,4 +45,4 @@ describe V8::C::Function do
43
45
  result = script.Run()
44
46
  result.kind_of?(V8::C::String) ? result.Utf8Value() : result
45
47
  end
46
- end
48
+ end
@@ -1,18 +1,14 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "setting up handles scopes" do
4
- include ExplicitScoper
5
-
6
- before do
7
- def self.instance_eval(*args, &block)
8
- V8::C::Locker() do
9
- cxt = V8::C::Context::New()
10
- begin
11
- cxt.Enter()
12
- super(*args, &block)
13
- ensure
14
- cxt.Exit()
15
- end
4
+ around(:each) do |example|
5
+ V8::C::Locker() do
6
+ cxt = V8::C::Context::New()
7
+ begin
8
+ cxt.Enter()
9
+ example.run
10
+ ensure
11
+ cxt.Exit()
16
12
  end
17
13
  end
18
14
  end
@@ -32,4 +28,4 @@ describe "setting up handles scopes" do
32
28
  e.message.should eql "boom!"
33
29
  end
34
30
  end
35
- end
31
+ end
@@ -1,17 +1,15 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe V8::C::Locker do
4
- include ExplicitScoper
5
-
6
4
  it "can lock and unlock the VM" do
7
- V8::C::Locker::IsLocked().should be_false
5
+ V8::C::Locker::IsLocked().should be_falsey
8
6
  V8::C::Locker() do
9
- V8::C::Locker::IsLocked().should be_true
7
+ V8::C::Locker::IsLocked().should be_truthy
10
8
  V8::C::Unlocker() do
11
- V8::C::Locker::IsLocked().should be_false
9
+ V8::C::Locker::IsLocked().should be_falsey
12
10
  end
13
11
  end
14
- V8::C::Locker::IsLocked().should be_false
12
+ V8::C::Locker::IsLocked().should be_falsey
15
13
  end
16
14
 
17
15
  it "properly unlocks if an exception is thrown inside a lock block" do
@@ -20,7 +18,7 @@ describe V8::C::Locker do
20
18
  raise "boom!"
21
19
  end
22
20
  rescue
23
- V8::C::Locker::IsLocked().should be_false
21
+ V8::C::Locker::IsLocked().should be_falsey
24
22
  end
25
23
  end
26
24
 
@@ -31,8 +29,8 @@ describe V8::C::Locker do
31
29
  raise "boom!"
32
30
  end
33
31
  rescue
34
- V8::C::Locker::IsLocked().should be_true
32
+ V8::C::Locker::IsLocked().should be_truthy
35
33
  end
36
34
  end
37
35
  end
38
- end
36
+ end
@@ -1,6 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe V8::C::Object do
4
+ requires_v8_context
4
5
 
5
6
  it "can store and retrieve a value" do
6
7
  o = V8::C::Object::New()
@@ -25,8 +26,8 @@ describe V8::C::Object do
25
26
  callback_data = V8::C::String::New("I am Legend")
26
27
  left = V8::C::String::New("Yo! ")
27
28
  getter = proc do |name, info|
28
- info.This().StrictEquals(o).should be_true
29
- info.Holder().StrictEquals(o).should be_true
29
+ info.This().StrictEquals(o).should be_truthy
30
+ info.Holder().StrictEquals(o).should be_truthy
30
31
  V8::C::String::Concat(left, info.Data())
31
32
  end
32
33
  setter = proc do |name, value, info|
@@ -43,4 +44,4 @@ describe V8::C::Object do
43
44
  one.Set("two", two)
44
45
  one.Get("two").should be two
45
46
  end
46
- end
47
+ end
@@ -2,6 +2,8 @@
2
2
  require 'spec_helper'
3
3
 
4
4
  describe V8::C::Script do
5
+ requires_v8_context
6
+
5
7
  it "can run a script and return a polymorphic result" do
6
8
  source = V8::C::String::New("(new Array())")
7
9
  filename = V8::C::String::New("<eval>")
@@ -15,7 +17,7 @@ describe V8::C::Script do
15
17
  name = V8::C::String::New("<spec>")
16
18
  origin = V8::C::ScriptOrigin.new(name)
17
19
  data = V8::C::ScriptData::PreCompile(source, source.length)
18
- data.HasError().should be_false
20
+ data.HasError().should be_falsey
19
21
  script = V8::C::Script::New(V8::C::String::New(source), origin, data)
20
22
  script.Run().should eql 42
21
23
  end
@@ -23,6 +25,6 @@ describe V8::C::Script do
23
25
  it "can detect errors in the script data" do
24
26
  source = "^ = ;"
25
27
  data = V8::C::ScriptData::PreCompile(source, source.length)
26
- data.HasError().should be_true
28
+ data.HasError().should be_truthy
27
29
  end
28
- end
30
+ end
@@ -1,6 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe V8::C::String do
4
+ requires_v8_context
5
+
4
6
  it "can hold Unicode values outside the Basic Multilingual Plane" do
5
7
  string = V8::C::String::New("\u{100000}")
6
8
  string.Utf8Value().should eql "\u{100000}"
@@ -13,4 +15,4 @@ describe V8::C::String do
13
15
  it "can naturally translate ruby objects into v8 strings" do
14
16
  V8::C::String::Concat(V8::C::String::New("forty two is "), 42).Utf8Value().should eql "forty two is 42"
15
17
  end
16
- end
18
+ end
@@ -1,11 +1,12 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe V8::C::Template do
4
+ requires_v8_context
4
5
 
5
6
  describe V8::C::FunctionTemplate do
6
7
  it "can be created with no arguments" do
7
8
  t = V8::C::FunctionTemplate::New()
8
- t.GetFunction().Call(@cxt.Global(),[]).StrictEquals(@cxt.Global()).should be_true
9
+ t.GetFunction().Call(@cxt.Global(),[]).StrictEquals(@cxt.Global()).should be_truthy
9
10
  end
10
11
 
11
12
  it "can be created with a callback" do
@@ -15,10 +16,10 @@ describe V8::C::Template do
15
16
  arguments.Length().should be(2)
16
17
  arguments[0].Utf8Value().should eql 'one'
17
18
  arguments[1].Utf8Value().should eql 'two'
18
- arguments.Callee().StrictEquals(f).should be_true
19
- arguments.This().StrictEquals(receiver).should be_true
20
- arguments.Holder().StrictEquals(receiver).should be_true
21
- arguments.IsConstructCall().should be_false
19
+ arguments.Callee().StrictEquals(f).should be_truthy
20
+ arguments.This().StrictEquals(receiver).should be_truthy
21
+ arguments.Holder().StrictEquals(receiver).should be_truthy
22
+ arguments.IsConstructCall().should be_falsey
22
23
  arguments.Data().Value().should be(42)
23
24
  V8::C::String::New("result")
24
25
  end
@@ -27,4 +28,4 @@ describe V8::C::Template do
27
28
  f.Call(receiver, [V8::C::String::New('one'), V8::C::String::New('two')]).Utf8Value().should eql "result"
28
29
  end
29
30
  end
30
- end
31
+ end
@@ -1,6 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe V8::C::External do
4
+ requires_v8_context
4
5
 
5
6
  it "can catch javascript exceptions" do
6
7
  V8::C::V8::SetCaptureStackTraceForUncaughtExceptions(true, 99, V8::C::StackTrace::kDetailed)
@@ -23,11 +24,11 @@ describe V8::C::External do
23
24
  filename = V8::C::String::New("<eval>")
24
25
  script = V8::C::Script::New(source, filename)
25
26
  result = script.Run()
26
- trycatch.HasCaught().should be_true
27
- trycatch.CanContinue().should be_true
27
+ trycatch.HasCaught().should be_truthy
28
+ trycatch.CanContinue().should be_truthy
28
29
  exception = trycatch.Exception()
29
30
  exception.should_not be_nil
30
- exception.IsNativeError().should be_true
31
+ exception.IsNativeError().should be_truthy
31
32
  trycatch.StackTrace().Utf8Value().should match /boom.*three.*two.*one/m
32
33
  message = trycatch.Message();
33
34
  message.should_not be_nil
@@ -43,9 +44,9 @@ describe V8::C::External do
43
44
  frame.GetColumn().should eql 15
44
45
  frame.GetScriptName().Utf8Value().should eql "<eval>"
45
46
  frame.GetScriptNameOrSourceURL().Utf8Value().should eql "<eval>"
46
- frame.IsEval().should be_false
47
- stack.GetFrame(4).IsEval().should be_true
48
- frame.IsConstructor().should be_false
47
+ frame.IsEval().should be_falsey
48
+ stack.GetFrame(4).IsEval().should be_truthy
49
+ frame.IsConstructor().should be_falsey
49
50
  end
50
51
  end
51
- end
52
+ end
@@ -5,6 +5,6 @@ module RedJS
5
5
  Error = V8::Error
6
6
  end
7
7
  describe V8::Context do
8
- pending "not ready for prime-time"
8
+ skip "not ready for prime-time"
9
9
  #it_behaves_like 'RedJS::Context'
10
- end
10
+ end
@@ -11,35 +11,32 @@ def rputs(msg)
11
11
  $stdout.flush
12
12
  end
13
13
 
14
- module ExplicitScoper;end
15
- module Autoscope
16
- def instance_eval(*args, &block)
17
- return super unless low_level_c_spec? && !explicitly_defines_scope?
14
+ module V8ContextHelpers
15
+ module GroupMethods
16
+ def requires_v8_context
17
+ around(:each) do |example|
18
+ bootstrap_v8_context(&example)
19
+ end
20
+ end
21
+ end
22
+
23
+ def bootstrap_v8_context
18
24
  V8::C::Locker() do
19
25
  V8::C::HandleScope() do
20
26
  @cxt = V8::C::Context::New()
21
27
  begin
22
28
  @cxt.Enter()
23
- super(*args, &block)
29
+ yield
24
30
  ensure
25
31
  @cxt.Exit()
26
32
  end
27
33
  end
28
34
  end
29
35
  end
30
-
31
- def low_level_c_spec?
32
- return false unless described_class
33
- described_class.name =~ /^V8::C::/
34
- end
35
-
36
- def explicitly_defines_scope?
37
- is_a?(ExplicitScoper)
38
- end
39
36
  end
40
37
 
41
38
  RSpec.configure do |c|
42
- c.before(:each) do
43
- extend Autoscope
44
- end
45
- end
39
+ c.include V8ContextHelpers
40
+ c.extend V8ContextHelpers::GroupMethods
41
+ c.expect_with(:rspec) { |c| c.syntax = :should }
42
+ end
@@ -21,30 +21,30 @@ describe V8::Conversion do
21
21
  klass.test.should be_instance_of(::Set)
22
22
  end
23
23
 
24
- context "::Fixnum" do
24
+ context "::Integer" do
25
25
  context "for 32-bit numbers" do
26
26
  it "should convert positive integer" do
27
- cxt['fixnum_a'] = 123
28
- cxt['fixnum_a'].should == 123
29
- cxt['fixnum_a'].should be_instance_of(Fixnum)
27
+ cxt['integer_a'] = 123
28
+ cxt['integer_a'].should == 123
29
+ cxt['integer_a'].should be_kind_of(Integer)
30
30
  end
31
31
 
32
32
  it "should convert negative integer" do
33
- cxt['fixnum_b'] = -123
34
- cxt['fixnum_b'].should == -123
35
- cxt['fixnum_b'].should be_instance_of(Fixnum)
33
+ cxt['integer_b'] = -123
34
+ cxt['integer_b'].should == -123
35
+ cxt['integer_b'].should be_kind_of(Integer)
36
36
  end
37
37
  end
38
38
 
39
39
  context "for 64-bit numbers" do
40
40
  it "should convert positive integer" do
41
- cxt['fixnum_c'] = 0x100000000
42
- cxt['fixnum_c'].should == 0x100000000
41
+ cxt['integer_c'] = 0x100000000
42
+ cxt['integer_c'].should == 0x100000000
43
43
  end
44
44
 
45
45
  it "should convert negative integer" do
46
- cxt['fixnum_d'] = -0x100000000
47
- cxt['fixnum_d'].should == -0x100000000
46
+ cxt['integer_d'] = -0x100000000
47
+ cxt['integer_d'].should == -0x100000000
48
48
  end
49
49
  end
50
50
 
@@ -1,4 +1,3 @@
1
- # -*- encoding: utf-8 -*-
2
1
  require File.expand_path('../lib/v8/version', __FILE__)
3
2
 
4
3
  Gem::Specification.new do |gem|
@@ -18,5 +17,5 @@ Gem::Specification.new do |gem|
18
17
  gem.license = 'MIT'
19
18
 
20
19
  gem.add_dependency 'ref'
21
- gem.add_dependency 'libv8', '~> 3.16.14.0'
20
+ gem.add_dependency 'libv8', '~> 3.16.14.15'
22
21
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: therubyracer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.2
4
+ version: 0.12.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charles Lowell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-07 00:00:00.000000000 Z
11
+ date: 2017-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ref
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 3.16.14.0
33
+ version: 3.16.14.15
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 3.16.14.0
40
+ version: 3.16.14.15
41
41
  description: Call JavaScript code and manipulate JavaScript objects from Ruby. Call
42
42
  Ruby code and manipulate Ruby objects from JavaScript.
43
43
  email:
@@ -96,10 +96,10 @@ files:
96
96
  - lib/v8/conversion/array.rb
97
97
  - lib/v8/conversion/class.rb
98
98
  - lib/v8/conversion/code.rb
99
- - lib/v8/conversion/fixnum.rb
100
99
  - lib/v8/conversion/fundamental.rb
101
100
  - lib/v8/conversion/hash.rb
102
101
  - lib/v8/conversion/indentity.rb
102
+ - lib/v8/conversion/integer.rb
103
103
  - lib/v8/conversion/method.rb
104
104
  - lib/v8/conversion/object.rb
105
105
  - lib/v8/conversion/primitive.rb
@@ -158,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
158
158
  version: '0'
159
159
  requirements: []
160
160
  rubyforge_project:
161
- rubygems_version: 2.2.2
161
+ rubygems_version: 2.5.2
162
162
  signing_key:
163
163
  specification_version: 4
164
164
  summary: Embed the V8 JavaScript interpreter into Ruby