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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 371d71aa213375cfe4bbdcddc096f98b456c394e566d7c848479ae515f5848ea
4
- data.tar.gz: 7dc7321d44062b12aa20beb91595f215af56d088493486b92c81b68e2b27c764
3
+ metadata.gz: dbe612eb55803c0518ef0c59757a6fedeac1ec3e5859fb20f712ab578287483e
4
+ data.tar.gz: 1926ecbaa5fa256e935d7f56f40d74009b853f22cf31d977f9be65ed46c458d2
5
5
  SHA512:
6
- metadata.gz: 81e54a74195a0b92fbd04753b05990c4f0f88db1dc7c229cb44a4f967c69b2f111011b206cb1f841be21e2993f26e5af3e7592050fa9883a9d87ff132f86dac9
7
- data.tar.gz: 177f240dfd9524e1adacac728f469648b4610ab8bb87daff2862d1e11d3121110caf59d5725416e40a7780bad4ed1d9b34d0265dab6431526c9d9b3341b020e4
6
+ metadata.gz: 9d7a187837aadba38e7672e04a9a8b11cdd1e376099ba24ce9dec2502dcee7b7b33e0213d13416e3a4e08dba17a04b6e34a821e26903ca377d32817f9fb5aa71
7
+ data.tar.gz: 7b66aaf48524a02d1ff082a38009c72da9093c8681786af272dba6f84b7d1da5e9bdce30b44401fd6ddfff7c565f05fa246c5cf1bc4276421b148bc90b2f0d0e
data/.version CHANGED
@@ -1 +1 @@
1
- 3.0.3
1
+ 3.0.5
@@ -32,20 +32,30 @@ module HtmlTag
32
32
  end
33
33
 
34
34
  def HtmlTag *args, &block
35
- args[0] ||= :div
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
- if args[0].class == Hash
38
- args[1] = args[0]
39
- args[0] = :div
40
- end
46
+ if args[0].class == Hash
47
+ args[1] = args[0]
48
+ args[0] = :div
49
+ end
41
50
 
42
- if block
43
- # HtmlTag(:ul) { li ... }
44
- out = HtmlTag::Inbound.new self
45
- out.send(*args, &block)
46
- out.render
47
- else
48
- # HtmlTag._foo 123
49
- HtmlTag::Proxy.new self
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
@@ -83,7 +83,7 @@ module HtmlTag
83
83
 
84
84
  if value.class == Hash
85
85
  for el in value
86
- t.push "%s-%s='%s'" % [key, el[0], _escape_param(el[1])]
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 "%s='%s'" % [key, _escape_param(value)]
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.gsub(/'/, ''')
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.3
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-07-30 00:00:00.000000000 Z
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.