action_view-use 0.1.0 → 0.2.0
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 +3 -3
- 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: 1eed70721d9118c4a15efda2da3903275c5fe8f7fa78ba96fff62a9a4de5f53d
|
4
|
+
data.tar.gz: c801a1d411aaa984f7966e2aed3736be0136fdb1222fcf04bae426528ea39df7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b1eef64dd7abd8d24c0751ac611f7962139a8a39cac629013c4387a6b2e80d4a6f5107ca4421a53bdac2d818ce1e0f446bb47d2ba760b5fef5f3ff05034a01d
|
7
|
+
data.tar.gz: 17d61751c40ef3cd5dc609804ed503e6e24ed1defbdc55f7ea30d248d8a2aff5b67f7409e93990ff9060667b0b5bc1e31a198fb73ca0c2351323bc67f253d62c
|
data/README.md
CHANGED
@@ -3,11 +3,11 @@
|
|
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
|
@@ -18,7 +18,7 @@ module ActionView
|
|
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.
|
4
|
+
version: 0.2.0
|
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-08 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:
|