templebars 0.1.1 → 0.2.0
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.
- data/README.md +4 -0
- data/lib/templebars/rails/version.rb +2 -2
- data/vendor/assets/javascripts/handlebars.js +771 -499
- data/vendor/assets/javascripts/handlebars.runtime.js +31 -13
- metadata +31 -11
@@ -1,7 +1,11 @@
|
|
1
1
|
// lib/handlebars/base.js
|
2
|
-
var Handlebars = {};
|
3
2
|
|
4
|
-
|
3
|
+
/*jshint eqnull:true*/
|
4
|
+
this.Handlebars = {};
|
5
|
+
|
6
|
+
(function(Handlebars) {
|
7
|
+
|
8
|
+
Handlebars.VERSION = "1.0.rc.1";
|
5
9
|
|
6
10
|
Handlebars.helpers = {};
|
7
11
|
Handlebars.partials = {};
|
@@ -40,25 +44,36 @@ Handlebars.registerHelper('blockHelperMissing', function(context, options) {
|
|
40
44
|
return inverse(this);
|
41
45
|
} else if(type === "[object Array]") {
|
42
46
|
if(context.length > 0) {
|
43
|
-
|
44
|
-
ret = ret + fn(context[i]);
|
45
|
-
}
|
47
|
+
return Handlebars.helpers.each(context, options);
|
46
48
|
} else {
|
47
|
-
|
49
|
+
return inverse(this);
|
48
50
|
}
|
49
|
-
return ret;
|
50
51
|
} else {
|
51
52
|
return fn(context);
|
52
53
|
}
|
53
54
|
});
|
54
55
|
|
56
|
+
Handlebars.K = function() {};
|
57
|
+
|
58
|
+
Handlebars.createFrame = Object.create || function(object) {
|
59
|
+
Handlebars.K.prototype = object;
|
60
|
+
var obj = new Handlebars.K();
|
61
|
+
Handlebars.K.prototype = null;
|
62
|
+
return obj;
|
63
|
+
};
|
64
|
+
|
55
65
|
Handlebars.registerHelper('each', function(context, options) {
|
56
66
|
var fn = options.fn, inverse = options.inverse;
|
57
|
-
var ret = "";
|
67
|
+
var ret = "", data;
|
68
|
+
|
69
|
+
if (options.data) {
|
70
|
+
data = Handlebars.createFrame(options.data);
|
71
|
+
}
|
58
72
|
|
59
73
|
if(context && context.length > 0) {
|
60
74
|
for(var i=0, j=context.length; i<j; i++) {
|
61
|
-
|
75
|
+
if (data) { data.index = i; }
|
76
|
+
ret = ret + fn(context[i], { data: data });
|
62
77
|
}
|
63
78
|
} else {
|
64
79
|
ret = inverse(this);
|
@@ -92,6 +107,8 @@ Handlebars.registerHelper('with', function(context, options) {
|
|
92
107
|
Handlebars.registerHelper('log', function(context) {
|
93
108
|
Handlebars.log(context);
|
94
109
|
});
|
110
|
+
|
111
|
+
}(this.Handlebars));
|
95
112
|
;
|
96
113
|
// lib/handlebars/utils.js
|
97
114
|
Handlebars.Exception = function(message) {
|
@@ -103,7 +120,7 @@ Handlebars.Exception = function(message) {
|
|
103
120
|
|
104
121
|
this.message = tmp.message;
|
105
122
|
};
|
106
|
-
Handlebars.Exception.prototype = new Error;
|
123
|
+
Handlebars.Exception.prototype = new Error();
|
107
124
|
|
108
125
|
// Build out our basic SafeString type
|
109
126
|
Handlebars.SafeString = function(string) {
|
@@ -115,6 +132,7 @@ Handlebars.SafeString.prototype.toString = function() {
|
|
115
132
|
|
116
133
|
(function() {
|
117
134
|
var escape = {
|
135
|
+
"&": "&",
|
118
136
|
"<": "<",
|
119
137
|
">": ">",
|
120
138
|
'"': """,
|
@@ -122,7 +140,7 @@ Handlebars.SafeString.prototype.toString = function() {
|
|
122
140
|
"`": "`"
|
123
141
|
};
|
124
142
|
|
125
|
-
var badChars =
|
143
|
+
var badChars = /[&<>"'`]/g;
|
126
144
|
var possible = /[&<>"'`]/;
|
127
145
|
|
128
146
|
var escapeChar = function(chr) {
|
@@ -204,7 +222,7 @@ Handlebars.VM = {
|
|
204
222
|
},
|
205
223
|
noop: function() { return ""; },
|
206
224
|
invokePartial: function(partial, name, context, helpers, partials, data) {
|
207
|
-
options = { helpers: helpers, partials: partials, data: data };
|
225
|
+
var options = { helpers: helpers, partials: partials, data: data };
|
208
226
|
|
209
227
|
if(partial === undefined) {
|
210
228
|
throw new Handlebars.Exception("The partial " + name + " could not be found");
|
@@ -213,7 +231,7 @@ Handlebars.VM = {
|
|
213
231
|
} else if (!Handlebars.compile) {
|
214
232
|
throw new Handlebars.Exception("The partial " + name + " could not be compiled when running in runtime-only mode");
|
215
233
|
} else {
|
216
|
-
partials[name] = Handlebars.compile(partial);
|
234
|
+
partials[name] = Handlebars.compile(partial, {data: data !== undefined});
|
217
235
|
return partials[name](context, options);
|
218
236
|
}
|
219
237
|
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: templebars
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-09-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sprockets
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: 2.0.3
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 2.0.3
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: execjs
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '0'
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: tilt
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: '0'
|
44
54
|
type: :runtime
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: rake
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,7 +69,12 @@ dependencies:
|
|
54
69
|
version: '0'
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
58
78
|
description: This gem provides Handlebars magic for your Rails 3 application.
|
59
79
|
email:
|
60
80
|
- tyson@stovepipestudios.com
|
@@ -96,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
96
116
|
version: 1.3.6
|
97
117
|
requirements: []
|
98
118
|
rubyforge_project: templebars
|
99
|
-
rubygems_version: 1.8.
|
119
|
+
rubygems_version: 1.8.23
|
100
120
|
signing_key:
|
101
121
|
specification_version: 3
|
102
122
|
summary: Use precompiled Handlebars templates with Rails 3
|