Class: LcpRuby::Display::Renderers::InternalLink
- Inherits:
-
BaseRenderer
- Object
- BaseRenderer
- LcpRuby::Display::Renderers::InternalLink
- Defined in:
- lib/lcp_ruby/display/renderers/internal_link.rb
Constant Summary collapse
- SAFE_HREF_PATTERN =
%r{\A(/|https?://)}i
Instance Method Summary collapse
Instance Method Details
#link_producing? ⇒ Boolean
17 18 19 |
# File 'lib/lcp_ruby/display/renderers/internal_link.rb', line 17 def link_producing? true end |
#render(value, options = {}, record: nil, view_context: nil) ⇒ Object
7 8 9 10 11 12 13 14 15 |
# File 'lib/lcp_ruby/display/renderers/internal_link.rb', line 7 def render(value, = {}, record: nil, view_context: nil) return nil if value.blank? href = value.to_s return view_context.content_tag(:span, href, class: "lcp-internal-link") unless href.match?(SAFE_HREF_PATTERN) label = ["label"] || href view_context.content_tag(:a, label, href: href, class: "lcp-internal-link") end |