without-rails 1.2.1 → 1.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/without/rails/version.rb +1 -1
- data/vendor/assets/javascripts/without.js +56 -37
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 53e7aa0b5f38d84a04b935895212945890261c7b
|
4
|
+
data.tar.gz: 611a769e68d1463ff373e337ee6b2106226393b1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 901b22fc905abc63b0b5e4f1e8364abf08bd9ac2b489352d47b1b83e30724ce9ab44d15de2bc94f43d4c16d07877ec32bd9b310164356134ced99225be602d5c
|
7
|
+
data.tar.gz: ff63c6c55f078eee6be88a06ff14e2ffd7cca260d8824b29736fab939cad5f94f90cf96fa600f93fb4da964025c5f87297424424c1e4fbb7d1510618e3315104
|
@@ -1,21 +1,20 @@
|
|
1
1
|
//
|
2
|
-
// without.js v1.2.
|
2
|
+
// without.js v1.2.2: Yet another CoffeScript template (without `with`, coffescript and templates)
|
3
3
|
// https://github.com/ukoloff/without
|
4
4
|
//
|
5
5
|
!function(){
|
6
|
+
var emptyTags = {}
|
6
7
|
function adhocTag()
|
7
8
|
{
|
8
|
-
return
|
9
|
-
function
|
10
|
-
{
|
11
|
-
for(var i = eTags.length - 1; i >= 0; i--)
|
12
|
-
if(name == eTags[i])
|
13
|
-
return true
|
14
|
-
}
|
9
|
+
return Tag
|
10
|
+
function Tag(name, empty) { return tag(name, empty) }
|
15
11
|
function tag(name, empty)
|
16
12
|
{
|
17
|
-
if(null==empty)
|
18
|
-
|
13
|
+
if(null == empty)
|
14
|
+
{
|
15
|
+
makeScope()
|
16
|
+
empty = emptyTags[('' + name).toLowerCase()]
|
17
|
+
}
|
19
18
|
return makeTag(name, empty)
|
20
19
|
}
|
21
20
|
}
|
@@ -35,13 +34,14 @@ function coffeeScript(a)
|
|
35
34
|
{
|
36
35
|
if(1 != a.length || 'function' != typeof a[0])
|
37
36
|
throw SyntaxError('Usage: coffeescript -> code')
|
38
|
-
html += '<script><!--\n(' + a[0]
|
37
|
+
html += '<script><!--\n(' + a[0] + ')()\n//-->\n</'
|
39
38
|
html += 'script>'
|
40
39
|
}
|
41
40
|
function makeComment()
|
42
41
|
{
|
43
42
|
var level = 0
|
44
|
-
return
|
43
|
+
return Comment
|
44
|
+
function Comment() { comment(arguments) }
|
45
45
|
function comment(a)
|
46
46
|
{
|
47
47
|
html += level++ ? '<comment level="' + level + '">' : "<!-- "
|
@@ -51,7 +51,8 @@ function makeComment()
|
|
51
51
|
}
|
52
52
|
function compile()
|
53
53
|
{
|
54
|
-
return
|
54
|
+
return withOut
|
55
|
+
function withOut(fn)
|
55
56
|
{
|
56
57
|
return compile(fn)
|
57
58
|
}
|
@@ -85,7 +86,7 @@ function flatten(array)
|
|
85
86
|
var htmlEntities = {'&': '&', '<': '<', '>': '>', '"': '"'}
|
86
87
|
function h(s)
|
87
88
|
{
|
88
|
-
return
|
89
|
+
return ('' + s).replace(/[&<>"]/g, function(e) { return htmlEntities[e] })
|
89
90
|
}
|
90
91
|
function JSTs()
|
91
92
|
{
|
@@ -116,7 +117,7 @@ function JST$(a)
|
|
116
117
|
Ts[i] = renderable(v, template, i + 1)
|
117
118
|
}
|
118
119
|
template.id = id
|
119
|
-
fetchJSTs =
|
120
|
+
fetchJSTs = nop
|
120
121
|
}
|
121
122
|
}
|
122
123
|
function filterLocals(locals)
|
@@ -152,7 +153,8 @@ function $compile(fn)
|
|
152
153
|
}
|
153
154
|
function makeTag(name, empty)
|
154
155
|
{
|
155
|
-
return
|
156
|
+
return Tag
|
157
|
+
function Tag() { tag(arguments) }
|
156
158
|
function attr(k, v)
|
157
159
|
{
|
158
160
|
if(null == v || false === v) return
|
@@ -216,6 +218,9 @@ function merge()
|
|
216
218
|
}
|
217
219
|
return res
|
218
220
|
}
|
221
|
+
function nop()
|
222
|
+
{
|
223
|
+
}
|
219
224
|
function noTag(a)
|
220
225
|
{
|
221
226
|
children('object' == typeof a[0] ? shift(a) : a)
|
@@ -269,7 +274,7 @@ function renderable(fn, template, n)
|
|
269
274
|
var name = template.id
|
270
275
|
if(null == name)
|
271
276
|
name = ''
|
272
|
-
name =
|
277
|
+
name = ('' + name).split(/\W+/).join('/').replace(/^\/+|\/+$/g, '')
|
273
278
|
if(!name.length)
|
274
279
|
name = ++names
|
275
280
|
template.id = name
|
@@ -279,7 +284,7 @@ function renderable(fn, template, n)
|
|
279
284
|
}
|
280
285
|
function build()
|
281
286
|
{
|
282
|
-
var name, code = fn
|
287
|
+
var name, code = '' + fn
|
283
288
|
minified = !/[\r\n]/.test(code)
|
284
289
|
makeScope()
|
285
290
|
var myScope = merge(scope, filterLocals(withOut.$), filterLocals(template.$))
|
@@ -287,7 +292,7 @@ function renderable(fn, template, n)
|
|
287
292
|
if(!minified)
|
288
293
|
code += '\n//# sourceURL=eval://withOut/' + (name = getName()) + '.wo'
|
289
294
|
fn = (new Function(code)).call(myScope)
|
290
|
-
build =
|
295
|
+
build = nop
|
291
296
|
if(minified)
|
292
297
|
return
|
293
298
|
fn.displayName = '<' + name + '>'
|
@@ -307,42 +312,56 @@ function renderable(fn, template, n)
|
|
307
312
|
var scope
|
308
313
|
function makeScope()
|
309
314
|
{
|
310
|
-
makeScope =
|
315
|
+
makeScope = nop
|
311
316
|
scope = {
|
312
317
|
print: text,
|
313
318
|
text: text,
|
314
319
|
raw: function() { raw(arguments) },
|
315
320
|
notag: function() { noTag(arguments) },
|
316
321
|
coffeescript: function() { coffeeScript(arguments) },
|
317
|
-
blackhole:
|
322
|
+
blackhole: nop,
|
318
323
|
comment: makeComment(),
|
319
324
|
tag: adhocTag(),
|
320
325
|
$var: makeTag('var')
|
321
326
|
}
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
scope[
|
327
|
+
var tag, tags
|
328
|
+
split(nTags)
|
329
|
+
while(tag = tags.pop())
|
330
|
+
scope[tag] = makeTag(tag)
|
331
|
+
split(eTags)
|
332
|
+
while(tag = tags.pop())
|
333
|
+
{
|
334
|
+
scope[tag] = makeTag(tag, 1)
|
335
|
+
emptyTags[tag] = 1
|
336
|
+
}
|
337
|
+
function split(fn)
|
338
|
+
{
|
339
|
+
tags = fn().split(' ')
|
340
|
+
}
|
326
341
|
}
|
327
342
|
var slice = [].slice
|
328
343
|
function shift(a)
|
329
344
|
{
|
330
345
|
return slice.call(a, 1)
|
331
346
|
}
|
332
|
-
function
|
347
|
+
function nTags()
|
348
|
+
{
|
349
|
+
nTags = nop
|
350
|
+
var s = 'a abbr acronym address applet article aside audio '
|
351
|
+
s += 'b bdo big blockquote body button canvas caption center cite code colgroup command '
|
352
|
+
s += 'datalist dd del details dfn dir div dl dt em embed '
|
353
|
+
s += 'fieldset figcaption figure font footer form frameset '
|
354
|
+
s += 'h1 h2 h3 h4 h5 h6 head header hgroup html i iframe ins keygen kbd '
|
355
|
+
s += 'label legend li map mark menu meter nav noframes noscript '
|
356
|
+
s += 'object ol optgroup option output p pre progress q rp rt ruby '
|
357
|
+
s += 's samp script section select small source span strike strong style sub summary sup '
|
358
|
+
return s + 'table tbody td textarea tfoot th thead time title tr tt u ul video wbr xmp'
|
359
|
+
}
|
360
|
+
function eTags()
|
333
361
|
{
|
334
|
-
|
362
|
+
eTags = nop
|
363
|
+
return 'area base basefont br col frame hr img input link meta param'
|
335
364
|
}
|
336
|
-
var nTags = split('a abbr acronym address applet article aside audio ' +
|
337
|
-
'b bdo big blockquote body button canvas caption center cite code colgroup command ' +
|
338
|
-
'datalist dd del details dfn dir div dl dt em embed ' +
|
339
|
-
'fieldset figcaption figure font footer form frameset ' +
|
340
|
-
'h1 h2 h3 h4 h5 h6 head header hgroup html i iframe ins keygen kbd ' +
|
341
|
-
'label legend li map mark menu meter nav noframes noscript ' +
|
342
|
-
'object ol optgroup option output p pre progress q rp rt ruby ' +
|
343
|
-
's samp script section select small source span strike strong style sub summary sup ' +
|
344
|
-
'table tbody td textarea tfoot th thead time title tr tt u ul video wbr xmp')
|
345
|
-
var eTags = split('area base basefont br col frame hr img input link meta param')
|
346
365
|
function text()
|
347
366
|
{
|
348
367
|
print(arguments)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: without-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stas Ukolov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-01-
|
11
|
+
date: 2017-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|