Pugin Components Rails
pugin-components-ruby is a component-based pattern design library created by the Parliamentary Digital Service that holds all of the reusable partials for elements of the UK Parliament's microservices.
NOTE: This gem is in active development and is likely to change at short notice. It is not recommended that you use this in any production environment.
Contents
- Requirements
- Installation
- Usage
- Example
- Adding the Parliamentary layout
- Including rel-alternate links
- Example
- Including rel-alternate links
- Getting Started with Development
- Running the tests
- Contributing
- License
Requirements
pugin-components-ruby requires the following:
- Ruby - click here for the exact version
- Bundler
- Rails
- HAML
Installation
Within your rails application, add the below to your Gemfile
.
gem 'pugin'
Usage
This gem's main function is to expose front-end components and assets to the host application's asset pipeline.
Once you add the gem to your Gemfile
run:
bundle install
Now all of the view components should be available within your host application.
Example
<%= render partial: 'pugin/components/status' %>
Adding the Parliamentary layout
Add the following line into the application controller within your host application
layout 'pugin/layouts/pugin'
Including rel-alternate links
When rendering using the Parliamentary layout, if you'd like to document rel-alternates like so:
<link rel="alternate" type="application/rdf+json" href="https://api.example.com/some/url" />
<link rel="alternate" type="application/rdf+xml" href="https://api.example.com/some/other/url" />
You can do so automatically by setting Pugin.alternates
.
Example
Within your controller:
alternates = [
{ type: 'application/rdf+json', href: 'https://api.example.com/some/url' },
{ type: 'application/rdf+xml', href: 'https://api.example.com/some/other/url' }
]
Pugin.alternates = alternates
Getting Started with Development
To clone the repository and set up the dependencies, run the following:
git clone https://github.com/ukparliament/pugin-components-ruby.git
cd pugin-components-ruby
bundle install
Running the tests
We use RSpec as our testing framework and tests can be run using:
bundle exec rake
Contributing
If you wish to submit a bug fix or feature, you can create a pull request and it will be merged pending a code review.
- Fork the repository
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Ensure your changes are tested using Rspec
- Create a new Pull Request
License
pugin-components-ruby is licensed under the Open Parliament Licence.