html-tag 3.0.3 → 3.0.5

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 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.