haml-underscore-template 0.1.1 → 0.2

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6b94ecfd2876a65aec96c3f2e0c1bd2636f9e177
4
+ data.tar.gz: 88b51df428f0d62f4611fe1a2d345ee160121c17
5
+ SHA512:
6
+ metadata.gz: 9936bd7f153c9de9115e078e63b347e48a3813f7eda36fcd094414c42cf30aaf3c63c01f341bb1d2d40273d4af2690e48c3067d6607cf2ca4e58fc136be54c91
7
+ data.tar.gz: e267ffe132cf22f4bbeab3b48acaef6097d1b0515e2c98729b701dbc5c2df0967c0c41107f6c7806176d59a31f0d256f036fd6f12b8f4632c9b496066406fbcf
@@ -30,10 +30,20 @@ module Underscore::Engine
30
30
  # function takes an optional argument, an object specifying local
31
31
  # variables in the template.
32
32
  #
33
- # UnderscoreTemplate.compile("Hello <%= name %>")
34
- # # => "_.template('Hello <%= name %>')"
33
+ # > Underscore::Engine.compile("Hello <%= name %>")
34
+ # # => "function(obj){\nvar __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\nwith(obj||{}){\n__p+='Hello '+\n( name )+\n'\\n';\n}\nreturn __p;\n}"
35
35
  #
36
36
  def compile(source, options = {})
37
+ template_func = precompile(source, options)
38
+ underscore_context.eval("#{template_func}.source")
39
+ end
40
+
41
+ # Safely duplicates the source file and converts it to
42
+ # a call to UnderscoreJS' template function
43
+ #
44
+ # UnderscoreTemplate.compile("Hello <%= name %>")
45
+ # # => "_.template('Hello <%= name %>')"
46
+ def precompile(source, options = {})
37
47
  source = ::Haml::Engine.new(source.dup).render
38
48
  js_escape!(source)
39
49
  "_.template(\"#{source}\")"
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: haml-underscore-template
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
5
- prerelease:
4
+ version: '0.2'
6
5
  platform: ruby
7
6
  authors:
8
7
  - Christopher Rueber
@@ -10,70 +9,62 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-05-30 00:00:00.000000000 Z
12
+ date: 2014-05-06 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: sprockets
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
- - - ~>
18
+ - - ">="
21
19
  - !ruby/object:Gem::Version
22
- version: 2.2.0
20
+ version: 2.1.3
23
21
  type: :runtime
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
- - - ~>
25
+ - - ">="
29
26
  - !ruby/object:Gem::Version
30
- version: 2.2.0
27
+ version: 2.1.3
31
28
  - !ruby/object:Gem::Dependency
32
29
  name: haml
33
30
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
31
  requirements:
36
- - - ! '>='
32
+ - - ">="
37
33
  - !ruby/object:Gem::Version
38
34
  version: '0'
39
35
  type: :runtime
40
36
  prerelease: false
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
- - - ! '>='
39
+ - - ">="
45
40
  - !ruby/object:Gem::Version
46
41
  version: '0'
47
42
  - !ruby/object:Gem::Dependency
48
43
  name: execjs
49
44
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
45
  requirements:
52
- - - ~>
46
+ - - "~>"
53
47
  - !ruby/object:Gem::Version
54
48
  version: 1.4.0
55
49
  type: :development
56
50
  prerelease: false
57
51
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
52
  requirements:
60
- - - ~>
53
+ - - "~>"
61
54
  - !ruby/object:Gem::Version
62
55
  version: 1.4.0
63
56
  - !ruby/object:Gem::Dependency
64
57
  name: json
65
58
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
59
  requirements:
68
- - - ~>
60
+ - - "~>"
69
61
  - !ruby/object:Gem::Version
70
62
  version: 1.7.7
71
63
  type: :development
72
64
  prerelease: false
73
65
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
66
  requirements:
76
- - - ~>
67
+ - - "~>"
77
68
  - !ruby/object:Gem::Version
78
69
  version: 1.7.7
79
70
  description: Compile and evaluate underscore templates from Ruby.
@@ -83,34 +74,33 @@ executables: []
83
74
  extensions: []
84
75
  extra_rdoc_files: []
85
76
  files:
86
- - README.md
87
77
  - LICENSE
78
+ - README.md
79
+ - lib/underscore-template.rb
88
80
  - lib/underscore-template/engine.rb
89
81
  - lib/underscore-template/sprockets.rb
90
82
  - lib/underscore-template/template.rb
91
- - lib/underscore-template.rb
92
83
  homepage: https://github.com/crueber/haml-underscore-template/
93
84
  licenses: []
85
+ metadata: {}
94
86
  post_install_message:
95
87
  rdoc_options: []
96
88
  require_paths:
97
89
  - lib
98
90
  required_ruby_version: !ruby/object:Gem::Requirement
99
- none: false
100
91
  requirements:
101
- - - ! '>='
92
+ - - ">="
102
93
  - !ruby/object:Gem::Version
103
94
  version: '0'
104
95
  required_rubygems_version: !ruby/object:Gem::Requirement
105
- none: false
106
96
  requirements:
107
- - - ! '>='
97
+ - - ">="
108
98
  - !ruby/object:Gem::Version
109
99
  version: '0'
110
100
  requirements: []
111
101
  rubyforge_project:
112
- rubygems_version: 1.8.25
102
+ rubygems_version: 2.2.2
113
103
  signing_key:
114
- specification_version: 3
104
+ specification_version: 4
115
105
  summary: Haml+Underscore Template compiler
116
106
  test_files: []