dusty_rails_renderer 0.1.3 → 0.1.5

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