execjs 0.3.3 → 0.3.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.
@@ -9,12 +9,16 @@ module ExecJS
9
9
  end
10
10
 
11
11
  def eval(source, options = {})
12
+ souce = source.encode('UTF-8') if source.respond_to?(:encode)
13
+
12
14
  if /\S/ =~ source
13
15
  exec("return eval(#{MultiJson.encode("(#{source})")})")
14
16
  end
15
17
  end
16
18
 
17
19
  def exec(source, options = {})
20
+ souce = source.encode('UTF-8') if source.respond_to?(:encode)
21
+
18
22
  compile_to_tempfile([@source, source].join("\n")) do |file|
19
23
  extract_result(@runtime.send(:exec_runtime, file.path))
20
24
  end
@@ -26,7 +30,7 @@ module ExecJS
26
30
 
27
31
  protected
28
32
  def compile_to_tempfile(source)
29
- tempfile = Tempfile.open(["execjs",".js"])
33
+ tempfile = Tempfile.open(['execjs', '.js'])
30
34
  tempfile.write compile(source)
31
35
  tempfile.close
32
36
  yield tempfile
@@ -7,12 +7,16 @@ module ExecJS
7
7
  end
8
8
 
9
9
  def exec(source, options = {})
10
+ souce = source.encode('UTF-8') if source.respond_to?(:encode)
11
+
10
12
  if /\S/ =~ source
11
13
  eval "(function(){#{source}})()", options
12
14
  end
13
15
  end
14
16
 
15
17
  def eval(source, options = {})
18
+ souce = source.encode('UTF-8') if source.respond_to?(:encode)
19
+
16
20
  if /\S/ =~ source
17
21
  unbox @v8_context.eval("(#{source})")
18
22
  end
@@ -7,12 +7,16 @@ module ExecJS
7
7
  end
8
8
 
9
9
  def exec(source, options = {})
10
+ souce = source.encode('UTF-8') if source.respond_to?(:encode)
11
+
10
12
  if /\S/ =~ source
11
13
  eval "(function(){#{source}})()", options
12
14
  end
13
15
  end
14
16
 
15
17
  def eval(source, options = {})
18
+ souce = source.encode('UTF-8') if source.respond_to?(:encode)
19
+
16
20
  if /\S/ =~ source
17
21
  unbox @v8_context.eval("(#{source})")
18
22
  end
@@ -45,6 +49,10 @@ module ExecJS
45
49
  vs[k] = unbox(v) unless v.is_a?(::V8::Function)
46
50
  vs
47
51
  end
52
+ when String
53
+ value.respond_to?(:force_encoding) ?
54
+ value.force_encoding('UTF-8') :
55
+ value
48
56
  else
49
57
  value
50
58
  end
@@ -7,12 +7,16 @@ module ExecJS
7
7
  end
8
8
 
9
9
  def exec(source, options = {})
10
+ souce = source.encode('UTF-8') if source.respond_to?(:encode)
11
+
10
12
  if /\S/ =~ source
11
13
  eval "(function(){#{source}})()", options
12
14
  end
13
15
  end
14
16
 
15
17
  def eval(source, options = {})
18
+ souce = source.encode('UTF-8') if source.respond_to?(:encode)
19
+
16
20
  if /\S/ =~ source
17
21
  unbox @rhino_context.eval("(#{source})")
18
22
  end
@@ -159,12 +159,13 @@
159
159
  // Create a JSON object only if one does not already exist. We create the
160
160
  // methods in a closure to avoid creating global variables.
161
161
 
162
- var JSON;
163
- if (!JSON) {
164
- JSON = {};
165
- }
162
+ (function (global) {
163
+ if (!global.JSON) {
164
+ global.JSON = {};
165
+ }
166
+
167
+ var JSON = global.JSON;
166
168
 
167
- (function () {
168
169
  "use strict";
169
170
 
170
171
  function f(n) {
@@ -477,4 +478,4 @@ if (!JSON) {
477
478
  throw new SyntaxError('JSON.parse');
478
479
  };
479
480
  }
480
- }());
481
+ }(this));
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: execjs
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 3
10
- version: 0.3.3
9
+ - 4
10
+ version: 0.3.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Sam Stephenson
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-05-06 00:00:00 -05:00
19
+ date: 2011-05-12 00:00:00 -05:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency