therubyrhino 2.0.3 → 2.0.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
-
|