html-tag 1.1.0 → 1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d7030cc9de11a7bd5172e81e687059c13b402c425b884b2712a0f75128ae21c0
4
- data.tar.gz: '085a7ec6e169b51bae3255471e0c98213fc29fbc9bed605995d1fc3ce1ff676c'
3
+ metadata.gz: 9ba38f960d59ed54a47b5d55bc646cab39b6e93c87808e93461d1608899ae256
4
+ data.tar.gz: ff09c472468abec600b5a4a59dd36949d126f6f98eb86928795e63c5bf0eb6cc
5
5
  SHA512:
6
- metadata.gz: 22a1470ec594bdeb3fdab6d80f42e281d1b074d97afd8a52f0f4c7fde28a89c1f4f6946bf416209d841d458b0b8a918ca852d9f01df77e1a3de15a5351e546cb
7
- data.tar.gz: f98f366e0aba2d17c760c7e433e55a7563deccc4d2803476b475cb53ed95fad2f6081d3d49f829a2b47345c7823c1049d61b647dadf4db14b39ac592f3b5cace
6
+ metadata.gz: 86f6b42c9a0166e266ef719a68c80dc67474a816c51e3ae15f17f870ba3c52429a13eb8623c40a926a9183ef6b970adb1fb99588a467553b24848555f281d037
7
+ data.tar.gz: 350e52e105ceafd9d0e737af1bac20b53c7b0305324dc4d070bb5d586b24b3cbaa446d5c3aa7833d49dc16b7e2dbf212cb2ae0af3cd81dbac25b815c1f913962
data/.version CHANGED
@@ -1 +1 @@
1
- 1.1.0
1
+ 1.2.0
@@ -8,26 +8,42 @@ module HtmlTagBuilderHelper
8
8
  end
9
9
  end
10
10
 
11
- # Rails
11
+ # add to Rails, Sinatra or all other that respond to ApplicationHelper
12
12
  if defined?(ActionView::Base)
13
- ActionView::Base.send :include, HtmlTagBuilderHelper
14
-
15
- # Sinatra
13
+ class ActionView::Base
14
+ def tag *args, &block
15
+ args.first ? HtmlTagBuilder.tag(*args, &block) : HtmlTagBuilder
16
+ end
17
+ end
16
18
  elsif defined?(Sinatra::Base)
17
19
  class Sinatra::Base
18
- include HtmlTagBuilderHelper
19
- alias :tag :xtag
20
+ def tag *args, &block
21
+ args.first ? HtmlTagBuilder.tag(*args, &block) : HtmlTagBuilder
22
+ end
20
23
  end
21
-
22
- # Lux and other
23
24
  elsif defined?(ApplicationHelper)
24
- # all other frameworks, including Lux
25
25
  module ApplicationHelper
26
- include HtmlTagBuilderHelper
27
- alias :tag :xtag
26
+ def tag *args, &block
27
+ args.first ? HtmlTagBuilder.tag(*args, &block) : HtmlTagBuilder
28
+ end
28
29
  end
29
-
30
30
  end
31
31
 
32
+ # Hash
33
+ unless {}.respond_to?(:tag)
34
+ class Hash
35
+ def tag node_name=nil, inner_html=nil
36
+ HtmlTagBuilder.build self, node_name, inner_html
37
+ end
38
+ end
39
+ end
32
40
 
41
+ # String
42
+ unless ''.respond_to?(:tag)
43
+ class String
44
+ def tag node_name, opts={}
45
+ HtmlTagBuilder.build opts, node_name, self
46
+ end
47
+ end
48
+ end
33
49
 
data/lib/html-tag/base.rb CHANGED
@@ -40,11 +40,11 @@ class HtmlTagBuilder
40
40
  data, opts = opts, {} unless opts.class == Hash
41
41
 
42
42
  if block_given?
43
- inline = new
44
- data = yield(inline, opts)
43
+ stack = new
44
+ data = yield(stack, opts)
45
45
 
46
46
  # if data is pushed to passed node, use that data
47
- data = inline.data if inline.data.first
47
+ data = stack.data if stack.data.first
48
48
  end
49
49
 
50
50
  data = data.join('') if data.is_a?(Array)
@@ -69,8 +69,8 @@ class HtmlTagBuilder
69
69
 
70
70
  return opts unless node
71
71
 
72
- text = yield opts if block_given?
73
- text ||= '' unless ['input', 'img', 'meta', 'link', 'hr', 'br'].include?(node.to_s)
72
+ empty_tags = ['input', 'img', 'meta', 'link', 'hr', 'br', 'col', 'frame', 'area']
73
+ text ||= '' unless empty_tags.include?(node.to_s)
74
74
  out = text ? %{<#{node}#{opts}>#{text}</#{node}>} : %{<#{node}#{opts} />}
75
75
  out.respond_to?(:html_safe) ? out.html_safe : out
76
76
  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: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dino Reic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-26 00:00:00.000000000 Z
11
+ date: 2020-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fast_blank