mirror of
https://github.com/rubyjs/therubyracer
synced 2023-03-27 23:21:42 -04:00
Load javascript from IO objets and by file name
This commit is contained in:
parent
9daf0f7ee7
commit
f35a43763e
1 changed files with 14 additions and 1 deletions
|
@ -10,7 +10,10 @@ module V8
|
|||
end if block_given?
|
||||
end
|
||||
|
||||
def eval(javascript)
|
||||
def eval(javascript, sourcename = '<eval>', line = 1)
|
||||
if IO === javascript || StringIO === javascript
|
||||
javascript = javascript.read()
|
||||
end
|
||||
@native.eval(javascript).tap do |result|
|
||||
raise JavascriptError.new(result) if result.kind_of?(C::Message)
|
||||
return To.ruby(result)
|
||||
|
@ -21,6 +24,16 @@ module V8
|
|||
self.eval(*args)
|
||||
end
|
||||
|
||||
def load(filename)
|
||||
File.open(filename) do |file|
|
||||
evaluate file, filename, 1
|
||||
end
|
||||
end
|
||||
|
||||
def [](key)
|
||||
To.ruby(@native.Global().Get(key.to_s))
|
||||
end
|
||||
|
||||
def []=(key, value)
|
||||
value.tap do
|
||||
@native.Global().tap do |scope|
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue