Class: CCS::Components::GovUK::ServiceNavigation::Link
- Includes:
- ActionView::Helpers::UrlHelper
- Defined in:
- lib/ccs/components/govuk/service_navigation/link.rb
Overview
GOV.UK Service navigation link
The individual service navigation link item
Constant Summary
Constants inherited from Base
Instance Method Summary collapse
-
#initialize(text:, href: nil, method: nil, **options) ⇒ Link
constructor
A new instance of Link.
-
#render ⇒ ActiveSupport::SafeBuffer
Generates the HTML for the GOV.UK Service navigation link.
Constructor Details
#initialize(text:, href: nil, method: nil, **options) ⇒ Link
Returns a new instance of Link.
35 36 37 38 39 40 41 42 43 |
# File 'lib/ccs/components/govuk/service_navigation/link.rb', line 35 def initialize(text:, href: nil, method: nil, **) super(**) @options[:attributes][:aria] = { current: [:current] ? 'page' : 'true' } if [:active] || [:current] @text = text @href = href @method = method end |
Instance Method Details
#render ⇒ ActiveSupport::SafeBuffer
Generates the HTML for the GOV.UK Service navigation link
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/ccs/components/govuk/service_navigation/link.rb', line 51 def render tag.li(class: "govuk-service-navigation__item #{'govuk-service-navigation__item--active' if [:active] || [:current]}".rstrip) do if href if method [:attributes][:class] = 'govuk-service-navigation__button_as_link' (href, method: method, **[:attributes]) do inner_content end else [:attributes][:class] = 'govuk-service-navigation__link' link_to(inner_content, href, **[:attributes]) end else [:attributes][:class] = 'govuk-service-navigation__text' tag.span(inner_content, **[:attributes]) end end end |