govuk_design_system_formbuilder 2.7.2 → 2.7.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +23 -9
- data/lib/govuk_design_system_formbuilder/builder.rb +13 -6
- data/lib/govuk_design_system_formbuilder/elements/check_boxes/label.rb +5 -1
- data/lib/govuk_design_system_formbuilder/elements/error_summary.rb +22 -5
- data/lib/govuk_design_system_formbuilder/elements/label.rb +1 -1
- data/lib/govuk_design_system_formbuilder/elements/legend.rb +1 -1
- data/lib/govuk_design_system_formbuilder/elements/radios/collection.rb +5 -1
- data/lib/govuk_design_system_formbuilder/presenters/error_summary.rb +33 -0
- data/lib/govuk_design_system_formbuilder/traits/fieldset_item.rb +1 -1
- data/lib/govuk_design_system_formbuilder/traits/html_attributes.rb +13 -7
- data/lib/govuk_design_system_formbuilder/version.rb +1 -1
- data/lib/govuk_design_system_formbuilder.rb +16 -5
- metadata +11 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16dd3a6e9641b3d0aa7e91ee6318bcd0f993d10c00105e1c977f54120eb966d9
|
4
|
+
data.tar.gz: 5aa914a964cac5770d3e1c002aa9e38a20b4bf21c612a9c78c5edfa503c8e98f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 870971ada7f130cd54a13cff52f852d07e1581dd8ebf04f802ae93ca2103325fa2e283e9812170c282da4c5b1a056490799828f0f8d374a7b8d92a053bc6114e
|
7
|
+
data.tar.gz: 7e931f7fe3966909bdd2c4ff16ee3fe7d06e0c52925c03d36fb300a99d7105a842ee6f5aeac165b3824495efd7b3d189ac925378c4a10b7e57c37f8d4230eeb2
|
data/README.md
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
# GOV.UK Design System Form Builder for Rails
|
2
2
|
|
3
|
-
[](https://github.com/DFE-Digital/govuk-formbuilder/actions)
|
4
|
+
[](https://codeclimate.com/github/DFE-Digital/govuk-formbuilder/maintainability)
|
5
5
|
[](https://badge.fury.io/rb/govuk_design_system_formbuilder)
|
6
6
|
[](https://rubygems.org/gems/govuk_design_system_formbuilder)
|
7
|
-
[](https://weblog.rubyonrails.org/releases/)
|
7
|
+
[](https://codeclimate.com/github/DFE-Digital/govuk-formbuilder/test_coverage)
|
8
|
+
[](https://github.com/DFE-Digital/govuk-formbuilder/blob/master/LICENSE)
|
9
|
+
[](https://design-system.service.gov.uk)
|
10
|
+
[](https://weblog.rubyonrails.org/releases/)
|
11
|
+
[](https://www.ruby-lang.org/en/downloads/)
|
13
12
|
|
14
13
|
This library provides an easy-to-use form builder for the [GOV.UK Design System](https://design-system.service.gov.uk/).
|
15
14
|
|
@@ -57,7 +56,7 @@ To get up and running quickly and easily try kickstarting your project with a
|
|
57
56
|
pre-configured template:
|
58
57
|
|
59
58
|
* [DfE Boilerplate](https://github.com/DFE-Digital/govuk-rails-boilerplate)
|
60
|
-
* [
|
59
|
+
* [DEFRA Ruby Template](https://github.com/DEFRA/defra-ruby-template)
|
61
60
|
|
62
61
|
## Setup 🔧
|
63
62
|
|
@@ -129,6 +128,21 @@ To help keep the logs clean and tidy, please configure git to use your full name
|
|
129
128
|
git config --global user.name "Julius Hibbert"
|
130
129
|
```
|
131
130
|
|
131
|
+
## Services using this library
|
132
|
+
|
133
|
+
Approximately [40 services use this library](https://github.com/DFE-Digital/govuk-formbuilder/network/dependents),
|
134
|
+
here are a few from the <abbr title="Department for Education">DfE</abbr>, <abbr title="Ministry of Justice">MoJ</abbr>, and
|
135
|
+
<abbr title="Department for Business, Energy & Industrial Strategy">BEIS</abbr>.
|
136
|
+
|
137
|
+
* [Apply for teacher training](https://www.github.com/DFE-Digital/apply-for-teacher-training)
|
138
|
+
* [Teaching Vacancies](https://www.github.com/DFE-Digital/teaching-vacancies)
|
139
|
+
* [Get a teacher training adviser](https://www.github.com/DFE-Digital/get-teacher-training-adviser-service/)
|
140
|
+
* [Claim for crown court defence](https://www.github.com/ministryofjustice/Claim-for-Crown-Court-Defence)
|
141
|
+
* [Appeal to the tax tribunal](https://www.github.com/ministryofjustice/tax-tribunals-datacapture)
|
142
|
+
* [Apply to court about child arrangements](https://www.github.com/ministryofjustice/c100-application)
|
143
|
+
* [Trade Tariff duty calculator](https://www.github.com/trade-tariff/trade-tariff-duty-calculator)
|
144
|
+
* [Report your official development assistance](https://www.github.com/UKGovernmentBEIS/beis-report-official-development-assistance)
|
145
|
+
|
132
146
|
## Thanks 👩🏽⚖️
|
133
147
|
|
134
148
|
This project was inspired by [Ministry of Justice's GovukElementsFormBuilder](https://github.com/ministryofjustice/govuk_elements_form_builder),
|
@@ -471,9 +471,9 @@ module GOVUKDesignSystemFormBuilder
|
|
471
471
|
# @note Unlike the Rails +#collection_radio_buttons+ helper, this version can also insert
|
472
472
|
# hints per item in the collection by supplying a +:hint_method+
|
473
473
|
#
|
474
|
-
# @note +:bold_labels+,
|
475
|
-
#
|
476
|
-
#
|
474
|
+
# @note +:bold_labels+, is +nil+ (falsy) by default. When a +:hint_method+
|
475
|
+
# is provided it will become +true+ to make the label stand out more
|
476
|
+
# from the hint. The choice can be overridden with +true+ or +false+.
|
477
477
|
#
|
478
478
|
# @param attribute_name [Symbol] The name of the attribute
|
479
479
|
# @param collection [Enumerable<Object>] Options to be added to the +select+ element
|
@@ -538,7 +538,7 @@ module GOVUKDesignSystemFormBuilder
|
|
538
538
|
# :name,
|
539
539
|
# legend: -> { tag.h3('Which category do you belong to?') }
|
540
540
|
#
|
541
|
-
def govuk_collection_radio_buttons(attribute_name, collection, value_method, text_method = nil, hint_method = nil, hint: {}, legend: {}, caption: {}, inline: false, small: false, bold_labels:
|
541
|
+
def govuk_collection_radio_buttons(attribute_name, collection, value_method, text_method = nil, hint_method = nil, hint: {}, legend: {}, caption: {}, inline: false, small: false, bold_labels: nil, classes: nil, include_hidden: config.default_collection_radio_buttons_include_hidden, form_group: {}, &block)
|
542
542
|
Elements::Radios::Collection.new(
|
543
543
|
self,
|
544
544
|
object_name,
|
@@ -951,6 +951,13 @@ module GOVUKDesignSystemFormBuilder
|
|
951
951
|
# which they were defined on the model).
|
952
952
|
# @option kwargs [Hash] kwargs additional arguments are applied as attributes to the error summary +div+ element
|
953
953
|
# @param block [Block] arbitrary HTML that will be rendered between title and error message list
|
954
|
+
# @param presenter [Class,Object] the class or object that is responsible for formatting a list of error
|
955
|
+
# messages that will be rendered in the summary.
|
956
|
+
#
|
957
|
+
# * When a class is specified it will be instantiated with the object's errors in the +object.errors.messages+ format.
|
958
|
+
# * When an object is specified it will be used as-is.
|
959
|
+
#
|
960
|
+
# The object must implement +#formatted_error_messages+, see {Presenters::ErrorSummaryPresenter} for more details.
|
954
961
|
#
|
955
962
|
# @note Only the first error in the +#errors+ array for each attribute will
|
956
963
|
# be included.
|
@@ -959,8 +966,8 @@ module GOVUKDesignSystemFormBuilder
|
|
959
966
|
# = f.govuk_error_summary 'Uh-oh, spaghettios'
|
960
967
|
#
|
961
968
|
# @see https://design-system.service.gov.uk/components/error-summary/ GOV.UK error summary
|
962
|
-
def govuk_error_summary(title = config.default_error_summary_title, link_base_errors_to: nil, order: nil, **kwargs, &block)
|
963
|
-
Elements::ErrorSummary.new(self, object_name, title, link_base_errors_to: link_base_errors_to, order: order, **kwargs, &block).html
|
969
|
+
def govuk_error_summary(title = config.default_error_summary_title, presenter: config.default_error_summary_presenter, link_base_errors_to: nil, order: nil, **kwargs, &block)
|
970
|
+
Elements::ErrorSummary.new(self, object_name, title, link_base_errors_to: link_base_errors_to, order: order, presenter: presenter, **kwargs, &block).html
|
964
971
|
end
|
965
972
|
|
966
973
|
# Generates a fieldset containing the contents of the block
|
@@ -16,7 +16,7 @@ module GOVUKDesignSystemFormBuilder
|
|
16
16
|
|
17
17
|
def html
|
18
18
|
@checkbox.label(for: field_id(link_errors: @link_errors), class: label_classes) do
|
19
|
-
|
19
|
+
label_content.to_s
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
@@ -25,6 +25,10 @@ module GOVUKDesignSystemFormBuilder
|
|
25
25
|
def label_classes
|
26
26
|
%w(label checkboxes__label).prefix(brand)
|
27
27
|
end
|
28
|
+
|
29
|
+
def label_content
|
30
|
+
[localised_text(:label), @checkbox.text, @value].find(&:presence)
|
31
|
+
end
|
28
32
|
end
|
29
33
|
end
|
30
34
|
end
|
@@ -4,13 +4,14 @@ module GOVUKDesignSystemFormBuilder
|
|
4
4
|
include Traits::Error
|
5
5
|
include Traits::HTMLAttributes
|
6
6
|
|
7
|
-
def initialize(builder, object_name, title, link_base_errors_to:, order:, **kwargs, &block)
|
7
|
+
def initialize(builder, object_name, title, link_base_errors_to:, order:, presenter:, **kwargs, &block)
|
8
8
|
super(builder, object_name, nil, &block)
|
9
9
|
|
10
10
|
@title = title
|
11
11
|
@link_base_errors_to = link_base_errors_to
|
12
12
|
@html_attributes = kwargs
|
13
13
|
@order = order
|
14
|
+
@presenter = presenter
|
14
15
|
end
|
15
16
|
|
16
17
|
def html
|
@@ -33,7 +34,17 @@ module GOVUKDesignSystemFormBuilder
|
|
33
34
|
|
34
35
|
def list
|
35
36
|
tag.ul(class: [%(#{brand}-list), summary_class('list')]) do
|
36
|
-
safe_join(
|
37
|
+
safe_join(presenter.formatted_error_messages.map { |args| list_item(*args) })
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
# If the provided @presenter is a class, instantiate it with the sorted
|
42
|
+
# error_messages from our object. Otherwise (if it's any other object),
|
43
|
+
# treat it like a presenter
|
44
|
+
def presenter
|
45
|
+
(@presenter.is_a?(Class) ? @presenter.new(error_messages) : @presenter).tap do |p|
|
46
|
+
fail(ArgumentError, "error summary presenter doesn't implement #formatted_error_messages") unless
|
47
|
+
p.respond_to?(:formatted_error_messages)
|
37
48
|
end
|
38
49
|
end
|
39
50
|
|
@@ -69,8 +80,8 @@ module GOVUKDesignSystemFormBuilder
|
|
69
80
|
config.default_error_summary_error_order_method
|
70
81
|
end
|
71
82
|
|
72
|
-
def list_item(attribute, message)
|
73
|
-
tag.li(link_to(message, same_page_link(field_id(attribute)),
|
83
|
+
def list_item(attribute, message, url = nil)
|
84
|
+
tag.li(link_to(message, url || same_page_link(field_id(attribute)), **link_options))
|
74
85
|
end
|
75
86
|
|
76
87
|
def same_page_link(target)
|
@@ -114,10 +125,16 @@ module GOVUKDesignSystemFormBuilder
|
|
114
125
|
module: %(#{brand}-error-summary)
|
115
126
|
},
|
116
127
|
aria: {
|
117
|
-
labelledby: summary_title_id
|
128
|
+
labelledby: [summary_title_id.presence]
|
118
129
|
}
|
119
130
|
}
|
120
131
|
end
|
132
|
+
|
133
|
+
def link_options(turbo_prefix: config.default_error_summary_turbo_prefix)
|
134
|
+
return {} unless turbo_prefix
|
135
|
+
|
136
|
+
{ data: { turbo_prefix => false } }
|
137
|
+
end
|
121
138
|
end
|
122
139
|
end
|
123
140
|
end
|
@@ -50,7 +50,7 @@ module GOVUKDesignSystemFormBuilder
|
|
50
50
|
end
|
51
51
|
|
52
52
|
def retrieve_text(option_text, hidden)
|
53
|
-
text = [option_text, localised_text(:label), @attribute_name.capitalize].
|
53
|
+
text = [option_text, localised_text(:label), @attribute_name.capitalize].find(&:presence)
|
54
54
|
|
55
55
|
if hidden
|
56
56
|
tag.span(text, class: %(#{brand}-visually-hidden))
|
@@ -45,7 +45,7 @@ module GOVUKDesignSystemFormBuilder
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def retrieve_text(supplied_text)
|
48
|
-
[supplied_text, localised_text(:legend), @attribute_name&.capitalize].
|
48
|
+
[supplied_text, localised_text(:legend), @attribute_name&.capitalize].find(&:presence)
|
49
49
|
end
|
50
50
|
|
51
51
|
def classes
|
@@ -21,7 +21,11 @@ module GOVUKDesignSystemFormBuilder
|
|
21
21
|
@classes = classes
|
22
22
|
@form_group = form_group
|
23
23
|
@include_hidden = include_hidden
|
24
|
-
@bold_labels =
|
24
|
+
@bold_labels = if bold_labels.nil?
|
25
|
+
hint_method.present?
|
26
|
+
else
|
27
|
+
bold_labels
|
28
|
+
end
|
25
29
|
end
|
26
30
|
|
27
31
|
def html
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module Presenters
|
2
|
+
# This is the default presenter for {GOVUKDesignSystemFormBuilder::Elements::ErrorSummary} and is
|
3
|
+
# intended to be easily replaceable should you have specific requirements that aren't met here.
|
4
|
+
#
|
5
|
+
# The basic behaviour is to always show the first error message. In Rails, error message order is
|
6
|
+
# determined by the order in which the validations run, but if you need to do any other transformation
|
7
|
+
# or concatenation, this is the place to do it.
|
8
|
+
class ErrorSummaryPresenter
|
9
|
+
# @param [Hash] error_messages the error message hash in a format that matches Rails'
|
10
|
+
# `object.errors.messages`, so the format should be:
|
11
|
+
#
|
12
|
+
# @example Input format:
|
13
|
+
# ErrorSummaryPresenter.new({ attribute_one: ["first error", "second error"], attribute_two: ["third error"] })
|
14
|
+
def initialize(error_messages)
|
15
|
+
@error_messages = error_messages
|
16
|
+
end
|
17
|
+
|
18
|
+
# Converts +@error_messages+ into an array of argument arrays that will be
|
19
|
+
# passed into {GOVUKDesignSystemFormBuilder::Elements::ErrorSummary#list_item}.
|
20
|
+
#
|
21
|
+
# @return [Array<Array(Symbol, String)>] array of attribute and message arrays
|
22
|
+
# @return [Array<Array(Symbol, String, String)>] array of attribute, message and URL arrays.
|
23
|
+
#
|
24
|
+
# @example Output format given the input above:
|
25
|
+
# [[:attribute_one, "first error"], [:attribute_two, "third error"]]
|
26
|
+
#
|
27
|
+
# @example Output with hard-coded URLs
|
28
|
+
# [[:attribute_one, "first error", "https://example.com/attribute-one"], [:attribute_two, "third error", "https://example.com/attribute-two"]]
|
29
|
+
def formatted_error_messages
|
30
|
+
@error_messages.map { |attribute, messages| [attribute, messages.first] }
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -24,7 +24,7 @@ module GOVUKDesignSystemFormBuilder
|
|
24
24
|
id: field_id(link_errors: @link_errors),
|
25
25
|
class: classes,
|
26
26
|
multiple: @multiple,
|
27
|
-
aria: { describedby: [hint_id] },
|
27
|
+
aria: { describedby: [hint_id.presence] },
|
28
28
|
data: { 'aria-controls' => @conditional_id }
|
29
29
|
}
|
30
30
|
end
|
@@ -4,13 +4,19 @@ module GOVUKDesignSystemFormBuilder
|
|
4
4
|
# Attributes eases working with default and custom attributes by:
|
5
5
|
# * deeply merging them so both the default (required) attributes are
|
6
6
|
# present
|
7
|
-
# * joins the arrays into strings to maintain Rails 6.0
|
7
|
+
# * joins the arrays into strings to maintain Rails 6.0.* compatibility
|
8
8
|
class Attributes
|
9
|
-
#
|
10
|
-
#
|
11
|
-
#
|
12
|
-
|
13
|
-
|
9
|
+
# Only try to combine and merge these attributes that contain a list of
|
10
|
+
# values separated by a space. All other values should be merged in a
|
11
|
+
# regular fashion (where the custom value overrides the default)
|
12
|
+
MERGEABLE = [
|
13
|
+
%i(class),
|
14
|
+
%i(aria controls),
|
15
|
+
%i(aria describedby),
|
16
|
+
%i(aria flowto),
|
17
|
+
%i(aria labelledby),
|
18
|
+
%i(aria owns),
|
19
|
+
].freeze
|
14
20
|
|
15
21
|
def initialize(defaults, custom)
|
16
22
|
@merged = defaults.deeper_merge(deep_split_values(custom))
|
@@ -36,7 +42,7 @@ module GOVUKDesignSystemFormBuilder
|
|
36
42
|
end
|
37
43
|
|
38
44
|
def split_mergeable(key, value, parent = nil)
|
39
|
-
return value
|
45
|
+
return value.presence unless [parent, key].compact.in?(MERGEABLE)
|
40
46
|
|
41
47
|
value.split
|
42
48
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'deep_merge/rails_compat'
|
2
2
|
require 'active_support/configurable'
|
3
3
|
|
4
|
-
[%w(refinements *.rb), %w(traits *.rb), %w(*.rb), %w(elements ** *.rb), %w(containers ** *.rb)]
|
4
|
+
[%w(presenters *.rb), %w(refinements *.rb), %w(traits *.rb), %w(*.rb), %w(elements ** *.rb), %w(containers ** *.rb)]
|
5
5
|
.flat_map { |matcher| Dir.glob(File.join(__dir__, 'govuk_design_system_formbuilder', *matcher)) }
|
6
6
|
.each { |file| require file }
|
7
7
|
|
@@ -37,20 +37,29 @@ module GOVUKDesignSystemFormBuilder
|
|
37
37
|
# button in radio button fieldsets. As per the GOV.UK Design System spec,
|
38
38
|
# it defaults to 'or'.
|
39
39
|
#
|
40
|
-
# * +:default_error_summary_title+ sets the text used in error summary
|
41
|
-
# blocks. As per the GOV.UK Design System spec, it defaults to
|
42
|
-
# 'There is a problem'.
|
43
|
-
#
|
44
40
|
# * +:default_collection_check_boxes_include_hidden+ controls whether or not
|
45
41
|
# a hidden field is added when rendering a collection of check boxes
|
46
42
|
#
|
47
43
|
# * +:default_collection_radio_buttons_include_hidden+ controls whether or not
|
48
44
|
# a hidden field is added when rendering a collection of radio buttons
|
49
45
|
#
|
46
|
+
# * +:default_error_summary_title+ sets the text used in error summary
|
47
|
+
# blocks. As per the GOV.UK Design System spec, it defaults to
|
48
|
+
# 'There is a problem'.
|
49
|
+
#
|
50
|
+
# * +:default_error_summary_presenter+ the class that's instantiated when
|
51
|
+
# rendering an error summary and formats the messages for each attribute
|
52
|
+
#
|
50
53
|
# * +:default_error_summary_error_order_method+ is the method that the library
|
51
54
|
# will check for on the bound object to see whether or not to try ordering the
|
52
55
|
# error messages
|
53
56
|
#
|
57
|
+
# * +:default_error_summary_turbo_prefix+ is used to disable turbo/turbolinks from
|
58
|
+
# handling clicks on links in the error summary. When it's a string (eg,
|
59
|
+
# turbo), that will result in links with the attribute 'data-turbo=false'.
|
60
|
+
# When nil, no data attribute will be added. Defaults to 'turbolinks' for
|
61
|
+
# compatibilitiy's sake; this will change to 'turbo' when Rails 7 is released
|
62
|
+
#
|
54
63
|
# * +:localisation_schema_fallback+ sets the prefix elements for the array
|
55
64
|
# used to build the localisation string. The final two elements are always
|
56
65
|
# are the object name and attribute name. The _special_ value +__context__+,
|
@@ -73,7 +82,9 @@ module GOVUKDesignSystemFormBuilder
|
|
73
82
|
default_radio_divider_text: 'or',
|
74
83
|
default_check_box_divider_text: 'or',
|
75
84
|
default_error_summary_title: 'There is a problem',
|
85
|
+
default_error_summary_presenter: Presenters::ErrorSummaryPresenter,
|
76
86
|
default_error_summary_error_order_method: nil,
|
87
|
+
default_error_summary_turbo_prefix: 'turbolinks',
|
77
88
|
default_collection_check_boxes_include_hidden: true,
|
78
89
|
default_collection_radio_buttons_include_hidden: true,
|
79
90
|
default_submit_validate: false,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: govuk_design_system_formbuilder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.7.
|
4
|
+
version: 2.7.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Yates
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: deep_merge
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 4.
|
75
|
+
version: 4.1.0
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 4.
|
82
|
+
version: 4.1.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: pry
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -274,14 +274,14 @@ dependencies:
|
|
274
274
|
requirements:
|
275
275
|
- - "~>"
|
276
276
|
- !ruby/object:Gem::Version
|
277
|
-
version: 0.
|
277
|
+
version: 0.22.0
|
278
278
|
type: :development
|
279
279
|
prerelease: false
|
280
280
|
version_requirements: !ruby/object:Gem::Requirement
|
281
281
|
requirements:
|
282
282
|
- - "~>"
|
283
283
|
- !ruby/object:Gem::Version
|
284
|
-
version: 0.
|
284
|
+
version: 0.22.0
|
285
285
|
description: A Rails form builder that generates form inputs adhering to the GOV.UK
|
286
286
|
Design System
|
287
287
|
email:
|
@@ -331,6 +331,7 @@ files:
|
|
331
331
|
- lib/govuk_design_system_formbuilder/elements/select.rb
|
332
332
|
- lib/govuk_design_system_formbuilder/elements/submit.rb
|
333
333
|
- lib/govuk_design_system_formbuilder/elements/text_area.rb
|
334
|
+
- lib/govuk_design_system_formbuilder/presenters/error_summary.rb
|
334
335
|
- lib/govuk_design_system_formbuilder/proxy.rb
|
335
336
|
- lib/govuk_design_system_formbuilder/refinements/prefixable_array.rb
|
336
337
|
- lib/govuk_design_system_formbuilder/traits/caption.rb
|
@@ -349,11 +350,12 @@ homepage: https://govuk-form-builder.netlify.app
|
|
349
350
|
licenses:
|
350
351
|
- MIT
|
351
352
|
metadata:
|
352
|
-
bug_tracker_uri: https://github.com/DFE-Digital/
|
353
|
-
changelog_uri: https://github.com/DFE-Digital/
|
353
|
+
bug_tracker_uri: https://github.com/DFE-Digital/govuk-formbuilder/issues
|
354
|
+
changelog_uri: https://github.com/DFE-Digital/govuk-formbuilder/releases
|
354
355
|
documentation_uri: https://www.rubydoc.info/gems/govuk_design_system_formbuilder/GOVUKDesignSystemFormBuilder/Builder
|
355
356
|
homepage_uri: https://govuk-form-builder.netlify.app
|
356
|
-
source_code_uri: https://github.com/DFE-Digital/
|
357
|
+
source_code_uri: https://github.com/DFE-Digital/govuk-formbuilder
|
358
|
+
github_repo: https://github.com/DFE-Digital/govuk-formbuilder
|
357
359
|
post_install_message:
|
358
360
|
rdoc_options: []
|
359
361
|
require_paths:
|