smparkes-envjs 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/bin/envjsrb +15 -15
  2. data/lib/envjs/runtime.rb +5 -0
  3. metadata +1 -1
data/bin/envjsrb CHANGED
@@ -3,18 +3,9 @@
3
3
  require 'rubygems'
4
4
  require 'pathname'
5
5
 
6
- begin
7
- require 'johnson/tracemonkey'
8
- require 'johnson/cli'
9
- require 'envjs/runtime'
10
- rescue Exception => e
11
- # (temporarily) run out of local if gem not installed
12
- $: << File.expand_path( File.join( File.dirname(__FILE__), "..", "lib" ) )
13
- $: << File.expand_path( File.join( File.dirname(__FILE__), "..", "vendor", "johnson", "lib" ) )
14
- require 'johnson/tracemonkey'
15
- require 'johnson/cli'
16
- require 'envjs/runtime'
17
- end
6
+ require 'johnson/tracemonkey'
7
+ require 'johnson/cli'
8
+ require 'envjs/runtime'
18
9
 
19
10
  RUNTIME = js = Johnson::Runtime.new
20
11
  RUNTIME.extend Envjs::Runtime
@@ -24,15 +15,24 @@ RUNTIME.load Envjs::ENVJS
24
15
  if ARGV.length > 0
25
16
 
26
17
  begin
27
- ARGV.each_with_index do |file,i|
28
- if file =~ /\.x?html?$/ || file =~ %r(^https?://)
29
- if i > 0
18
+ about_blank = true
19
+ ARGV.each do |file|
20
+ if file == "about:blank"
21
+ RUNTIME.wait
22
+ RUNTIME.evaluate("window.location = 'about:blank'", "(comand line)", 1)
23
+ about_blank = true
24
+ elsif file =~ /\.x?html?$/ || file =~ %r(^https?://)
25
+ # this might want to go alway; jazrb does it manually now, which I think was the use case
26
+ # that wanted this
27
+ if !about_blank
30
28
  RUNTIME.wait
31
29
  RUNTIME.evaluate("window.location = 'about:blank'", "(comand line)", 1)
32
30
  end
33
31
  RUNTIME.wait
34
32
  RUNTIME.evaluate("window.location = 'file://#{Pathname.new(file).realpath}'", file, 1)
33
+ about_blank = false
35
34
  else
35
+ RUNTIME.become_first_script_window
36
36
  RUNTIME.load file
37
37
  end
38
38
  end
data/lib/envjs/runtime.rb CHANGED
@@ -102,6 +102,11 @@ EOJS
102
102
 
103
103
  scripts = {}
104
104
 
105
+ ( class << self; self; end ).send :define_method, :become_first_script_window do
106
+ # p "heh", inner, master.first_script_window
107
+ inner = master.first_script_window
108
+ end
109
+
105
110
  ( class << self; self; end ).send :define_method, :evaluate do |*args|
106
111
  ( script, file, line, global, scope, fn ) = *args
107
112
  # print "eval in " + script[0,50].inspect + (scope ? scope.toString() : "nil") + "\n"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smparkes-envjs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Resig