govuk_design_system_formbuilder 2.7.4 → 3.0.0b1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6e957bab838013fdafade2624efb663ab4f40befc05313a3f676e1db7db50ee5
4
- data.tar.gz: f9eaf97153026e3f14c24158013276315a4464a0fd5216b7ce80d36b3c5eda02
3
+ metadata.gz: dda2170c816461a782998af3761d21a3a1df198f8483804c387dc42faa0f2ca4
4
+ data.tar.gz: f15f26e8c97bad9302d84ea230ccd172db5c99ba389cfd1cd0a857559cff89d9
5
5
  SHA512:
6
- metadata.gz: 27a67e5dfa2a13da2abc4769f539b618fe091f0840b51132e5fac32b5f90285dbdddcf4b6516e562b83fc7b3d0036fdd62dd70c0609204e015172aa14e6fb3d4
7
- data.tar.gz: b9fb370f1e5e3eaeb08fec860a48f03a4ab3b6c38613a90c7cb3d12e906298d26187b268c3a7befacafe1d36a5ab6452a2eac8b598c6d379e559f7ccb31fb101
6
+ metadata.gz: 429c7e4280bac9f2c17d77ceaf4c05a6b28b02b4484d6e30ed1a92f8fa1132812bf6ca8496ca55be970cb3580d8d65de0f855d256815387c27a2bec5f0b95099
7
+ data.tar.gz: b98b0f23eec603db89c4506547da28d5f32cceb584eb26783c5ea774511028981157776f0567b6a3efa4c488c8dd558496f6c0dc6c4a4fdcbd17edfcb5eca20c
data/README.md CHANGED
@@ -6,9 +6,9 @@
6
6
  [![Gem](https://img.shields.io/gem/dt/govuk_design_system_formbuilder?logo=rubygems)](https://rubygems.org/gems/govuk_design_system_formbuilder)
7
7
  [![Test Coverage](https://api.codeclimate.com/v1/badges/110136fb22341d3ba646/test_coverage)](https://codeclimate.com/github/DFE-Digital/govuk-formbuilder/test_coverage)
8
8
  [![GitHub license](https://img.shields.io/github/license/DFE-Digital/govuk_design_system_formbuilder)](https://github.com/DFE-Digital/govuk-formbuilder/blob/master/LICENSE)
9
- [![GOV.UK Design System Version](https://img.shields.io/badge/GOV.UK%20Design%20System-3.13.1-brightgreen)](https://design-system.service.gov.uk)
10
- [![Rails](https://img.shields.io/badge/Ruby-2.6.8%20%E2%95%B1%202.7.4%20%E2%95%B1%203.0.2-E16D6D)](https://www.ruby-lang.org/en/downloads/)
11
- [![Ruby](https://img.shields.io/badge/Rails-6.0.4%20%E2%95%B1%206.1.3.2-E16D6D)](https://weblog.rubyonrails.org/releases/)
9
+ [![GOV.UK Design System Version](https://img.shields.io/badge/GOV.UK%20Design%20System-3.14.0-brightgreen)](https://design-system.service.gov.uk)
10
+ [![Rails](https://img.shields.io/badge/Rails-6.1.4.4%20%E2%95%B1%207.0.0-E16D6D)](https://weblog.rubyonrails.org/releases/)
11
+ [![Ruby](https://img.shields.io/badge/Ruby-2.7.5%20%20%E2%95%B1%203.0.3-E16D6D)](https://www.ruby-lang.org/en/downloads/)
12
12
 
13
13
  This library provides an easy-to-use form builder for the [GOV.UK Design System](https://design-system.service.gov.uk/).
14
14
 
@@ -56,7 +56,7 @@ To get up and running quickly and easily try kickstarting your project with a
56
56
  pre-configured template:
57
57
 
58
58
  * [DfE Boilerplate](https://github.com/DFE-Digital/govuk-rails-boilerplate)
59
- * [MoJ Rails Template](https://github.com/ministryofjustice/moj_rails_template)
59
+ * [DEFRA Ruby Template](https://github.com/DEFRA/defra-ruby-template)
60
60
 
61
61
  ## Setup 🔧
62
62
 
@@ -912,6 +912,7 @@ module GOVUKDesignSystemFormBuilder
912
912
  # @option caption size [String] the size of the caption, can be +xl+, +l+ or +m+. Defaults to +m+
913
913
  # @option caption kwargs [Hash] additional arguments are applied as attributes on the caption +span+ element
914
914
  # @param omit_day [Boolean] do not render a day input, only capture month and year
915
+ # @param maxlength_enabled [Boolean] adds maxlength attribute to day, month and year inputs (2, 2, and 4, respectively)
915
916
  # @param wildcards [Boolean] add an 'X' to the day and month patterns so users can add approximate dates
916
917
  # @param form_group [Hash] configures the form group
917
918
  # @option form_group classes [Array,String] sets the form group's classes
@@ -936,8 +937,8 @@ module GOVUKDesignSystemFormBuilder
936
937
  # @example A date input with legend supplied as a proc
937
938
  # = f.govuk_date_field :finishes_on,
938
939
  # legend: -> { tag.h3('Which category do you belong to?') }
939
- def govuk_date_field(attribute_name, hint: {}, legend: {}, caption: {}, date_of_birth: false, omit_day: false, form_group: {}, wildcards: false, **kwargs, &block)
940
- Elements::Date.new(self, object_name, attribute_name, hint: hint, legend: legend, caption: caption, date_of_birth: date_of_birth, omit_day: omit_day, form_group: form_group, wildcards: wildcards, **kwargs, &block).html
940
+ def govuk_date_field(attribute_name, hint: {}, legend: {}, caption: {}, date_of_birth: false, omit_day: false, maxlength_enabled: false, form_group: {}, wildcards: false, **kwargs, &block)
941
+ Elements::Date.new(self, object_name, attribute_name, hint: hint, legend: legend, caption: caption, date_of_birth: date_of_birth, omit_day: omit_day, maxlength_enabled: maxlength_enabled, form_group: form_group, wildcards: wildcards, **kwargs, &block).html
941
942
  end
942
943
 
943
944
  # Generates a summary of errors in the form, each linking to the corresponding
@@ -6,21 +6,23 @@ module GOVUKDesignSystemFormBuilder
6
6
  include Traits::Error
7
7
  include Traits::Hint
8
8
  include Traits::Supplemental
9
+ include Traits::HTMLClasses
9
10
 
10
11
  SEGMENTS = { day: '3i', month: '2i', year: '1i' }.freeze
11
12
  MULTIPARAMETER_KEY = { day: 3, month: 2, year: 1 }.freeze
12
13
 
13
- def initialize(builder, object_name, attribute_name, legend:, caption:, hint:, omit_day:, form_group:, wildcards:, date_of_birth: false, **kwargs, &block)
14
+ def initialize(builder, object_name, attribute_name, legend:, caption:, hint:, omit_day:, maxlength_enabled:, form_group:, wildcards:, date_of_birth: false, **kwargs, &block)
14
15
  super(builder, object_name, attribute_name, &block)
15
16
 
16
- @legend = legend
17
- @caption = caption
18
- @hint = hint
19
- @date_of_birth = date_of_birth
20
- @omit_day = omit_day
21
- @form_group = form_group
22
- @wildcards = wildcards
23
- @html_attributes = kwargs
17
+ @legend = legend
18
+ @caption = caption
19
+ @hint = hint
20
+ @date_of_birth = date_of_birth
21
+ @omit_day = omit_day
22
+ @maxlength_enabled = maxlength_enabled
23
+ @form_group = form_group
24
+ @wildcards = wildcards
25
+ @html_attributes = kwargs
24
26
  end
25
27
 
26
28
  def html
@@ -47,6 +49,10 @@ module GOVUKDesignSystemFormBuilder
47
49
  @omit_day
48
50
  end
49
51
 
52
+ def maxlength_enabled?
53
+ @maxlength_enabled
54
+ end
55
+
50
56
  def day
51
57
  return if omit_day?
52
58
 
@@ -104,7 +110,8 @@ module GOVUKDesignSystemFormBuilder
104
110
  pattern: pattern(segment),
105
111
  inputmode: 'numeric',
106
112
  value: value,
107
- autocomplete: date_of_birth_autocomplete_value(segment)
113
+ autocomplete: date_of_birth_autocomplete_value(segment),
114
+ maxlength: (width if maxlength_enabled?),
108
115
  )
109
116
  end
110
117
 
@@ -115,10 +122,12 @@ module GOVUKDesignSystemFormBuilder
115
122
  end
116
123
 
117
124
  def classes(width)
118
- %w(input date-input__input).prefix(brand).tap do |classes|
119
- classes.push(%(#{brand}-input--width-#{width}))
120
- classes.push(%(#{brand}-input--error)) if has_errors?
121
- end
125
+ build_classes(
126
+ %(input),
127
+ %(date-input__input),
128
+ %(input--width-#{width}),
129
+ %(input--error) => has_errors?,
130
+ ).prefix(brand)
122
131
  end
123
132
 
124
133
  # if the field has errors we want the govuk_error_summary to
@@ -148,7 +157,7 @@ module GOVUKDesignSystemFormBuilder
148
157
  end
149
158
 
150
159
  def label_classes
151
- %w(label date-input__label).prefix(brand)
160
+ build_classes(%(label), %(date-input__label)).prefix(brand)
152
161
  end
153
162
  end
154
163
  end
@@ -8,7 +8,7 @@ module GOVUKDesignSystemFormBuilder
8
8
  def html
9
9
  return unless has_errors?
10
10
 
11
- tag.span(class: %(#{brand}-error-message), id: error_id) do
11
+ tag.p(class: %(#{brand}-error-message), id: error_id) do
12
12
  safe_join([hidden_prefix, message])
13
13
  end
14
14
  end
@@ -20,7 +20,7 @@ module GOVUKDesignSystemFormBuilder
20
20
  end
21
21
 
22
22
  def message
23
- @builder.object.errors.messages[@attribute_name]&.first
23
+ set_message_safety(@builder.object.errors.messages[@attribute_name]&.first)
24
24
  end
25
25
  end
26
26
  end
@@ -80,8 +80,10 @@ module GOVUKDesignSystemFormBuilder
80
80
  config.default_error_summary_error_order_method
81
81
  end
82
82
 
83
- def list_item(attribute, message)
84
- tag.li(link_to(message, same_page_link(field_id(attribute)), data: { turbolinks: false }))
83
+ def list_item(attribute, message, url = nil)
84
+ target = url || same_page_link(field_id(attribute))
85
+
86
+ tag.li(link_to(set_message_safety(message), target, **link_options))
85
87
  end
86
88
 
87
89
  def same_page_link(target)
@@ -125,10 +127,16 @@ module GOVUKDesignSystemFormBuilder
125
127
  module: %(#{brand}-error-summary)
126
128
  },
127
129
  aria: {
128
- labelledby: summary_title_id
130
+ labelledby: [summary_title_id.presence]
129
131
  }
130
132
  }
131
133
  end
134
+
135
+ def link_options(turbo_prefix: config.default_error_summary_turbo_prefix)
136
+ return {} unless turbo_prefix
137
+
138
+ { data: { turbo_prefix => false } }
139
+ end
132
140
  end
133
141
  end
134
142
  end
@@ -8,6 +8,7 @@ module GOVUKDesignSystemFormBuilder
8
8
  include Traits::Label
9
9
  include Traits::Supplemental
10
10
  include Traits::HTMLAttributes
11
+ include Traits::HTMLClasses
11
12
 
12
13
  def initialize(builder, object_name, attribute_name, hint:, label:, caption:, form_group:, **kwargs, &block)
13
14
  super(builder, object_name, attribute_name, &block)
@@ -40,9 +41,7 @@ module GOVUKDesignSystemFormBuilder
40
41
  end
41
42
 
42
43
  def classes
43
- %w(file-upload).prefix(brand).tap do |c|
44
- c.push(%(#{brand}-file-upload--error)) if has_errors?
45
- end
44
+ build_classes(%(file-upload), %(file-upload--error) => has_errors?).prefix(brand)
46
45
  end
47
46
  end
48
47
  end
@@ -27,7 +27,7 @@ module GOVUKDesignSystemFormBuilder
27
27
  def html
28
28
  return unless active?
29
29
 
30
- content_tag(hint_tag, **hint_options, **@html_attributes) { hint_body }
30
+ tag.div(**hint_options, **@html_attributes) { hint_body }
31
31
  end
32
32
 
33
33
  def hint_id
@@ -42,10 +42,6 @@ module GOVUKDesignSystemFormBuilder
42
42
  { class: classes, id: hint_id }
43
43
  end
44
44
 
45
- def hint_tag
46
- @raw.presence ? 'div' : 'span'
47
- end
48
-
49
45
  def hint_body
50
46
  @raw || @text
51
47
  end
@@ -8,6 +8,7 @@ module GOVUKDesignSystemFormBuilder
8
8
  include Traits::Label
9
9
  include Traits::Supplemental
10
10
  include Traits::HTMLAttributes
11
+ include Traits::HTMLClasses
11
12
 
12
13
  def initialize(builder, object_name, attribute_name, hint:, label:, caption:, rows:, max_words:, max_chars:, threshold:, form_group:, **kwargs, &block)
13
14
  super(builder, object_name, attribute_name, &block)
@@ -42,10 +43,7 @@ module GOVUKDesignSystemFormBuilder
42
43
  end
43
44
 
44
45
  def classes
45
- %w(textarea).prefix(brand).tap do |classes|
46
- classes.push(%(#{brand}-textarea--error)) if has_errors?
47
- classes.push(%(#{brand}-js-character-count)) if limit?
48
- end
46
+ build_classes(%(textarea), %(textarea--error) => has_errors?, %(js-character-count) => limit?).prefix(brand)
49
47
  end
50
48
 
51
49
  def options
@@ -86,7 +84,7 @@ module GOVUKDesignSystemFormBuilder
86
84
  end
87
85
 
88
86
  def limit_description_classes
89
- %w(hint character-count__message).prefix(brand)
87
+ build_classes(%(hint), %(character-count__message)).prefix(brand)
90
88
  end
91
89
 
92
90
  def limit_description_id
@@ -19,9 +19,13 @@ module Presenters
19
19
  # passed into {GOVUKDesignSystemFormBuilder::Elements::ErrorSummary#list_item}.
20
20
  #
21
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.
22
23
  #
23
24
  # @example Output format given the input above:
24
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"]]
25
29
  def formatted_error_messages
26
30
  @error_messages.map { |attribute, messages| [attribute, messages.first] }
27
31
  end
@@ -12,6 +12,10 @@ module GOVUKDesignSystemFormBuilder
12
12
  def error_element
13
13
  @error_element ||= Elements::ErrorMessage.new(*bound)
14
14
  end
15
+
16
+ def set_message_safety(message)
17
+ config.trust_error_messages ? message.html_safe : message
18
+ end
15
19
  end
16
20
  end
17
21
  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
@@ -6,11 +6,17 @@ module GOVUKDesignSystemFormBuilder
6
6
  # present
7
7
  # * joins the arrays into strings to maintain Rails 6.0.* compatibility
8
8
  class Attributes
9
- # Rather than attempt to combine these attributes, just overwrite the
10
- # form internally-generated values with those that are passed in. This
11
- # prevents the merge/unique value logic from affecting the content
12
- # (i.e. by remvoving duplicated words).
13
- UNMERGEABLE = [%i(id), %i(value), %i(title), %i(alt), %i(href), %i(aria label)].freeze
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 if [parent, key].compact.in?(UNMERGEABLE)
45
+ return value.presence unless [parent, key].compact.in?(MERGEABLE)
40
46
 
41
47
  value.split
42
48
  end
@@ -0,0 +1,36 @@
1
+ module GOVUKDesignSystemFormBuilder
2
+ module Traits
3
+ module HTMLClasses
4
+ # combine all the classes in *args with any keys from **kwargs
5
+ # where the value is true. Roughly based on the behaviour from
6
+ # Rails' class_names, but recreated here as that returns a string
7
+ # where we want an array.
8
+ def build_classes(*args, **kwargs)
9
+ # FIXME: we need to handle the arguments differently for Ruby 2.6.x because
10
+ # Ruby 2.7.0 brought the separation of positional and keyword
11
+ # arguments.
12
+ #
13
+ # This can be removed once support for 2.6.x is dropped.
14
+ #
15
+ # https://www.ruby-lang.org/en/news/2019/12/12/separation-of-positional-and-keyword-arguments-in-ruby-3-0/
16
+ return ruby_2_6_build_classes_fallback(*args) if RUBY_VERSION < "2.7.0"
17
+
18
+ (args + kwargs.map { |k, v| k if v }).compact
19
+ end
20
+
21
+ private
22
+
23
+ def ruby_2_6_build_classes_fallback(*args)
24
+ [].tap do |classes|
25
+ args.each do |arg|
26
+ if arg.is_a?(Hash)
27
+ arg.each { |k, v| classes.append(k) if v }
28
+ else
29
+ classes.append(arg)
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -1,3 +1,3 @@
1
1
  module GOVUKDesignSystemFormBuilder
2
- VERSION = '2.7.4'.freeze
2
+ VERSION = '3.0.0b1'.freeze
3
3
  end
@@ -54,6 +54,12 @@ module GOVUKDesignSystemFormBuilder
54
54
  # will check for on the bound object to see whether or not to try ordering the
55
55
  # error messages
56
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
+ #
57
63
  # * +:localisation_schema_fallback+ sets the prefix elements for the array
58
64
  # used to build the localisation string. The final two elements are always
59
65
  # are the object name and attribute name. The _special_ value +__context__+,
@@ -65,6 +71,10 @@ module GOVUKDesignSystemFormBuilder
65
71
  #
66
72
  # * +:enable_logger+ controls whether or not the library will emit log
67
73
  # messages via Rails.logger.warn, defaults to +true+
74
+ #
75
+ # * +:trust_error_messages+ call html_safe on error messages before they're
76
+ # rendered. This allows formatting markup to be used to change the display
77
+ # of the error message. Defaults to +false+
68
78
  # ===
69
79
  DEFAULTS = {
70
80
  brand: 'govuk',
@@ -78,6 +88,7 @@ module GOVUKDesignSystemFormBuilder
78
88
  default_error_summary_title: 'There is a problem',
79
89
  default_error_summary_presenter: Presenters::ErrorSummaryPresenter,
80
90
  default_error_summary_error_order_method: nil,
91
+ default_error_summary_turbo_prefix: 'turbolinks',
81
92
  default_collection_check_boxes_include_hidden: true,
82
93
  default_collection_radio_buttons_include_hidden: true,
83
94
  default_submit_validate: false,
@@ -88,7 +99,8 @@ module GOVUKDesignSystemFormBuilder
88
99
  localisation_schema_legend: nil,
89
100
  localisation_schema_caption: nil,
90
101
 
91
- enable_logger: true
102
+ enable_logger: true,
103
+ trust_error_messages: false,
92
104
  }.freeze
93
105
 
94
106
  DEFAULTS.each_key { |k| config_accessor(k) { DEFAULTS[k] } }
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
4
+ version: 3.0.0b1
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-09-10 00:00:00.000000000 Z
11
+ date: 2021-12-21 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.0.0
75
+ version: 4.2.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.0.0
82
+ version: 4.2.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: pry
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -162,14 +162,14 @@ dependencies:
162
162
  requirements:
163
163
  - - "~>"
164
164
  - !ruby/object:Gem::Version
165
- version: 1.3.1
165
+ version: 1.4.1
166
166
  type: :development
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - "~>"
171
171
  - !ruby/object:Gem::Version
172
- version: 1.3.1
172
+ version: 1.4.1
173
173
  - !ruby/object:Gem::Dependency
174
174
  name: nanoc
175
175
  requirement: !ruby/object:Gem::Requirement
@@ -340,6 +340,7 @@ files:
340
340
  - lib/govuk_design_system_formbuilder/traits/fieldset_item.rb
341
341
  - lib/govuk_design_system_formbuilder/traits/hint.rb
342
342
  - lib/govuk_design_system_formbuilder/traits/html_attributes.rb
343
+ - lib/govuk_design_system_formbuilder/traits/html_classes.rb
343
344
  - lib/govuk_design_system_formbuilder/traits/input.rb
344
345
  - lib/govuk_design_system_formbuilder/traits/label.rb
345
346
  - lib/govuk_design_system_formbuilder/traits/localisation.rb
@@ -350,12 +351,12 @@ homepage: https://govuk-form-builder.netlify.app
350
351
  licenses:
351
352
  - MIT
352
353
  metadata:
353
- bug_tracker_uri: https://github.com/DFE-Digital/govuk_design_system_formbuilder/issues
354
- changelog_uri: https://github.com/DFE-Digital/govuk_design_system_formbuilder/releases
354
+ bug_tracker_uri: https://github.com/DFE-Digital/govuk-formbuilder/issues
355
+ changelog_uri: https://github.com/DFE-Digital/govuk-formbuilder/releases
355
356
  documentation_uri: https://www.rubydoc.info/gems/govuk_design_system_formbuilder/GOVUKDesignSystemFormBuilder/Builder
356
357
  homepage_uri: https://govuk-form-builder.netlify.app
357
- source_code_uri: https://github.com/DFE-Digital/govuk_design_system_formbuilder
358
- github_repo: git@github.com:DFE-Digital/govuk_design_system_formbuilder.git
358
+ source_code_uri: https://github.com/DFE-Digital/govuk-formbuilder
359
+ github_repo: https://github.com/DFE-Digital/govuk-formbuilder
359
360
  post_install_message:
360
361
  rdoc_options: []
361
362
  require_paths:
@@ -367,9 +368,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
367
368
  version: '0'
368
369
  required_rubygems_version: !ruby/object:Gem::Requirement
369
370
  requirements:
370
- - - ">="
371
+ - - ">"
371
372
  - !ruby/object:Gem::Version
372
- version: '0'
373
+ version: 1.3.1
373
374
  requirements: []
374
375
  rubygems_version: 3.1.6
375
376
  signing_key: