react-jsx 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/react/jsx.rb +32 -12
  3. metadata +16 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 79497b0b163dfc2272c6158fbc46e071f2ab1d12
4
- data.tar.gz: e85387894b192854f0526cc1f7138a8864f653cb
3
+ metadata.gz: 5736e42794e08f9a22f83f3ccf886ae9cce0837d
4
+ data.tar.gz: c1bcc4da145913111408b01443d82d80c5d39342
5
5
  SHA512:
6
- metadata.gz: 9084e3e0cd0e4a0c20135d68a9453a2f77b6bce9e5b0dbfb1e0089d39673380fe1a45ff302a67016e1a47f7bda2bad537e3ff3faedfa397ceaaf05244ea6b4bd
7
- data.tar.gz: 23bd6bfb0cb092dd758f8f73bd2ca07b15ece506fd258935788fb0fe9f3b34f8afba0b34c1cac8f53954169a32b4a8b1d21d7bea1fc34b08d37275e22928a390
6
+ metadata.gz: 2891d75b2472780c91c4642e6e5905cd724e5827dd3b7cae4161d51b852a9c581fffa3cf124ee341c177d7c8b639cb7f9c12004323a5d9405676677ce458ea05
7
+ data.tar.gz: 7b00a916fa7eb0ba313fef8e77866e7797df39048eea89da18552f94911ee08d5de2c2e694f9ac3bef60fee18a32456de9b159f7d37999a492d667b322399dc4
@@ -1,12 +1,32 @@
1
- require 'execjs'
2
- require 'react/source'
3
-
4
- module React
5
- module JSX
6
- def self.compile(code)
7
- content = File.read(React::Source.bundled_path_for('JSXTransformer.js'))
8
- @context ||= ExecJS.compile(content)
9
- @context.call('JSXTransformer.transform', code)['code']
10
- end
11
- end
12
- end
1
+ require 'execjs'
2
+ require 'react/source'
3
+
4
+ module React
5
+ module JSX
6
+ def self.compile(code)
7
+ if rubyracer?
8
+ context.transform(code)['code']
9
+ else
10
+ context.call('JSXTransformer.transform', code)['code']
11
+ end
12
+ end
13
+
14
+ def self.context
15
+ unless @context
16
+ content = File.read(React::Source.bundled_path_for('JSXTransformer.js'))
17
+
18
+ @context = if rubyracer?
19
+ V8::Context.new.eval("module={}; exports={}; #{content}; module.exports")
20
+ else
21
+ ExecJS.compile(content)
22
+ end
23
+ end
24
+ @context
25
+ end
26
+
27
+ def self.rubyracer?
28
+ ExecJS.runtime == ExecJS::Runtimes::RubyRacer
29
+ end
30
+ end
31
+ end
32
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: react-jsx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexey Demin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-16 00:00:00.000000000 Z
11
+ date: 2013-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: 2.14.1
83
+ - !ruby/object:Gem::Dependency
84
+ name: coveralls
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: 0.7.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: 0.7.0
83
97
  description:
84
98
  email: demin.alexey@inbox.ru
85
99
  executables: []