html-tag 3.0.3 → 3.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.version +1 -1
- data/lib/html-tag/globals.rb +23 -13
- data/lib/html-tag/inbound.rb +12 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dbe612eb55803c0518ef0c59757a6fedeac1ec3e5859fb20f712ab578287483e
|
4
|
+
data.tar.gz: 1926ecbaa5fa256e935d7f56f40d74009b853f22cf31d977f9be65ed46c458d2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9d7a187837aadba38e7672e04a9a8b11cdd1e376099ba24ce9dec2502dcee7b7b33e0213d13416e3a4e08dba17a04b6e34a821e26903ca377d32817f9fb5aa71
|
7
|
+
data.tar.gz: 7b66aaf48524a02d1ff082a38009c72da9093c8681786af272dba6f84b7d1da5e9bdce30b44401fd6ddfff7c565f05fa246c5cf1bc4276421b148bc90b2f0d0e
|
data/.version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.0.
|
1
|
+
3.0.5
|
data/lib/html-tag/globals.rb
CHANGED
@@ -32,20 +32,30 @@ module HtmlTag
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def HtmlTag *args, &block
|
35
|
-
args[0]
|
35
|
+
if [Class, Module].include?(args[0].class)
|
36
|
+
# imports tag method without poluting ancesstors namespace
|
37
|
+
# class SomeClass
|
38
|
+
# HtmlTag self
|
39
|
+
args[0].define_method :tag do |*tag_args, &tag_block|
|
40
|
+
HtmlTag *tag_args, &tag_block
|
41
|
+
end
|
42
|
+
else
|
43
|
+
# HtmlTag do ...
|
44
|
+
args[0] ||= :div
|
36
45
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
46
|
+
if args[0].class == Hash
|
47
|
+
args[1] = args[0]
|
48
|
+
args[0] = :div
|
49
|
+
end
|
41
50
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
51
|
+
if block
|
52
|
+
# HtmlTag(:ul) { li ... }
|
53
|
+
out = HtmlTag::Inbound.new self
|
54
|
+
out.send(*args, &block)
|
55
|
+
out.render
|
56
|
+
else
|
57
|
+
# HtmlTag._foo 123
|
58
|
+
HtmlTag::Proxy.new self
|
59
|
+
end
|
50
60
|
end
|
51
61
|
end
|
data/lib/html-tag/inbound.rb
CHANGED
@@ -83,7 +83,7 @@ module HtmlTag
|
|
83
83
|
|
84
84
|
if value.class == Hash
|
85
85
|
for el in value
|
86
|
-
t.push
|
86
|
+
t.push '%s-%s=%s' % [key, el[0], _escape_param(el[1])]
|
87
87
|
end
|
88
88
|
else
|
89
89
|
if value.class == Array
|
@@ -92,7 +92,7 @@ module HtmlTag
|
|
92
92
|
|
93
93
|
key = key.to_s.sub(/^data_/, 'data-')
|
94
94
|
|
95
|
-
t.push
|
95
|
+
t.push '%s=%s' % [key, _escape_param(value)]
|
96
96
|
end
|
97
97
|
t
|
98
98
|
end.join(' ')
|
@@ -206,7 +206,16 @@ module HtmlTag
|
|
206
206
|
end
|
207
207
|
|
208
208
|
def _escape_param el
|
209
|
-
el.to_s
|
209
|
+
data = el.to_s
|
210
|
+
|
211
|
+
if data.include?('"')
|
212
|
+
# if we dump json export to a tag attribute, there will be a lot of qutes
|
213
|
+
# it is much more readable to use quot(') insted of quote (") in this case
|
214
|
+
"'%s'" % data.gsub(/'/, ''')
|
215
|
+
else
|
216
|
+
# regualr node
|
217
|
+
'"%s"' % data
|
218
|
+
end
|
210
219
|
end
|
211
220
|
end
|
212
221
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: html-tag
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dino Reic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-08-01 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Fast and powerful tag builder, upgrade to Rails tag helper, framework
|
14
14
|
agnostic.
|