dusty_rails_renderer 0.1.3 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4a5f0511e19fad284e05ed4aa5eb0df00cbd8bcc
4
- data.tar.gz: 3aafe27812a9187c315fb6d48db545e500a64f9b
3
+ metadata.gz: aafcd5f1e54bb8dcb0824c63d10abb41c31461f8
4
+ data.tar.gz: f35118254a1c971f8eaee1c77557559bc3c371b8
5
5
  SHA512:
6
- metadata.gz: 5884e283eea8928fae1629777d502d2333bf4f79ebd6d57326b62839a240e56e20422ff79d84bfc54e304880622070f5ae6f3295b95a58e81b7f80dc21c56350
7
- data.tar.gz: fa6a42ebe494c248a561bb8cc29b889026ce0c6bcac2b327de8830584f6494b570651a43e7484155c7e69c74a462a47b0f9eee47456f331d28ea44fdca93bf98
6
+ metadata.gz: fd8bea38fdfeff0444508fd08f90e09c7362e366dea48e553faa4aeb3bfbd342678b5b816afe5226cbc983b9a1938ada7a53375d65e2c91e3aa534c33589113b
7
+ data.tar.gz: 3c607bdc5088cf896d1242b3f6b7be970efe26162eff52df25fdbdcdf7c35da4d73ebdec6c2a0a41fd6937e1b24a4b53aedbfa28c416e8b8c8c1501141580ea9
@@ -29,5 +29,5 @@ Gem::Specification.new do |spec|
29
29
 
30
30
  spec.add_development_dependency "bundler", "~> 1.10"
31
31
  spec.add_development_dependency "rake", "~> 10.0"
32
- spec.add_development_dependency "therubyracer", "~> 0.12.2"
32
+ spec.add_development_dependency "execjs", "~> 2.6.0"
33
33
  end
@@ -1,3 +1,3 @@
1
1
  module DustyRailsRenderer
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.5"
3
3
  end
@@ -1,5 +1,6 @@
1
1
  require "singleton"
2
2
  require "dusty_rails_renderer/version"
3
+ require "execjs"
3
4
 
4
5
  module DustyRailsRenderer
5
6
  class << self
@@ -11,9 +12,7 @@ module DustyRailsRenderer
11
12
  @dust_config = YAML.load_file(self.configuration.dust_config_path)
12
13
  @dust_library = File.read(self.configuration.dust_js_library_path)
13
14
  @precompiled_templates = Hash.new
14
- @context = V8::Context.new
15
- @context.eval(@dust_library, 'dustjs')
16
-
15
+
17
16
  read_dust_files
18
17
  end
19
18
 
@@ -26,10 +25,7 @@ module DustyRailsRenderer
26
25
  if self.configuration.production
27
26
  @context.eval("(function() { var result; dust.render('#{template_name}', #{json}, function(err, out) { result = out; }); return result; })()")
28
27
  else
29
- #Reset Context
30
- @context = V8::Context.new
31
- @context.eval(@dust_library, 'dustjs')
32
-
28
+
33
29
  read_dust_files
34
30
  @context.eval("(function() { var result; dust.render('#{template_name}', #{json}, function(err, out) { result = out; }); return result; })()")
35
31
  end
@@ -38,11 +34,27 @@ module DustyRailsRenderer
38
34
  private
39
35
  #Read in and register Dust.js templates
40
36
  def read_dust_files
41
- @dust_config.each do |template, info|
37
+ #
38
+ js_content = ""
39
+ file_content_store = []
40
+
41
+ @dust_config.each do |template, info|
42
42
  file_url = self.configuration.dust_template_base_path + info["file_path"]
43
43
  template_name = info["name"]
44
- contents = File.read(file_url).gsub("\n","").gsub("\"","'").gsub("\t","")
45
- template = @context.eval("(function() {var template = dust.compile(\"#{contents}\",'#{template_name}'); dust.loadSource(template); return template; })()")
44
+ content = File.read(file_url).gsub("\n","").gsub("\"","'").gsub("\t","")
45
+ js_content += "dust.loadSource(dust.compile(\"#{content}\",'#{template_name}'));"
46
+ content_map = Hash.new
47
+ content_map['content'] = content
48
+ content_map['template_name'] = template_name
49
+ file_content_store << content_map
50
+ end
51
+
52
+ @context = ExecJS.compile(@dust_library + js_content)
53
+
54
+ file_content_store.each do |content_map|
55
+ content = content_map['content']
56
+ template_name = content_map['template_name']
57
+ template = @context.call("dust.compile","#{content}","#template_name}")
46
58
  @precompiled_templates[template_name] = template
47
59
  end
48
60
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dusty_rails_renderer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Louis Ellis
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-11-02 00:00:00.000000000 Z
11
+ date: 2015-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -39,19 +39,19 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: therubyracer
42
+ name: execjs
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.12.2
47
+ version: 2.6.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.12.2
54
+ version: 2.6.0
55
55
  description: Render Dust server side
56
56
  email: Louis.f.ellis@gmail.com
57
57
  executables: []