therubyrhino 2.0.3 → 2.0.4
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 +7 -0
- data/lib/rhino/context.rb +66 -59
- data/lib/rhino/version.rb +1 -1
- data/spec/rhino/error_spec.rb +19 -19
- metadata +108 -113
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: eee1c4a4933c0a914ccffeb49c390807403d25e1
|
4
|
+
data.tar.gz: 38c583809186d31db93ff6f5ddcfa996532a181c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 001058b9b1923bb6f29c21ba8e0c1a007c54057a7307f4d0c4e12681073b050c4ffe9420921b0431696e44a2cddf1f7bf2ad4e61d6c76dcf6cc3500af1ef0bf1
|
7
|
+
data.tar.gz: 3dba6c0a9383181e58534561860f29be78e85b524b9ccfc7f29c97eadf2511ac8e77f1521d29781d2b6ac5976c5f82cc1d61695819f728ba7050899b9c498230
|
data/lib/rhino/context.rb
CHANGED
@@ -46,23 +46,23 @@ module Rhino
|
|
46
46
|
def eval(javascript)
|
47
47
|
new.eval(javascript)
|
48
48
|
end
|
49
|
-
|
49
|
+
|
50
50
|
end
|
51
|
-
|
51
|
+
|
52
52
|
@@default_factory = nil
|
53
53
|
def self.default_factory
|
54
54
|
@@default_factory ||= ContextFactory.new
|
55
55
|
end
|
56
|
-
|
56
|
+
|
57
57
|
def self.default_factory=(factory)
|
58
58
|
@@default_factory = factory
|
59
59
|
end
|
60
|
-
|
60
|
+
|
61
61
|
@@default_optimization_level = java.lang.Integer.getInteger('rhino.opt.level')
|
62
62
|
def self.default_optimization_level
|
63
63
|
@@default_optimization_level
|
64
64
|
end
|
65
|
-
|
65
|
+
|
66
66
|
def self.default_optimization_level=(level)
|
67
67
|
@@default_optimization_level = level
|
68
68
|
end
|
@@ -71,35 +71,22 @@ module Rhino
|
|
71
71
|
def self.default_javascript_version
|
72
72
|
@@default_javascript_version
|
73
73
|
end
|
74
|
-
|
74
|
+
|
75
75
|
def self.default_javascript_version=(version)
|
76
76
|
@@default_javascript_version = version
|
77
77
|
end
|
78
78
|
|
79
79
|
attr_reader :scope
|
80
|
-
|
80
|
+
|
81
81
|
# Create a new javascript environment for executing javascript and ruby code.
|
82
82
|
# * <tt>:sealed</tt> - if this is true, then the standard objects such as Object, Function, Array will not be able to be modified
|
83
83
|
# * <tt>:with</tt> - use this ruby object as the root scope for all javascript that is evaluated
|
84
84
|
# * <tt>:java</tt> - if true, java packages will be accessible from within javascript
|
85
85
|
def initialize(options = {}) #:nodoc:
|
86
|
-
factory = options[:factory] ||
|
86
|
+
factory = options[:factory] ||
|
87
87
|
(options[:restrictable] ? RestrictableContextFactory.instance : self.class.default_factory)
|
88
|
-
|
89
|
-
|
90
|
-
@global = @native.initStandardObjects(nil, options[:sealed] == true)
|
91
|
-
if with = options[:with]
|
92
|
-
@scope = Rhino.to_javascript(with)
|
93
|
-
@scope.setParentScope(@global)
|
94
|
-
else
|
95
|
-
@scope = @global
|
96
|
-
end
|
97
|
-
unless options[:java]
|
98
|
-
for package in ["Packages", "java", "javax", "org", "com", "edu", "net"]
|
99
|
-
@global.delete(package)
|
100
|
-
end
|
101
|
-
end
|
102
|
-
end
|
88
|
+
@options = options
|
89
|
+
factory.call(self) # org.mozilla.javascript.ContextAction (invokes #run)
|
103
90
|
if optimization_level = options[:optimization_level] || self.class.default_optimization_level
|
104
91
|
self.optimization_level = optimization_level
|
105
92
|
end
|
@@ -108,12 +95,32 @@ module Rhino
|
|
108
95
|
end
|
109
96
|
yield(self) if block_given?
|
110
97
|
end
|
111
|
-
|
98
|
+
|
99
|
+
include JS::ContextAction
|
100
|
+
|
101
|
+
# org.mozilla.javascript.ContextAction public Object run(Context context);
|
102
|
+
def run(context) # :nodoc:
|
103
|
+
@native = context
|
104
|
+
@global = @native.initStandardObjects(nil, @options[:sealed] == true)
|
105
|
+
if with = @options[:with]
|
106
|
+
@scope = Rhino.to_javascript(with)
|
107
|
+
@scope.setParentScope(@global)
|
108
|
+
else
|
109
|
+
@scope = @global
|
110
|
+
end
|
111
|
+
unless @options[:java]
|
112
|
+
@global.delete('Packages')
|
113
|
+
@global.delete('java'); @global.delete('javax')
|
114
|
+
@global.delete('org'); @global.delete('com')
|
115
|
+
@global.delete('edu'); @global.delete('net')
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
112
119
|
# Returns the ContextFactory used while creating this context.
|
113
120
|
def factory
|
114
121
|
@native.getFactory
|
115
122
|
end
|
116
|
-
|
123
|
+
|
117
124
|
# Read a value from the global scope of this context
|
118
125
|
def [](key)
|
119
126
|
@scope[key]
|
@@ -139,7 +146,7 @@ module Rhino
|
|
139
146
|
Rhino.to_ruby(result)
|
140
147
|
end
|
141
148
|
end
|
142
|
-
|
149
|
+
|
143
150
|
def evaluate(*args) # :nodoc:
|
144
151
|
eval(*args) # an alias
|
145
152
|
end
|
@@ -161,11 +168,11 @@ module Rhino
|
|
161
168
|
def restrictable?
|
162
169
|
@native.is_a?(RestrictableContextFactory::Context)
|
163
170
|
end
|
164
|
-
|
171
|
+
|
165
172
|
def instruction_limit
|
166
173
|
restrictable? ? @native.instruction_limit : false
|
167
174
|
end
|
168
|
-
|
175
|
+
|
169
176
|
# Set the maximum number of instructions that this context will execute.
|
170
177
|
# If this instruction limit is exceeded, then a #Rhino::RunawayScriptError
|
171
178
|
# will be raised.
|
@@ -173,7 +180,7 @@ module Rhino
|
|
173
180
|
if restrictable?
|
174
181
|
@native.instruction_limit = limit
|
175
182
|
else
|
176
|
-
raise "setting an instruction_limit has no effect on this context, use "
|
183
|
+
raise "setting an instruction_limit has no effect on this context, use " <<
|
177
184
|
"Context.open(:restrictable => true) to gain a restrictable instance"
|
178
185
|
end
|
179
186
|
end
|
@@ -181,7 +188,7 @@ module Rhino
|
|
181
188
|
def timeout_limit
|
182
189
|
restrictable? ? @native.timeout_limit : false
|
183
190
|
end
|
184
|
-
|
191
|
+
|
185
192
|
# Set the duration (in seconds e.g. 1.5) this context is allowed to execute.
|
186
193
|
# After the timeout passes (no matter if any JS has been evaluated) and this
|
187
194
|
# context is still attempted to run code, a #Rhino::ScriptTimeoutError will
|
@@ -190,15 +197,15 @@ module Rhino
|
|
190
197
|
if restrictable?
|
191
198
|
@native.timeout_limit = limit
|
192
199
|
else
|
193
|
-
raise "setting an timeout_limit has no effect on this context, use "
|
200
|
+
raise "setting an timeout_limit has no effect on this context, use " <<
|
194
201
|
"Context.open(:restrictable => true) to gain a restrictable instance"
|
195
202
|
end
|
196
203
|
end
|
197
|
-
|
204
|
+
|
198
205
|
def optimization_level
|
199
206
|
@native.getOptimizationLevel
|
200
207
|
end
|
201
|
-
|
208
|
+
|
202
209
|
# Set the optimization level that this context will use. This is sometimes necessary
|
203
210
|
# in Rhino, if the bytecode size of the compiled javascript exceeds the 64KB limit.
|
204
211
|
# By using the -1 optimization level, you tell Rhino to run in interpretative mode,
|
@@ -213,7 +220,7 @@ module Rhino
|
|
213
220
|
end
|
214
221
|
end
|
215
222
|
|
216
|
-
# Get the JS interpreter version.
|
223
|
+
# Get the JS interpreter version.
|
217
224
|
# Returns a number e.g. 1.7, nil if unknown and 0 for default.
|
218
225
|
def javascript_version
|
219
226
|
case const_value = @native.getLanguageVersion
|
@@ -223,7 +230,7 @@ module Rhino
|
|
223
230
|
end
|
224
231
|
end
|
225
232
|
alias :version :javascript_version
|
226
|
-
|
233
|
+
|
227
234
|
# Sets interpreter mode a.k.a. JS language version e.g. 1.7 (if supported).
|
228
235
|
def javascript_version=(version)
|
229
236
|
const = version.to_s.gsub('.', '_').upcase
|
@@ -237,9 +244,9 @@ module Rhino
|
|
237
244
|
nil
|
238
245
|
end
|
239
246
|
end
|
240
|
-
alias :version= :javascript_version=
|
241
|
-
|
242
|
-
# Enter this context for operations.
|
247
|
+
alias :version= :javascript_version=
|
248
|
+
|
249
|
+
# Enter this context for operations.
|
243
250
|
# Some methods such as eval() will fail unless the context is open.
|
244
251
|
def open(&block)
|
245
252
|
do_open(&block)
|
@@ -251,9 +258,9 @@ module Rhino
|
|
251
258
|
end
|
252
259
|
raise Rhino::JSError.new(e)
|
253
260
|
end
|
254
|
-
|
261
|
+
|
255
262
|
private
|
256
|
-
|
263
|
+
|
257
264
|
def do_open # :nodoc
|
258
265
|
factory.enterContext(@native)
|
259
266
|
begin
|
@@ -262,7 +269,7 @@ module Rhino
|
|
262
269
|
factory.exit
|
263
270
|
end
|
264
271
|
end
|
265
|
-
|
272
|
+
|
266
273
|
CODE_GENERATION_ERROR_MESSAGE = 'generated bytecode for method exceeds 64K limit' # :nodoc
|
267
274
|
|
268
275
|
CODE_GENERATION_TRACE_CLASS_NAME = 'org.mozilla.javascript.optimizer.Codegen' # :nodoc
|
@@ -316,7 +323,7 @@ module Rhino
|
|
316
323
|
return jstr.length
|
317
324
|
end
|
318
325
|
end
|
319
|
-
|
326
|
+
|
320
327
|
end
|
321
328
|
|
322
329
|
ContextFactory = JS::ContextFactory # :nodoc: backward compatibility
|
@@ -327,24 +334,24 @@ module Rhino
|
|
327
334
|
def self.instance
|
328
335
|
@@instance ||= new
|
329
336
|
end
|
330
|
-
|
337
|
+
|
331
338
|
# protected Context makeContext()
|
332
339
|
def makeContext
|
333
340
|
Context.new(self)
|
334
341
|
end
|
335
|
-
|
342
|
+
|
336
343
|
# protected void observeInstructionCount(Context context, int instructionCount)
|
337
344
|
def observeInstructionCount(context, count)
|
338
345
|
context.check!(count) if context.is_a?(Context)
|
339
346
|
end
|
340
|
-
|
341
|
-
# protected Object doTopCall(Callable callable, Context context,
|
347
|
+
|
348
|
+
# protected Object doTopCall(Callable callable, Context context,
|
342
349
|
# Scriptable scope, Scriptable thisObj, Object[] args)
|
343
350
|
def doTopCall(callable, context, scope, this, args)
|
344
351
|
context.reset! if context.is_a?(Context)
|
345
352
|
super
|
346
353
|
end
|
347
|
-
|
354
|
+
|
348
355
|
class Context < JS::Context # :nodoc:
|
349
356
|
|
350
357
|
def initialize(factory)
|
@@ -353,7 +360,7 @@ module Rhino
|
|
353
360
|
end
|
354
361
|
|
355
362
|
attr_reader :instruction_limit
|
356
|
-
|
363
|
+
|
357
364
|
def instruction_limit=(limit)
|
358
365
|
treshold = getInstructionObserverThreshold
|
359
366
|
if limit && (treshold == 0 || treshold > limit)
|
@@ -363,11 +370,11 @@ module Rhino
|
|
363
370
|
end
|
364
371
|
|
365
372
|
attr_reader :instruction_count
|
366
|
-
|
373
|
+
|
367
374
|
TIMEOUT_INSTRUCTION_TRESHOLD = 42
|
368
|
-
|
375
|
+
|
369
376
|
attr_reader :timeout_limit
|
370
|
-
|
377
|
+
|
371
378
|
def timeout_limit=(limit) # in seconds
|
372
379
|
treshold = getInstructionObserverThreshold
|
373
380
|
if limit && (treshold == 0 || treshold > TIMEOUT_INSTRUCTION_TRESHOLD)
|
@@ -375,9 +382,9 @@ module Rhino
|
|
375
382
|
end
|
376
383
|
@timeout_limit = limit
|
377
384
|
end
|
378
|
-
|
385
|
+
|
379
386
|
attr_reader :start_time
|
380
|
-
|
387
|
+
|
381
388
|
def check!(count = nil)
|
382
389
|
@instruction_count += count if count
|
383
390
|
check_instruction_limit!
|
@@ -389,7 +396,7 @@ module Rhino
|
|
389
396
|
raise RunawayScriptError, "script exceeded allowable instruction count: #{instruction_limit}"
|
390
397
|
end
|
391
398
|
end
|
392
|
-
|
399
|
+
|
393
400
|
def check_timeout_limit!(count = nil)
|
394
401
|
if timeout_limit
|
395
402
|
elapsed_time = Time.now.to_f - start_time.to_f
|
@@ -410,17 +417,17 @@ module Rhino
|
|
410
417
|
end
|
411
418
|
end
|
412
419
|
end
|
413
|
-
|
420
|
+
|
414
421
|
def reset!
|
415
422
|
@instruction_count = 0
|
416
423
|
@start_time = Time.now
|
417
424
|
self
|
418
425
|
end
|
419
|
-
|
426
|
+
|
420
427
|
end
|
421
|
-
|
428
|
+
|
422
429
|
end
|
423
|
-
|
430
|
+
|
424
431
|
class ContextError < StandardError # :nodoc:
|
425
432
|
end
|
426
433
|
|
@@ -429,5 +436,5 @@ module Rhino
|
|
429
436
|
|
430
437
|
class ScriptTimeoutError < ContextError # :nodoc:
|
431
438
|
end
|
432
|
-
|
439
|
+
|
433
440
|
end
|
data/lib/rhino/version.rb
CHANGED
data/spec/rhino/error_spec.rb
CHANGED
@@ -1,40 +1,40 @@
|
|
1
1
|
require File.expand_path('../spec_helper', File.dirname(__FILE__))
|
2
2
|
|
3
3
|
describe Rhino::JSError do
|
4
|
-
|
4
|
+
|
5
5
|
it "works as a StandardError with a message being passed" do
|
6
6
|
js_error = Rhino::JSError.new 'an error message'
|
7
7
|
lambda { js_error.to_s && js_error.inspect }.should_not raise_error
|
8
|
-
|
8
|
+
|
9
9
|
js_error.cause.should be nil
|
10
10
|
js_error.message.should == 'an error message'
|
11
11
|
js_error.javascript_backtrace.should be nil
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
14
|
it "might wrap a RhinoException wrapped in a NativeException like error" do
|
15
15
|
# JRuby's NativeException.new(rhino_e) does not work as it is
|
16
16
|
# intended to handle Java exceptions ... no new on the Ruby side
|
17
17
|
native_error_class = Class.new(RuntimeError) do
|
18
|
-
|
18
|
+
|
19
19
|
def initialize(cause)
|
20
20
|
@cause = cause
|
21
21
|
end
|
22
|
-
|
22
|
+
|
23
23
|
def cause
|
24
24
|
@cause
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
end
|
28
|
-
|
28
|
+
|
29
29
|
rhino_e = Rhino::JS::JavaScriptException.new("42".to_java)
|
30
30
|
js_error = Rhino::JSError.new native_error_class.new(rhino_e)
|
31
31
|
lambda { js_error.to_s && js_error.inspect }.should_not raise_error
|
32
|
-
|
32
|
+
|
33
33
|
js_error.cause.should be rhino_e
|
34
34
|
js_error.message.should == '42'
|
35
35
|
js_error.javascript_backtrace.should_not be nil
|
36
36
|
end
|
37
|
-
|
37
|
+
|
38
38
|
it "keeps the thrown javascript object value" do
|
39
39
|
begin
|
40
40
|
Rhino::Context.eval "throw { foo: 'bar' }"
|
@@ -73,17 +73,17 @@ describe Rhino::JSError do
|
|
73
73
|
fail "expected to rescue"
|
74
74
|
end
|
75
75
|
end
|
76
|
-
|
76
|
+
|
77
77
|
it "has a correct javascript backtrace" do
|
78
78
|
begin
|
79
79
|
Rhino::Context.eval "throw 42"
|
80
80
|
rescue => e
|
81
|
+
# [ "at <eval>:1", "at org/mozilla/javascript/gen/<eval>:1" ]
|
81
82
|
e.javascript_backtrace.should be_a Enumerable
|
82
|
-
e.javascript_backtrace.size.should
|
83
|
+
e.javascript_backtrace.size.should >= 1
|
83
84
|
e.javascript_backtrace[0].should == "at <eval>:1"
|
84
|
-
|
85
85
|
e.javascript_backtrace(true).should be_a Enumerable
|
86
|
-
e.javascript_backtrace(true).size.should
|
86
|
+
e.javascript_backtrace(true).size.should >= 1
|
87
87
|
element = e.javascript_backtrace(true)[0]
|
88
88
|
element.file_name.should == '<eval>'
|
89
89
|
element.function_name.should be nil
|
@@ -97,14 +97,14 @@ describe Rhino::JSError do
|
|
97
97
|
begin
|
98
98
|
Rhino::Context.eval "function fortyTwo() { throw 42 }\n fortyTwo()"
|
99
99
|
rescue => e
|
100
|
-
e.javascript_backtrace.size.should
|
100
|
+
e.javascript_backtrace.size.should >= 2
|
101
101
|
e.javascript_backtrace[0].should == "at <eval>:1 (fortyTwo)"
|
102
|
-
e.javascript_backtrace
|
102
|
+
expect( e.javascript_backtrace.find { |trace| trace == "at <eval>:2" } ).to_not be nil
|
103
103
|
else
|
104
104
|
fail "expected to rescue"
|
105
105
|
end
|
106
106
|
end
|
107
|
-
|
107
|
+
|
108
108
|
it "backtrace starts with the javascript part" do
|
109
109
|
begin
|
110
110
|
Rhino::Context.eval "throw 42"
|
@@ -149,7 +149,7 @@ describe Rhino::JSError do
|
|
149
149
|
fail "expected to rescue"
|
150
150
|
end
|
151
151
|
end
|
152
|
-
|
152
|
+
|
153
153
|
it "raises correct error from function#apply" do
|
154
154
|
begin
|
155
155
|
context = Rhino::Context.new
|
@@ -166,7 +166,7 @@ describe Rhino::JSError do
|
|
166
166
|
it "prints info about nested (ruby) error" do
|
167
167
|
context = Rhino::Context.new
|
168
168
|
klass = Class.new do
|
169
|
-
def hello(arg = 42)
|
169
|
+
def hello(arg = 42)
|
170
170
|
raise RuntimeError, 'hello' if arg != 42
|
171
171
|
end
|
172
172
|
end
|
@@ -189,5 +189,5 @@ describe Rhino::JSError do
|
|
189
189
|
# from at hi (<eval>:1:28)
|
190
190
|
# from (irb):9
|
191
191
|
end
|
192
|
-
|
192
|
+
|
193
193
|
end
|
metadata
CHANGED
@@ -1,127 +1,122 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: therubyrhino
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
version: 2.0.3
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.0.4
|
6
5
|
platform: ruby
|
7
|
-
authors:
|
8
|
-
|
9
|
-
autorequire:
|
6
|
+
authors:
|
7
|
+
- Charles Lowell
|
8
|
+
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
11
|
+
date: 2014-07-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: therubyrhino_jar
|
15
|
+
version_requirements: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.7.3
|
20
|
+
requirement: !ruby/object:Gem::Requirement
|
21
|
+
requirements:
|
22
|
+
- - '>='
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: 1.7.3
|
25
|
+
prerelease: false
|
26
|
+
type: :runtime
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 2.14.1
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - ~>
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: 2.14.1
|
39
|
+
prerelease: false
|
40
|
+
type: :development
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: mocha
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.13.3
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - ~>
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 0.13.3
|
53
|
+
prerelease: false
|
54
|
+
type: :development
|
48
55
|
description: Call javascript code and manipulate javascript objects from ruby. Call ruby code and manipulate ruby objects from javascript.
|
49
56
|
email: cowboyd@thefrontside.net
|
50
57
|
executables: []
|
51
|
-
|
52
58
|
extensions: []
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
- therubyrhino.gemspec
|
59
|
+
extra_rdoc_files:
|
60
|
+
- README.md
|
61
|
+
files:
|
62
|
+
- .gitignore
|
63
|
+
- .rspec
|
64
|
+
- .travis.yml
|
65
|
+
- Gemfile
|
66
|
+
- History.md
|
67
|
+
- README.md
|
68
|
+
- Rakefile
|
69
|
+
- lib/rhino.rb
|
70
|
+
- lib/rhino/context.rb
|
71
|
+
- lib/rhino/deprecations.rb
|
72
|
+
- lib/rhino/error.rb
|
73
|
+
- lib/rhino/object.rb
|
74
|
+
- lib/rhino/rhino_ext.rb
|
75
|
+
- lib/rhino/ruby.rb
|
76
|
+
- lib/rhino/ruby/access.rb
|
77
|
+
- lib/rhino/ruby/attribute_access.rb
|
78
|
+
- lib/rhino/ruby/default_access.rb
|
79
|
+
- lib/rhino/version.rb
|
80
|
+
- lib/rhino/wormhole.rb
|
81
|
+
- spec/rhino/access_spec.rb
|
82
|
+
- spec/rhino/context_spec.rb
|
83
|
+
- spec/rhino/deprecations_spec.rb
|
84
|
+
- spec/rhino/error_spec.rb
|
85
|
+
- spec/rhino/integration/bar.js
|
86
|
+
- spec/rhino/integration/foo.js
|
87
|
+
- spec/rhino/integration/index.js
|
88
|
+
- spec/rhino/integration/loop.js
|
89
|
+
- spec/rhino/integration/loop/element1.js
|
90
|
+
- spec/rhino/integration/loop/element2.js
|
91
|
+
- spec/rhino/integration_spec.rb
|
92
|
+
- spec/rhino/redjs_spec.rb
|
93
|
+
- spec/rhino/rhino_ext_spec.rb
|
94
|
+
- spec/rhino/ruby_spec.rb
|
95
|
+
- spec/rhino/wormhole_spec.rb
|
96
|
+
- spec/spec_helper.rb
|
97
|
+
- therubyrhino.gemspec
|
93
98
|
homepage: http://github.com/cowboyd/therubyrhino
|
94
|
-
licenses:
|
95
|
-
|
96
|
-
|
99
|
+
licenses:
|
100
|
+
- MIT
|
101
|
+
metadata: {}
|
102
|
+
post_install_message:
|
97
103
|
rdoc_options: []
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
111
|
-
none: false
|
112
|
-
requirements:
|
113
|
-
- - ">="
|
114
|
-
- !ruby/object:Gem::Version
|
115
|
-
hash: 2
|
116
|
-
segments:
|
117
|
-
- 0
|
118
|
-
version: "0"
|
104
|
+
require_paths:
|
105
|
+
- lib
|
106
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
112
|
+
requirements:
|
113
|
+
- - '>='
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: '0'
|
119
116
|
requirements: []
|
120
|
-
|
121
117
|
rubyforge_project: therubyrhino
|
122
|
-
rubygems_version:
|
123
|
-
signing_key:
|
124
|
-
specification_version:
|
118
|
+
rubygems_version: 2.2.2
|
119
|
+
signing_key:
|
120
|
+
specification_version: 4
|
125
121
|
summary: Embed the Rhino JavaScript interpreter into JRuby
|
126
122
|
test_files: []
|
127
|
-
|