action_view-use 0.1.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/action_view/use/helpers.rb +4 -4
- data/lib/action_view/use/symbol_renderer.rb +29 -0
- data/lib/action_view/use/version.rb +1 -1
- data/lib/action_view/use.rb +3 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9575e5d9ad7ea8c7ccd25acdff5f3d3d84169bc8e9c482a64c8e3fa9173f082f
|
4
|
+
data.tar.gz: 173d45f0e44dd0d4dfb3e032c99741c62b823fa18f9f9debbc1e082859f73ba7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 072e2d206ba6a4c63156ac1b000ec953b6805797847eed912408ef6faa676e09f7eab8e95a6069c4d6da537acfe2d9257aed5c9312478a9d22c34ec63fbabfc6
|
7
|
+
data.tar.gz: c1a6c51a28dac62b16a6c69ff5e0285537188b9c02a826df75f802b89c2ef8f5ce8223271b8e449031f16b0133ffdb38f33ad9383182ec0fae59c4284a2cc703
|
data/README.md
CHANGED
@@ -3,22 +3,22 @@
|
|
3
3
|
module ActionView
|
4
4
|
module Use
|
5
5
|
module Helpers
|
6
|
-
def use_symbol(name)
|
6
|
+
def use_symbol(name, escape: true, **opts)
|
7
7
|
used_symbol_set << name
|
8
8
|
|
9
9
|
<<~HTML.html_safe
|
10
|
-
<svg xmlns="http://www.w3.org/2000/svg">
|
10
|
+
<svg xmlns="http://www.w3.org/2000/svg" #{tag_builder.tag_options(opts, escape)}>
|
11
11
|
<use href="##{name}" />
|
12
12
|
</svg>
|
13
13
|
HTML
|
14
14
|
end
|
15
15
|
|
16
16
|
def all_used_symbols
|
17
|
-
html = +"" << '<svg xmlns="http://www.w3.org/2000/svg">'
|
17
|
+
html = +"" << '<svg xmlns="http://www.w3.org/2000/svg" display="none">'
|
18
18
|
|
19
19
|
used_symbol_set.each do |name|
|
20
20
|
html << '<symbol id="' << name << '">'
|
21
|
-
html << render(
|
21
|
+
html << SymbolRenderer.new(lookup_context).render(self, name).body
|
22
22
|
html << "</symbol>"
|
23
23
|
end
|
24
24
|
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ActionView
|
4
|
+
module Use
|
5
|
+
class SymbolRenderer < AbstractRenderer
|
6
|
+
def render(view, name)
|
7
|
+
template = find_template(name)
|
8
|
+
|
9
|
+
render_symbol_template(view, template)
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
EMPTY_LOCALS = {}.freeze
|
14
|
+
DETAILS = { formats: [:svg] }.freeze
|
15
|
+
|
16
|
+
def render_symbol_template(view, template)
|
17
|
+
content = template.render(view, EMPTY_LOCALS, add_to_stack: true) do |*name|
|
18
|
+
view._layout_for(*name)
|
19
|
+
end
|
20
|
+
|
21
|
+
build_rendered_template(content, template)
|
22
|
+
end
|
23
|
+
|
24
|
+
def find_template(path)
|
25
|
+
@lookup_context.find_template(path, ActionView::Use.prefixes, false, EMPTY_LOCALS, DETAILS)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/lib/action_view/use.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: action_view-use
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hartley McGuire
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-12-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionview
|
@@ -38,6 +38,7 @@ files:
|
|
38
38
|
- Rakefile
|
39
39
|
- lib/action_view/use.rb
|
40
40
|
- lib/action_view/use/helpers.rb
|
41
|
+
- lib/action_view/use/symbol_renderer.rb
|
41
42
|
- lib/action_view/use/version.rb
|
42
43
|
homepage: https://github.com/skipkayhil/action_view-use
|
43
44
|
licenses:
|