From 68e8fc14544fbb1e6d0dae3785d6aa4920f04f54 Mon Sep 17 00:00:00 2001 From: Charles Lowell Date: Fri, 28 May 2010 12:56:52 +0300 Subject: [PATCH] fixes for 1.8.6: tap.rb implementation didn't actually return self. Symbol#to_proc not defined until 1.8.7 --- ext/v8/rr.cpp | 1 + lib/v8/access.rb | 4 ++-- lib/v8/tap.rb | 1 + therubyracer.gemspec | 10 +++++----- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/ext/v8/rr.cpp b/ext/v8/rr.cpp index 90e89ee..d089bff 100644 --- a/ext/v8/rr.cpp +++ b/ext/v8/rr.cpp @@ -156,6 +156,7 @@ Handle rr_rb2v8(VALUE value) { // case T_SCOPE: (not in 1.9) case T_NODE: default: + rb_warn("unknown conversion to V8 for: %s
", RSTRING_PTR(rb_inspect(value))); return String::New("Undefined Conversion"); } diff --git a/lib/v8/access.rb b/lib/v8/access.rb index 8ece3f7..31c5018 100644 --- a/lib/v8/access.rb +++ b/lib/v8/access.rb @@ -6,7 +6,7 @@ module V8 name = To.rb(property) obj = To.rb(info.This()) perl_name = To.perl_case(name) - methods = obj.public_methods(false).map(&:to_s) + methods = obj.public_methods(false).map {|m| m.to_s} method_name = if methods.include?(name) name elsif methods.include?(perl_name) @@ -31,7 +31,7 @@ module V8 setter = To.rb(property) + "=" camel_name = To.camel_case(setter) perl_name = To.perl_case(setter) - methods = obj.public_methods(false).map(&:to_s) + methods = obj.public_methods(false).map {|m| m.to_s} if methods.include?(perl_name) obj.send(perl_name, To.rb(value)) elsif methods.include?(camel_name) diff --git a/lib/v8/tap.rb b/lib/v8/tap.rb index ebb26e1..6f39fb4 100644 --- a/lib/v8/tap.rb +++ b/lib/v8/tap.rb @@ -3,6 +3,7 @@ unless Object.method_defined?(:tap) class Object def tap yield self + return self end end end diff --git a/therubyracer.gemspec b/therubyracer.gemspec index e857a0f..9cca465 100644 --- a/therubyracer.gemspec +++ b/therubyracer.gemspec @@ -2,11 +2,11 @@ Gem::Specification.new do |s| s.name = %q{therubyracer} - s.version = "0.7.0" + s.version = "0.7.0.pre" - s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= + s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version= s.authors = ["Charles Lowell", "Bill Robertson"] - s.date = %q{2010-05-26} + s.date = %q{2010-05-28} s.description = %q{Call javascript code and manipulate javascript objects from ruby. Call ruby code and manipulate ruby objects from javascript.} s.email = %q{cowboyd@thefrontside.net} s.executables = ["therubyracer", "v8"] @@ -16,14 +16,14 @@ Gem::Specification.new do |s| s.homepage = %q{http://github.com/cowboyd/therubyracer} s.require_paths = ["lib", "ext"] s.rubyforge_project = %q{therubyracer} - s.rubygems_version = %q{1.3.7} + s.rubygems_version = %q{1.3.5} s.summary = %q{Embed the V8 Javascript interpreter into Ruby} if s.respond_to? :specification_version then current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION s.specification_version = 3 - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then + if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then else end else