hiccdown 0.2.1 → 0.2.3

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/hiccdown.rb +27 -1
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 27f38502853e4855a55759e9262affb31e870a5a1a8bdce609a6c6c897db4a1e
4
- data.tar.gz: f77dbf560b4722a95c5833444515147236cb2101b8c0c1ed3a4317e389114b5d
3
+ metadata.gz: 01eb0e170237ed8ca5ead1ef15cecae69d39b71ff73fef7b3053b294aa5f9e04
4
+ data.tar.gz: a2745e81cdb29ebfb4b930de41ffe39b7ea99dcb008c5118cd46cef53fe0b8b5
5
5
  SHA512:
6
- metadata.gz: 4ddf9c8c683600b0a696303ab0c17ad8a75261753519dac7e9b6ccd44bef8e4cec753847c71ac631dec9860473f6959db1e694cb72498212026e2d83ca9b41f3
7
- data.tar.gz: f8ea25868e77849f2f27e2b2f300994773a2c08e379afbd9f23256069c7bb65bff072ca431a12272028313b9a33f574f5223d2c1745611f782296511ce2e10ce
6
+ metadata.gz: 7138628b1c54399947ca75639247fc19223d59a9bb9601f0beccb2b560db95b3a69f425739f604d0ebf782604e47ec36a7b45bdf4abee0020bd1ea742f85ab3b
7
+ data.tar.gz: 0d46cffa7cfb328f12e6646185a99cd1de26436693239217bb9a9578f698ee19203e224104c6d8dcb0e26065f7a3ce902165e9f7c5b5f09a0ecb9bf1e22aaab9
data/lib/hiccdown.rb CHANGED
@@ -1,6 +1,32 @@
1
1
  require 'cgi'
2
+ require 'active_support/core_ext/string/output_safety'
3
+ require 'action_view'
2
4
 
3
5
  module Hiccdown
6
+ module ViewHelpers
7
+ def self.included(base)
8
+ base.prepend(MethodOverrides)
9
+ end
10
+
11
+ module MethodOverrides
12
+ def self.prepended(base)
13
+ # button_to and link_to use content_tag internally so need no explicit mention.
14
+ [:content_tag].each do |method_name|
15
+ define_method(method_name) do |*args, &block|
16
+ if block
17
+ super(*args) do |*brgs|
18
+ result = block.call(*brgs)
19
+ result.is_a?(Array) ? Hiccdown::to_html(result).html_safe : result
20
+ end
21
+ else
22
+ super(*args)
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+
4
30
  def self.standalone_tags
5
31
  Set.new([:area, :base, :br, :col, :command, :embed, :hr, :img, :input, :keygen, :link, :menuitem, :meta, :param, :source, :track, :wbr])
6
32
  end
@@ -33,7 +59,7 @@ module Hiccdown
33
59
  end
34
60
 
35
61
  def self.maybe_escape escapable, escape
36
- if escape
62
+ if escape && !escapable.html_safe?
37
63
  CGI::escapeHTML(escapable)
38
64
  else
39
65
  escapable
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hiccdown
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dennis Hackethal
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-21 00:00:00.000000000 Z
11
+ date: 2024-07-22 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Generates an HTML string from a Hiccup structure and improves Rails views.
14
14
  email: engineering@dennishackethal.com