Repository is archived
No commit activity in last 3 years
No release in over 3 years
Gem to transform items from the content-store into payloads for GOV.UK components
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.6
~> 3.6.0
~> 10.0
~> 3.5
~> 2.3
~> 0.9.12

Runtime

 Project Readme

GOV.UK Navigation Helpers

This is a gem to share code between GOV.UK frontends.

** It should not be used anymore ***

This gem was a temporary solution to the problem of sharing code used to generate the input to components. Since the components can now be built into the govuk_publishing_components gem, it is no longer necessary.

Nomenclature

  • content item: An object returned by the content store

Technical documentation

These helpers format data from the content store for use with GOV.UK Components.

Installation

Add this line to your application's Gemfile:

gem 'govuk_navigation_helpers', '~> VERSION'

And then execute:

$ bundle

Configuration

This gem allows the configuration of:

  • an error handler class (e.g. Airbrake), that implements a notify method which takes an exception object (by default, it prints the exception to stdout when not configured);
  • a statsd client - when not configured, it does not do anything. This client should implement increment(metric) and time(metric, &block).

Usage

Get the JSON representation of a page and initialise the helper:

def some_controller_method
  content_item = Services.content_store.content_item("/register-to-vote")
  @navigation = GovukNavigationHelpers::NavigationHelper.new(content_item)
end

Render the component:

<%= render partial: 'govuk_component/breadcrumbs', locals: @navigation.breadcrumbs %>
<%= render partial: 'govuk_component/related_items', locals: @navigation.related_items %>

Running the test suite

bundle exec rake

Documentation

See RubyDoc for some limited documentation.

To run a Yard server locally to preview documentation, run:

$ bundle exec yard server --reload

Licence

MIT License