escodegen 1.1.0 → 1.2.0

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.
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: []