escodegen 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -2,6 +2,9 @@ source :rubygems
2
2
 
3
3
  gemspec
4
4
 
5
+ gem 'therubyrhino', :platform => :jruby
6
+ gem 'therubyracer', '~> 0.9.10', :platform => :mri
7
+
5
8
  group :test do
6
9
  gem 'rspec', '~> 2.11.0'
7
10
  gem 'rr', '~> 1.0.4'
@@ -1,3 +1,7 @@
1
+ === 1.2.0
2
+
3
+ * Supported different platforms with execjs, which should fix JRuby issues.
4
+
1
5
  === 1.1.0
2
6
 
3
7
  * Added JRuby support.
@@ -13,11 +13,7 @@ Gem::Specification.new do |s|
13
13
  s.platform = Gem::Platform::RUBY
14
14
  s.has_rdoc = true
15
15
 
16
- if (RUBY_PLATFORM == 'java')
17
- s.add_dependency 'therubyrhino'
18
- else
19
- s.add_dependency 'therubyracer', '~> 0.9.10'
20
- end
16
+ s.add_dependency 'execjs', '~> 1.4.0'
21
17
  s.add_dependency 'commonjs', '~> 0.2.6'
22
18
 
23
19
  s.add_development_dependency 'rake'
@@ -1,26 +1,28 @@
1
1
  # encoding: UTF-8
2
2
 
3
- if (RUBY_PLATFORM == 'java')
4
- require 'rhino'
5
- else
6
- require 'v8'
7
- end
3
+ require 'execjs'
8
4
  require 'commonjs'
9
5
 
10
6
  require 'escodegen/generator'
11
7
 
12
8
  module Escodegen
13
- def self.load_path
14
- @load_path ||= File.expand_path(File.join(File.dirname(__FILE__), "../vendor"))
15
- end
9
+ class << self
10
+ def load_path
11
+ @load_path ||= File.expand_path(File.join(File.dirname(__FILE__), "../vendor"))
12
+ end
13
+
14
+ def new_environment
15
+ context = new_context
16
+ env = CommonJS::Environment.new(context, :path => Escodegen.load_path)
17
+ env.require("escodegen")
18
+ end
19
+
20
+ protected
16
21
 
17
- def self.new_environment
18
- if (RUBY_PLATFORM == 'java')
19
- context = Rhino::Context.new
20
- else
21
- context = V8::Context.new
22
+ def new_context
23
+ cxt_obj = ExecJS.runtime.class::Context.new(nil)
24
+ cxt_var = cxt_obj.instance_variables.select { |var_name| var_name.to_s.include?("context") }.first
25
+ cxt_obj.instance_variable_get(cxt_var)
22
26
  end
23
- env = CommonJS::Environment.new(context, :path => Escodegen.load_path)
24
- env.require("escodegen")
25
27
  end
26
28
  end
@@ -1,5 +1,5 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  module Escodegen
4
- VERSION = "1.1.0"
4
+ VERSION = "1.2.0"
5
5
  end
metadata CHANGED
@@ -1,99 +1,100 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: escodegen
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
5
- prerelease:
4
+ prerelease:
5
+ version: 1.2.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Cameron Dutro
9
9
  - Yusuke Suzuki
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-12-26 00:00:00.000000000 Z
13
+ date: 2012-12-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: therubyracer
17
- requirement: !ruby/object:Gem::Requirement
18
- none: false
16
+ name: execjs
17
+ version_requirements: !ruby/object:Gem::Requirement
19
18
  requirements:
20
19
  - - ~>
21
20
  - !ruby/object:Gem::Version
22
- version: 0.9.10
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
21
+ version: 1.4.0
26
22
  none: false
23
+ requirement: !ruby/object:Gem::Requirement
27
24
  requirements:
28
25
  - - ~>
29
26
  - !ruby/object:Gem::Version
30
- version: 0.9.10
27
+ version: 1.4.0
28
+ none: false
29
+ prerelease: false
30
+ type: :runtime
31
31
  - !ruby/object:Gem::Dependency
32
32
  name: commonjs
33
- requirement: !ruby/object:Gem::Requirement
34
- none: false
33
+ version_requirements: !ruby/object:Gem::Requirement
35
34
  requirements:
36
35
  - - ~>
37
36
  - !ruby/object:Gem::Version
38
37
  version: 0.2.6
39
- type: :runtime
40
- prerelease: false
41
- version_requirements: !ruby/object:Gem::Requirement
42
38
  none: false
39
+ requirement: !ruby/object:Gem::Requirement
43
40
  requirements:
44
41
  - - ~>
45
42
  - !ruby/object:Gem::Version
46
43
  version: 0.2.6
