Sha256: 7fc2415448c66986b503ecf806b61c6767aab4cc37c548a40ae9b3a4df4e8b58
Contents?: true
Size: 850 Bytes
Versions: 2
Compression:
Stored size: 850 Bytes
Contents
module V8 class Context def initialize @native = C::Context.new end def open(&block) @native.open do block.call(self) end if block_given? end def eval(javascript) @native.eval(javascript).tap do |result| raise JavascriptError.new(result) if result.kind_of?(C::Message) return To.ruby(result) end end def evaluate(*args) self.eval(*args) end def []=(key, value) value.tap do @native.Global().tap do |scope| scope.Set(key.to_s, value) end end end def self.open(&block) new.open(&block) end end class ContextError < StandardError end class JavascriptError < StandardError def initialize(v8_message) super(v8_message.Get()) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
therubyracer-0.4.2 | lib/v8/context.rb |
therubyracer-0.4.1 | lib/v8/context.rb |