handlebars_assets 0.8.1 → 0.23.9
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 +7 -0
- data/.gitignore +2 -0
- data/.ruby-gemset +1 -0
- data/Appraisals +15 -0
- data/CHANGELOG.md +159 -1
- data/README.md +182 -72
- data/Rakefile +5 -1
- data/gemfiles/rails_4_1.gemfile +8 -0
- data/gemfiles/rails_4_2.gemfile +8 -0
- data/gemfiles/rails_5.gemfile +8 -0
- data/gemfiles/sprockets_2.gemfile +7 -0
- data/gemfiles/sprockets_3.gemfile +7 -0
- data/gemfiles/tilt_1.gemfile +7 -0
- data/gemfiles/tilt_2.gemfile +7 -0
- data/handlebars_assets.gemspec +14 -7
- data/lib/handlebars_assets/config.rb +92 -4
- data/lib/handlebars_assets/engine.rb +8 -5
- data/lib/handlebars_assets/handlebars.rb +27 -3
- data/lib/handlebars_assets/handlebars_template.rb +267 -0
- data/lib/handlebars_assets/version.rb +1 -1
- data/lib/handlebars_assets.rb +48 -11
- data/test/edge/handlebars.js +3 -1913
- data/test/handlebars_assets/compiling_test.rb +30 -0
- data/test/handlebars_assets/hamlbars_test.rb +3 -3
- data/test/handlebars_assets/handlebars_processor_test.rb +17 -0
- data/test/handlebars_assets/shared/adapter_tests.rb +199 -0
- data/test/handlebars_assets/slimbars_test.rb +28 -0
- data/test/handlebars_assets/tilt_handlebars_test.rb +6 -132
- data/test/patch/patch.js +10 -0
- data/test/test_helper.rb +18 -14
- data/vendor/assets/javascripts/handlebars.js +5189 -1918
- data/vendor/assets/javascripts/handlebars.runtime.js +1779 -235
- metadata +101 -55
- data/.rvmrc +0 -1
- data/Gemfile.lock +0 -32
- data/lib/handlebars_assets/tilt_handlebars.rb +0 -105
- data/test/handlebars_assets/tilt_edge_test.rb +0 -26
metadata
CHANGED
@@ -1,152 +1,198 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: handlebars_assets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.23.9
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Les Hill
|
9
|
-
autorequire:
|
8
|
+
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2021-03-18 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: execjs
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
16
|
requirements:
|
18
|
-
- -
|
17
|
+
- - "~>"
|
19
18
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
21
|
-
none: false
|
22
|
-
prerelease: false
|
19
|
+
version: '2.0'
|
23
20
|
type: :runtime
|
21
|
+
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
23
|
requirements:
|
26
|
-
- -
|
24
|
+
- - "~>"
|
27
25
|
- !ruby/object:Gem::Version
|
28
|
-
version:
|
29
|
-
none: false
|
26
|
+
version: '2.0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: tilt
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
30
|
requirements:
|
34
|
-
- -
|
31
|
+
- - ">="
|
35
32
|
- !ruby/object:Gem::Version
|
36
|
-
version: '
|
37
|
-
none: false
|
38
|
-
prerelease: false
|
33
|
+
version: '1.2'
|
39
34
|
type: :runtime
|
35
|
+
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
37
|
requirements:
|
42
|
-
- -
|
38
|
+
- - ">="
|
43
39
|
- !ruby/object:Gem::Version
|
44
|
-
version: '
|
45
|
-
none: false
|
40
|
+
version: '1.2'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: sprockets
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
44
|
requirements:
|
50
|
-
- -
|
45
|
+
- - ">="
|
51
46
|
- !ruby/object:Gem::Version
|
52
|
-
version: 2.0.
|
53
|
-
none: false
|
54
|
-
prerelease: false
|
47
|
+
version: 2.0.0
|
55
48
|
type: :runtime
|
49
|
+
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
51
|
requirements:
|
58
|
-
- -
|
52
|
+
- - ">="
|
59
53
|
- !ruby/object:Gem::Version
|
60
|
-
version: 2.0.
|
61
|
-
|
54
|
+
version: 2.0.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: minitest
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '5.5'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '5.5'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: haml
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '4.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '4.0'
|
62
83
|
- !ruby/object:Gem::Dependency
|
63
84
|
name: rake
|
64
85
|
requirement: !ruby/object:Gem::Requirement
|
65
86
|
requirements:
|
66
|
-
- -
|
87
|
+
- - "~>"
|
67
88
|
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
|
89
|
+
version: '10.0'
|
90
|
+
type: :development
|
70
91
|
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '10.0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: slim
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '3.0'
|
71
104
|
type: :development
|
105
|
+
prerelease: false
|
72
106
|
version_requirements: !ruby/object:Gem::Requirement
|
73
107
|
requirements:
|
74
|
-
- -
|
108
|
+
- - "~>"
|
75
109
|
- !ruby/object:Gem::Version
|
76
|
-
version: '0'
|
77
|
-
none: false
|
110
|
+
version: '3.0'
|
78
111
|
- !ruby/object:Gem::Dependency
|
79
|
-
name:
|
112
|
+
name: appraisal
|
80
113
|
requirement: !ruby/object:Gem::Requirement
|
81
114
|
requirements:
|
82
|
-
- -
|
115
|
+
- - ">="
|
83
116
|
- !ruby/object:Gem::Version
|
84
117
|
version: '0'
|
85
|
-
none: false
|
86
|
-
prerelease: false
|
87
118
|
type: :development
|
119
|
+
prerelease: false
|
88
120
|
version_requirements: !ruby/object:Gem::Requirement
|
89
121
|
requirements:
|
90
|
-
- -
|
122
|
+
- - ">="
|
91
123
|
- !ruby/object:Gem::Version
|
92
124
|
version: '0'
|
93
|
-
|
94
|
-
description: Compile Handlebars templates in the Rails asset pipeline.
|
125
|
+
description: A Railties Gem to compile hbs assets
|
95
126
|
email:
|
96
127
|
- leshill@gmail.com
|
97
128
|
executables: []
|
98
129
|
extensions: []
|
99
130
|
extra_rdoc_files: []
|
100
131
|
files:
|
101
|
-
- .gitignore
|
102
|
-
- .
|
132
|
+
- ".gitignore"
|
133
|
+
- ".ruby-gemset"
|
134
|
+
- Appraisals
|
103
135
|
- CHANGELOG.md
|
104
136
|
- Gemfile
|
105
|
-
- Gemfile.lock
|
106
137
|
- MIT-LICENSE
|
107
138
|
- README.md
|
108
139
|
- Rakefile
|
140
|
+
- gemfiles/rails_4_1.gemfile
|
141
|
+
- gemfiles/rails_4_2.gemfile
|
142
|
+
- gemfiles/rails_5.gemfile
|
143
|
+
- gemfiles/sprockets_2.gemfile
|
144
|
+
- gemfiles/sprockets_3.gemfile
|
145
|
+
- gemfiles/tilt_1.gemfile
|
146
|
+
- gemfiles/tilt_2.gemfile
|
109
147
|
- handlebars_assets.gemspec
|
110
148
|
- lib/handlebars_assets.rb
|
111
149
|
- lib/handlebars_assets/config.rb
|
112
150
|
- lib/handlebars_assets/engine.rb
|
113
151
|
- lib/handlebars_assets/handlebars.rb
|
114
|
-
- lib/handlebars_assets/
|
152
|
+
- lib/handlebars_assets/handlebars_template.rb
|
115
153
|
- lib/handlebars_assets/version.rb
|
116
154
|
- test/edge/handlebars.js
|
155
|
+
- test/handlebars_assets/compiling_test.rb
|
117
156
|
- test/handlebars_assets/hamlbars_test.rb
|
118
|
-
- test/handlebars_assets/
|
157
|
+
- test/handlebars_assets/handlebars_processor_test.rb
|
158
|
+
- test/handlebars_assets/shared/adapter_tests.rb
|
159
|
+
- test/handlebars_assets/slimbars_test.rb
|
119
160
|
- test/handlebars_assets/tilt_handlebars_test.rb
|
161
|
+
- test/patch/patch.js
|
120
162
|
- test/test_helper.rb
|
121
163
|
- vendor/assets/javascripts/handlebars.js
|
122
164
|
- vendor/assets/javascripts/handlebars.runtime.js
|
123
|
-
homepage:
|
124
|
-
licenses:
|
125
|
-
|
165
|
+
homepage: https://github.com/leshill/handlebars_assets
|
166
|
+
licenses:
|
167
|
+
- MIT
|
168
|
+
metadata: {}
|
169
|
+
post_install_message: Remember to rake assets:clean or rake assets:purge on update!
|
170
|
+
this is required because of handlebars updates
|
126
171
|
rdoc_options: []
|
127
172
|
require_paths:
|
128
173
|
- lib
|
129
174
|
required_ruby_version: !ruby/object:Gem::Requirement
|
130
175
|
requirements:
|
131
|
-
- -
|
176
|
+
- - ">="
|
132
177
|
- !ruby/object:Gem::Version
|
133
178
|
version: '0'
|
134
|
-
none: false
|
135
179
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
136
180
|
requirements:
|
137
|
-
- -
|
181
|
+
- - ">="
|
138
182
|
- !ruby/object:Gem::Version
|
139
183
|
version: '0'
|
140
|
-
none: false
|
141
184
|
requirements: []
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
specification_version: 3
|
185
|
+
rubygems_version: 3.1.4
|
186
|
+
signing_key:
|
187
|
+
specification_version: 4
|
146
188
|
summary: Compile Handlebars templates in the Rails asset pipeline.
|
147
189
|
test_files:
|
148
190
|
- test/edge/handlebars.js
|
191
|
+
- test/handlebars_assets/compiling_test.rb
|
149
192
|
- test/handlebars_assets/hamlbars_test.rb
|
150
|
-
- test/handlebars_assets/
|
193
|
+
- test/handlebars_assets/handlebars_processor_test.rb
|
194
|
+
- test/handlebars_assets/shared/adapter_tests.rb
|
195
|
+
- test/handlebars_assets/slimbars_test.rb
|
151
196
|
- test/handlebars_assets/tilt_handlebars_test.rb
|
197
|
+
- test/patch/patch.js
|
152
198
|
- test/test_helper.rb
|
data/.rvmrc
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
rvm use @handlebars_assets
|
data/Gemfile.lock
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
handlebars_assets (0.8.1)
|
5
|
-
execjs (>= 1.2.9)
|
6
|
-
sprockets (>= 2.0.3)
|
7
|
-
tilt
|
8
|
-
|
9
|
-
GEM
|
10
|
-
remote: http://rubygems.org/
|
11
|
-
specs:
|
12
|
-
execjs (1.4.0)
|
13
|
-
multi_json (~> 1.0)
|
14
|
-
haml (3.1.7)
|
15
|
-
hike (1.2.1)
|
16
|
-
multi_json (1.4.0)
|
17
|
-
rack (1.4.1)
|
18
|
-
rake (10.0.3)
|
19
|
-
sprockets (2.8.1)
|
20
|
-
hike (~> 1.2)
|
21
|
-
multi_json (~> 1.0)
|
22
|
-
rack (~> 1.0)
|
23
|
-
tilt (~> 1.1, != 1.3.0)
|
24
|
-
tilt (1.3.3)
|
25
|
-
|
26
|
-
PLATFORMS
|
27
|
-
ruby
|
28
|
-
|
29
|
-
DEPENDENCIES
|
30
|
-
haml
|
31
|
-
handlebars_assets!
|
32
|
-
rake
|
@@ -1,105 +0,0 @@
|
|
1
|
-
require 'tilt'
|
2
|
-
|
3
|
-
module HandlebarsAssets
|
4
|
-
module Unindent
|
5
|
-
# http://bit.ly/aze9FV
|
6
|
-
# Strip leading whitespace from each line that is the same as the
|
7
|
-
# amount of whitespace on the first line of the string.
|
8
|
-
# Leaves _additional_ indentation on later lines intact.
|
9
|
-
def unindent(heredoc)
|
10
|
-
heredoc.gsub /^#{heredoc[/\A\s*/]}/, ''
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
class TiltHandlebars < Tilt::Template
|
15
|
-
|
16
|
-
include Unindent
|
17
|
-
|
18
|
-
def self.default_mime_type
|
19
|
-
'application/javascript'
|
20
|
-
end
|
21
|
-
|
22
|
-
def evaluate(scope, locals, &block)
|
23
|
-
template_path = TemplatePath.new(scope)
|
24
|
-
|
25
|
-
source = if template_path.is_haml?
|
26
|
-
Haml::Engine.new(data, HandlebarsAssets::Config.haml_options).render
|
27
|
-
else
|
28
|
-
data
|
29
|
-
end
|
30
|
-
|
31
|
-
if HandlebarsAssets::Config.ember?
|
32
|
-
"window.Ember.TEMPLATES[#{template_path.name}] = Ember.Handlebars.compile(#{source.to_json});"
|
33
|
-
else
|
34
|
-
compiled_hbs = Handlebars.precompile(source, HandlebarsAssets::Config.options)
|
35
|
-
|
36
|
-
template_namespace = HandlebarsAssets::Config.template_namespace
|
37
|
-
|
38
|
-
if template_path.is_partial?
|
39
|
-
unindent <<-PARTIAL
|
40
|
-
(function() {
|
41
|
-
Handlebars.registerPartial(#{template_path.name}, Handlebars.template(#{compiled_hbs}));
|
42
|
-
}).call(this);
|
43
|
-
PARTIAL
|
44
|
-
else
|
45
|
-
unindent <<-TEMPLATE
|
46
|
-
(function() {
|
47
|
-
this.#{template_namespace} || (this.#{template_namespace} = {});
|
48
|
-
this.#{template_namespace}[#{template_path.name}] = Handlebars.template(#{compiled_hbs});
|
49
|
-
return this.#{template_namespace}[#{template_path.name}];
|
50
|
-
}).call(this);
|
51
|
-
TEMPLATE
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
def initialize_engine
|
57
|
-
require 'haml'
|
58
|
-
rescue LoadError
|
59
|
-
# haml not available
|
60
|
-
end
|
61
|
-
|
62
|
-
protected
|
63
|
-
|
64
|
-
def prepare; end
|
65
|
-
|
66
|
-
class TemplatePath
|
67
|
-
def initialize(scope)
|
68
|
-
self.full_path = scope.pathname
|
69
|
-
self.template_path = scope.logical_path
|
70
|
-
end
|
71
|
-
|
72
|
-
def is_haml?
|
73
|
-
full_path.to_s.end_with?('.hamlbars')
|
74
|
-
end
|
75
|
-
|
76
|
-
def is_partial?
|
77
|
-
template_path.gsub(%r{.*/}, '').start_with?('_')
|
78
|
-
end
|
79
|
-
|
80
|
-
def name
|
81
|
-
is_partial? ? partial_name : template_name
|
82
|
-
end
|
83
|
-
|
84
|
-
private
|
85
|
-
|
86
|
-
attr_accessor :full_path, :template_path
|
87
|
-
|
88
|
-
def forced_underscore_name
|
89
|
-
'_' + relative_path
|
90
|
-
end
|
91
|
-
|
92
|
-
def relative_path
|
93
|
-
template_path.gsub(/^#{HandlebarsAssets::Config.path_prefix}\/(.*)$/i, "\\1")
|
94
|
-
end
|
95
|
-
|
96
|
-
def partial_name
|
97
|
-
forced_underscore_name.gsub(/\//, '_').gsub(/__/, '_').dump
|
98
|
-
end
|
99
|
-
|
100
|
-
def template_name
|
101
|
-
relative_path.dump
|
102
|
-
end
|
103
|
-
end
|
104
|
-
end
|
105
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
module HandlebarsAssets
|
4
|
-
class TiltEdgeTest < Test::Unit::TestCase
|
5
|
-
include SprocketsScope
|
6
|
-
include CompilerSupport
|
7
|
-
|
8
|
-
def teardown
|
9
|
-
HandlebarsAssets::Config.reset!
|
10
|
-
HandlebarsAssets::Handlebars.reset!
|
11
|
-
end
|
12
|
-
|
13
|
-
def test_edge_compile
|
14
|
-
root = '/myapp/app/assets/templates'
|
15
|
-
file = 'test_render.hbs'
|
16
|
-
scope = make_scope root, file
|
17
|
-
source = "This is {{handlebars}}"
|
18
|
-
|
19
|
-
HandlebarsAssets::Config.compiler_path = File.expand_path '../../edge', __FILE__
|
20
|
-
|
21
|
-
template = HandlebarsAssets::TiltHandlebars.new(scope.pathname.to_s) { source }
|
22
|
-
|
23
|
-
assert_equal hbs_compiled('test_render', source), template.render(scope, {})
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|