44
+ none: false
45
+ prerelease: false
46
+ type: :runtime
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
- requirement: !ruby/object:Gem::Requirement
50
- none: false
49
+ version_requirements: !ruby/object:Gem::Requirement
51
50
  requirements:
52
51
  - - ! '>='
53
52
  - !ruby/object:Gem::Version
54
- version: '0'
55
- type: :development
56
- prerelease: false
57
- version_requirements: !ruby/object:Gem::Requirement
53
+ version: !binary |-
54
+ MA==
58
55
  none: false
56
+ requirement: !ruby/object:Gem::Requirement
59
57
  requirements:
60
58
  - - ! '>='
61
59
  - !ruby/object:Gem::Version
62
- version: '0'
60
+ version: !binary |-
61
+ MA==
62
+ none: false
63
+ prerelease: false
64
+ type: :development
63
65
  - !ruby/object:Gem::Dependency
64
66
  name: rspec
65
- requirement: !ruby/object:Gem::Requirement
66
- none: false
67
+ version_requirements: !ruby/object:Gem::Requirement
67
68
  requirements:
68
69
  - - ~>
69
70
  - !ruby/object:Gem::Version
70
71
  version: 2.11.0
71
- type: :development
72
- prerelease: false
73
- version_requirements: !ruby/object:Gem::Requirement
74
72
  none: false
73
+ requirement: !ruby/object:Gem::Requirement
75
74
  requirements:
76
75
  - - ~>
77
76
  - !ruby/object:Gem::Version
78
77
  version: 2.11.0
78
+ none: false
79
+ prerelease: false
80
+ type: :development
79
81
  - !ruby/object:Gem::Dependency
80
82
  name: rr
81
- requirement: !ruby/object:Gem::Requirement
82
- none: false
83
+ version_requirements: !ruby/object:Gem::Requirement
83
84
  requirements:
84
85
  - - ~>
85
86
  - !ruby/object:Gem::Version
86
87
  version: 1.0.4
87
- type: :development
88
- prerelease: false
89
- version_requirements: !ruby/object:Gem::Requirement
90
88
  none: false
89
+ requirement: !ruby/object:Gem::Requirement
91
90
  requirements:
92
91
  - - ~>
93
92
  - !ruby/object:Gem::Version
94
93
  version: 1.0.4
95
- description: Ruby wrapper around the escodegen JavaScript generator that generates
96
- ECMA script from an abstract syntax tree.
94
+ none: false
95
+ prerelease: false
96
+ type: :development
97
+ description: Ruby wrapper around the escodegen JavaScript generator that generates ECMA script from an abstract syntax tree.
97
98
  email:
98
99
  - cdutro@twitter.com
99
100
  - ! '@Constellation'
@@ -101,9 +102,9 @@ executables: []
101
102
  extensions: []
102
103
  extra_rdoc_files: []
103
104
  files:
105
+ - lib/escodegen.rb
104
106
  - lib/escodegen/generator.rb
105
107
  - lib/escodegen/version.rb
106
- - lib/escodegen.rb
107
108
  - spec/escodegen_spec.rb
108
109
  - spec/generator_spec.rb
109
110
  - spec/spec_helper.rb
@@ -117,27 +118,28 @@ files:
117
118
  - escodegen.gemspec
118
119
  homepage: https://github.com/Constellation/escodegen
119
120
  licenses: []
120
- post_install_message:
121
+ post_install_message:
121
122
  rdoc_options: []
122
123
  require_paths:
123
124
  - lib
124
125
  required_ruby_version: !ruby/object:Gem::Requirement
125
- none: false
126
126
  requirements:
127
127
  - - ! '>='
128
128
  - !ruby/object:Gem::Version
129
- version: '0'
130
- required_rubygems_version: !ruby/object:Gem::Requirement
129
+ version: !binary |-
130
+ MA==
131
131
  none: false
132
+ required_rubygems_version: !ruby/object:Gem::Requirement
132
133
  requirements:
133
134
  - - ! '>='
134
135
  - !ruby/object:Gem::Version
135
- version: '0'
136
+ version: !binary |-
137
+ MA==
138
+ none: false
136
139
  requirements: []
137
- rubyforge_project:
138
- rubygems_version: 1.8.23
139
- signing_key:
140
+ rubyforge_project:
141
+ rubygems_version: 1.8.24
142
+ signing_key:
140
143
  specification_version: 3
141
- summary: Ruby wrapper around the escodegen JavaScript generator that generates ECMA
142
- script from an abstract syntax tree.
144
+ summary: Ruby wrapper around the escodegen JavaScript generator that generates ECMA script from an abstract syntax tree.
143
145
  test_files: []