barnardos-ruby_design_system 0.1.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 2f3547e71601e1103ceda6447e1f8eb34d5ac33d6aec20330daf23c825ea3f1f
4
+ data.tar.gz: f000043b2a23cc728f31e1de399fe2cd8d31086f1fdc2fe40732c65279eea790
5
+ SHA512:
6
+ metadata.gz: 8f0d56811483953ddc7933d2e699c5716ef7f674307d6a4f4c59532420282cee62a75574dab7a48d719a0ffdf10929b57270df624ab29e8cc9c3e79899c9faf5
7
+ data.tar.gz: 585df7f643bca237738da845befa08c280b8b796d826564658d407002e0208881f983acf47edf96a0cb7370269de3b6f8e6efd3db1d1a7cec259c6a75049fde9
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2019 Rob Nichols
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,143 @@
1
+ # Barnardos::RubyDesignSystem
2
+
3
+ Tools for appling Barnardo's Design System to Ruby projects.
4
+
5
+ The tools include helper methods and modification to simple form to make it Design System compliant.
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'barnardos-ruby_design_system'
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ $ bundle
18
+
19
+ ### Installing PostCSS
20
+
21
+ The CSS used in the Design System requires processing in JavaScript space by PostCSS.
22
+
23
+ #### `/app/views/layouts/application.html.erb`
24
+
25
+ All CSS should be defined within the folder `app/javascript` so the `stylesheet_link_tag` declaration can be removed
26
+ from the application template. Also make sure that JavaScript is loaded here with `javascript_pack_tag`. For example:
27
+
28
+ ```
29
+ <%= javascript_pack_tag 'application' %>
30
+ ```
31
+
32
+ #### `/package.json`
33
+
34
+ Update `package.json` to include declarations for PostCSS and related plugins.
35
+
36
+ Also while this file is being modified, add `@barnardos/components` which will make the Design System code
37
+ available.
38
+
39
+ For example:
40
+
41
+ ```json
42
+ {
43
+ "name": "my_app",
44
+ "private": true,
45
+ "dependencies": {
46
+ "@barnardos/components": "^1.0.0",
47
+ "@rails/actioncable": "^6.0.0-alpha",
48
+ "@rails/activestorage": "^6.0.0-alpha",
49
+ "@rails/ujs": "^6.0.0-alpha",
50
+ "@rails/webpacker": "^4.0.7",
51
+ "polyfill-nodelist-foreach": "^1.0.1",
52
+ "postcss-browser-reporter": "^0.6.0",
53
+ "postcss-import": "^12.0.1",
54
+ "postcss-inline-svg": "^4.1.0",
55
+ "postcss-preset-env": "^6.7.0",
56
+ "postcss-reporter": "^6.0.1",
57
+ "postcss-svgo": "^4.0.2"
58
+ },
59
+ "version": "0.1.0",
60
+ "devDependencies": {
61
+ "webpack-dev-server": "^3.9.0"
62
+ }
63
+ }
64
+ ```
65
+
66
+ #### `/postcss.config.js`
67
+
68
+ A PostCSS configuration file is also present. The following is an example that works with the Design System:
69
+
70
+ ```javascript
71
+ module.exports = () => ({
72
+ plugins: [
73
+ require("postcss-import"),
74
+ require("postcss-preset-env")({
75
+ autoprefixer: {},
76
+ features: {
77
+ "focus-within": true,
78
+ "nesting-rules": true,
79
+ "color-mod-function": {
80
+ unresolved: "warn"
81
+ },
82
+ "custom-properties": {
83
+ preserve: false,
84
+ warnings: true
85
+ }
86
+ }
87
+ }),
88
+ require("postcss-browser-reporter"),
89
+ require("postcss-reporter")
90
+ ]
91
+ });
92
+ ```
93
+
94
+ #### `/app/javascript/packs/application.js`
95
+
96
+ For each Design System component you wish to use in the app, add a line to `application.js` in the form:
97
+
98
+ ```javascript
99
+ import "@barnardos/components/src/components/<component name>/index.css";
100
+ ```
101
+ For example:
102
+
103
+ ```javascript
104
+ import "@barnardos/components/src/components/Footer/index.css";
105
+ import "@barnardos/components/src/components/Header/index.css";
106
+ import "@barnardos/components/src/components/Layout/index.css";
107
+ import "@barnardos/components/src/components/Link/index.css";
108
+ import "@barnardos/components/src/components/Main/index.css";
109
+ import "@barnardos/components/src/components/Paragraph/index.css";
110
+ import "@barnardos/components/src/components/Title/index.css";
111
+ ```
112
+
113
+ This will load the associated CSS where it can be processed by PostCSS. The list of imports can get quite long, so
114
+ placing them in alphabetical order is a good idea as it makes them a little easier to manage.
115
+
116
+ #### Complete PostCSS installation
117
+
118
+ The following two commands will clear out the current Webpacker setup and install the requires elements:
119
+
120
+ ```bash
121
+ rake webpacker:clobber
122
+ yarn
123
+ ```
124
+
125
+ Then restart the server and the changes should take effect.
126
+
127
+ ## Usage
128
+
129
+ TODO: Write usage instructions here
130
+
131
+ ## Development
132
+
133
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
134
+
135
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
136
+
137
+ ## Contributing
138
+
139
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/barnardos-ruby_design_system.
140
+
141
+ ## License
142
+
143
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'barnardos/ruby_design_system/version'
4
+ require 'barnardos/ruby_design_system/component_helper'
5
+
6
+ module Barnardos
7
+ # A Ruby module for easier working with Barnardos Design System
8
+ module RubyDesignSystem
9
+ class Error < StandardError; end
10
+
11
+ require 'simple_form'
12
+ Dir[File.join(__dir__, 'ruby_design_system/inputs', '*.rb')].each do |file|
13
+ require file
14
+ end
15
+
16
+ require_relative 'ruby_design_system/simple_form'
17
+ end
18
+ end
@@ -0,0 +1,38 @@
1
+ module Barnardos
2
+ module RubyDesignSystem
3
+ module ComponentHelper
4
+ def prominent_link(name = nil, options = nil, html_options = {}, &block)
5
+ colour = html_options.delete(:colour)
6
+ colour_class = colour && "ProminentLink--#{colour}"
7
+ html_options[:class] = [html_options[:class], 'ProminentLink', colour_class].flatten.compact
8
+ link_to(name, options, html_options, &block)
9
+ end
10
+
11
+ def skip_link(text, anchor: '#main-anchor')
12
+ link_to text, anchor, class: 'SkipLink'
13
+ end
14
+
15
+ def link(name = nil, options = nil, html_options = {}, &block)
16
+ html_options[:class] = [html_options[:class], 'Link'].flatten.compact
17
+ link_to(name, options, html_options, &block)
18
+ end
19
+
20
+ def link_to(name = nil, options = nil, html_options = {}, &block)
21
+ html_options[:target] = '_blank' if html_options.delete(:new_window)
22
+ super
23
+ end
24
+
25
+ def fieldset(legend: nil, hint: nil)
26
+ content_tag :fieldset, class: 'Fieldset' do
27
+ concat(content_tag(:legend, legend, class: 'Fieldset-legend')) if legend
28
+ concat(
29
+ content_tag(:div, class: 'Fieldset-children') do
30
+ concat(content_tag(:p, hint, class: 'Hint')) if hint
31
+ concat(yield)
32
+ end
33
+ )
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,21 @@
1
+ module.exports = () => ({
2
+ plugins: [
3
+ require("./node_modules/postcss-import"),
4
+ require("./node_modules/postcss-preset-env")({
5
+ autoprefixer: {},
6
+ features: {
7
+ "focus-within": true,
8
+ "nesting-rules": true,
9
+ "color-mod-function": {
10
+ unresolved: "warn"
11
+ },
12
+ "custom-properties": {
13
+ preserve: false,
14
+ warnings: true
15
+ }
16
+ }
17
+ }),
18
+ require("./node_modules/postcss-browser-reporter"),
19
+ require("./node_modules/postcss-reporter")
20
+ ]
21
+ });
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Barnardos
4
+ module RubyDesignSystem
5
+ module Inputs
6
+ class CollectionCheckBoxesInput < SimpleForm::Inputs::CollectionCheckBoxesInput
7
+ def input(wrapper_options = nil)
8
+ input_html_classes.unshift('Switch-input')
9
+ options[:item_label_class] = 'Switch-label'
10
+ options[:item_wrapper_tag] = :div
11
+ options[:item_wrapper_class] = 'Switches-item Switch Switch--checkbox'
12
+ template.content_tag(:div, super, class: 'Switches-items')
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Barnardos
4
+ module RubyDesignSystem
5
+ module Inputs
6
+ class CollectionSelectInput < SimpleForm::Inputs::CollectionSelectInput
7
+ def input(wrapper_options = nil)
8
+ input_html_classes.unshift('Select')
9
+ super
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Barnardos
4
+ module RubyDesignSystem
5
+ module Inputs
6
+ class StringInput < SimpleForm::Inputs::StringInput
7
+ def input(wrapper_options = nil)
8
+ input_html_classes.unshift('TextInput-input')
9
+ super
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Barnardos
4
+ module RubyDesignSystem
5
+ module Inputs
6
+ class TextInput < SimpleForm::Inputs::TextInput
7
+ def input(wrapper_options = nil)
8
+ input_html_classes.unshift('TextArea-textarea')
9
+ super
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,197 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Uncomment this and change the path if necessary to include your own
4
+ # components.
5
+ # See https://github.com/plataformatec/simple_form#custom-components to know
6
+ # more about custom components.
7
+ # Dir[Rails.root.join('lib/components/**/*.rb')].each { |f| require f }
8
+ #
9
+ # Use this setup block to configure all options available in SimpleForm.
10
+ SimpleForm.setup do |config|
11
+ # Wrappers are used by the form builder to generate a
12
+ # complete input. You can remove any component from the
13
+ # wrapper, change the order or even add your own to the
14
+ # stack. The options given below are used to wrap the
15
+ # whole input.
16
+ config.wrappers(
17
+ :default,
18
+ class: :Field,
19
+ hint_class: :field_with_hint,
20
+ error_class: :field_with_errors,
21
+ valid_class: :field_without_errors
22
+ ) do |b|
23
+ ## Extensions enabled by default
24
+ # Any of these extensions can be disabled for a
25
+ # given input by passing: `f.input EXTENSION_NAME => false`.
26
+ # You can make any of these extensions optional by
27
+ # renaming `b.use` to `b.optional`.
28
+
29
+ # Determines whether to use HTML5 (:email, :url, ...)
30
+ # and required attributes
31
+ b.use :html5
32
+
33
+ # Calculates placeholders automatically from I18n
34
+ # You can also pass a string as f.input placeholder: "Placeholder"
35
+ b.use :placeholder
36
+
37
+ ## Optional extensions
38
+ # They are disabled unless you pass `f.input EXTENSION_NAME => true`
39
+ # to the input. If so, they will retrieve the values from the model
40
+ # if any exists. If you want to enable any of those
41
+ # extensions by default, you can change `b.optional` to `b.use`.
42
+
43
+ # Calculates maxlength from length validations for string inputs
44
+ # and/or database column lengths
45
+ b.optional :maxlength
46
+
47
+ # Calculate minlength from length validations for string inputs
48
+ b.optional :minlength
49
+
50
+ # Calculates pattern from format validations for string inputs
51
+ b.optional :pattern
52
+
53
+ # Calculates min and max from length validations for numeric inputs
54
+ b.optional :min_max
55
+
56
+ # Calculates readonly automatically from readonly attributes
57
+ b.optional :readonly
58
+
59
+ ## Inputs
60
+ # b.use :input, class: 'input', error_class: 'is-invalid', valid_class: 'is-valid'
61
+ b.use :label_input
62
+ b.use :hint, wrap_with: { tag: :span, class: :hint }
63
+ b.use :error, wrap_with: { tag: :span, class: :error }
64
+
65
+ ## full_messages_for
66
+ # If you want to display the full error message for the attribute, you can
67
+ # use the component :full_error, like:
68
+ #
69
+ # b.use :full_error, wrap_with: { tag: :span, class: :error }
70
+ end
71
+
72
+ config.wrappers(
73
+ :design_system_select,
74
+ class: :Field
75
+ ) do |b|
76
+ b.use :label
77
+ b.use :input, class: :Select, wrap_with: { tag: :div, class: 'Select__wrapper' }
78
+ end
79
+
80
+ config.wrappers(
81
+ :in_fieldset,
82
+ class: :Fieldset
83
+ ) do |b|
84
+ b.use :label, wrap_with: { tag: :legend, class: 'Fieldset-legend' }
85
+ b.use :input, wrap_with: { tag: :div, class: 'Fieldset-children' }
86
+ end
87
+
88
+ # The default wrapper to be used by the FormBuilder.
89
+ config.default_wrapper = :default
90
+
91
+ # Define the way to render check boxes / radio buttons with labels.
92
+ # Defaults to :nested for bootstrap config.
93
+ # inline: input + label
94
+ # nested: label > input
95
+ config.boolean_style = :nested
96
+
97
+ # Default class for buttons
98
+ config.button_class = :Submit
99
+
100
+ # Method used to tidy up errors. Specify any Rails Array method.
101
+ # :first lists the first message for each field.
102
+ # Use :to_sentence to list all errors for each field.
103
+ # config.error_method = :first
104
+
105
+ # Default tag used for error notification helper.
106
+ config.error_notification_tag = :div
107
+
108
+ # CSS class to add for error notification helper.
109
+ config.error_notification_class = 'error_notification'
110
+
111
+ # Series of attempts to detect a default label method for collection.
112
+ # config.collection_label_methods = [ :to_label, :name, :title, :to_s ]
113
+
114
+ # Series of attempts to detect a default value method for collection.
115
+ # config.collection_value_methods = [ :id, :to_s ]
116
+
117
+ # You can wrap a collection of radio/check boxes in a pre-defined tag, defaulting to none.
118
+ # config.collection_wrapper_tag = nil
119
+
120
+ # You can define the class to use on all collection wrappers. Defaulting to none.
121
+ # config.collection_wrapper_class = nil
122
+
123
+ # You can wrap each item in a collection of radio/check boxes with a tag,
124
+ # defaulting to :span.
125
+ # config.item_wrapper_tag = :span
126
+
127
+ # You can define a class to use in all item wrappers. Defaulting to none.
128
+ # config.item_wrapper_class = nil
129
+
130
+ # How the label text should be generated altogether with the required text.
131
+ # config.label_text = lambda { |label, required, explicit_label| "#{required} #{label}" }
132
+
133
+ # You can define the class to use on all labels. Default is nil.
134
+ config.label_class = :Label
135
+
136
+ # You can define the default class to be used on forms. Can be overriden
137
+ # with `html: { :class }`. Defaulting to none.
138
+ # config.default_form_class = nil
139
+
140
+ # You can define which elements should obtain additional classes
141
+ # config.generate_additional_classes_for = [:wrapper, :label, :input]
142
+
143
+ # Whether attributes are required by default (or not). Default is true.
144
+ # config.required_by_default = true
145
+
146
+ # Tell browsers whether to use the native HTML5 validations (novalidate form option).
147
+ # These validations are enabled in SimpleForm's internal config but disabled by default
148
+ # in this configuration, which is recommended due to some quirks from different browsers.
149
+ # To stop SimpleForm from generating the novalidate option, enabling the HTML5 validations,
150
+ # change this configuration to true.
151
+ config.browser_validations = false
152
+
153
+ # Custom mappings for input types. This should be a hash containing a regexp
154
+ # to match as key, and the input type that will be used when the field name
155
+ # matches the regexp as value.
156
+ # config.input_mappings = { /count/ => :integer }
157
+
158
+ # Custom wrappers for input types. This should be a hash containing an input
159
+ # type as key and the wrapper that will be used for all inputs with specified type.
160
+ # config.wrapper_mappings = { string: :prepend }
161
+
162
+ # Namespaces where SimpleForm should look for custom input classes that
163
+ # override default inputs.
164
+ # config.custom_inputs_namespaces << "CustomInputs"
165
+
166
+ # Default priority for time_zone inputs.
167
+ # config.time_zone_priority = nil
168
+
169
+ # Default priority for country inputs.
170
+ # config.country_priority = nil
171
+
172
+ # When false, do not use translations for labels.
173
+ # config.translate_labels = true
174
+
175
+ # Automatically discover new inputs in Rails' autoload path.
176
+ # config.inputs_discovery = true
177
+
178
+ # Cache SimpleForm inputs discovery
179
+ # config.cache_discovery = !Rails.env.development?
180
+
181
+ # Default class for inputs
182
+ # config.input_class = nil
183
+
184
+ # Define the default class of the input wrapper of the boolean input.
185
+ config.boolean_label_class = 'checkbox'
186
+
187
+ # Defines if the default input wrapper class should be included in radio
188
+ # collection wrappers.
189
+ # config.include_default_input_wrapper_class = true
190
+
191
+ # Defines which i18n scope will be used in Simple Form.
192
+ # config.i18n_scope = 'simple_form'
193
+
194
+ # Defines validation classes to the input_field. By default it's nil.
195
+ # config.input_field_valid_class = 'is-valid'
196
+ # config.input_field_error_class = 'is-invalid'
197
+ end
@@ -0,0 +1,5 @@
1
+ module Barnardos
2
+ module RubyDesignSystem
3
+ VERSION = "0.1.0"
4
+ end
5
+ end
@@ -0,0 +1,10 @@
1
+ Description:
2
+ Generator installs Barnardos Design System gem for a Rails project.
3
+
4
+ Example:
5
+ rails g barnardos:install
6
+
7
+ This will:
8
+ create postcss.config.js
9
+ install required npm packages
10
+ remove stylesheet_link_tag from application.html.erb
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Barnardos
4
+ module Generators
5
+ class InstallGenerator < Rails::Generators::Base
6
+ source_root File.expand_path('templates', __dir__)
7
+ DEV_PACKAGES = ['webpack-dev-server'].freeze
8
+ PACKAGES = [
9
+ '@barnardos/components',
10
+ '@rails/actioncable',
11
+ '@rails/activestorage',
12
+ '@rails/ujs',
13
+ '@rails/webpacker',
14
+ 'polyfill-nodelist-foreach',
15
+ 'postcss-browser-reporter',
16
+ 'postcss-import',
17
+ 'postcss-inline-svg',
18
+ 'postcss-preset-env',
19
+ 'postcss-reporter',
20
+ 'postcss-svgo'
21
+ ].freeze
22
+
23
+ def install
24
+ `yarn add #{PACKAGES.join(' ')}`
25
+ `yarn add #{DEV_PACKAGES.join(' ')} --dev`
26
+ copy_file 'postcss.config.js', 'postcss.config.js'
27
+ if File.exist?('app/views/layouts/application.html.erb')
28
+ gsub_file('app/views/layouts/application.html.erb',
29
+ /<%= stylesheet_link_tag[^%]*%>?/, '')
30
+ end
31
+ rake 'webpacker:clobber'
32
+ `yarn`
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,21 @@
1
+ module.exports = () => ({
2
+ plugins: [
3
+ require("postcss-import"),
4
+ require("postcss-preset-env")({
5
+ autoprefixer: {},
6
+ features: {
7
+ "focus-within": true,
8
+ "nesting-rules": true,
9
+ "color-mod-function": {
10
+ unresolved: "warn"
11
+ },
12
+ "custom-properties": {
13
+ preserve: false,
14
+ warnings: true
15
+ }
16
+ }
17
+ }),
18
+ require("postcss-browser-reporter"),
19
+ require("postcss-reporter")
20
+ ]
21
+ });
metadata ADDED
@@ -0,0 +1,214 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: barnardos-ruby_design_system
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Rob Nichols
8
+ - Marcin Jedras
9
+ - Barnardo's
10
+ autorequire:
11
+ bindir: exe
12
+ cert_chain: []
13
+ date: 2020-01-22 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: simple_form
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: '5.0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "~>"
27
+ - !ruby/object:Gem::Version
28
+ version: '5.0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: actionpack
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - "~>"
34
+ - !ruby/object:Gem::Version
35
+ version: '6.0'
36
+ type: :development
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '6.0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: activemodel
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '6.0'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '6.0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: bundler
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '1.17'
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: '1.17'
71
+ - !ruby/object:Gem::Dependency
72
+ name: faker
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - "~>"
76
+ - !ruby/object:Gem::Version
77
+ version: '2.9'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - "~>"
83
+ - !ruby/object:Gem::Version
84
+ version: '2.9'
85
+ - !ruby/object:Gem::Dependency
86
+ name: generator_spec
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ - !ruby/object:Gem::Dependency
100
+ name: nokogiri
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - "~>"
104
+ - !ruby/object:Gem::Version
105
+ version: '1.10'
106
+ type: :development
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - "~>"
111
+ - !ruby/object:Gem::Version
112
+ version: '1.10'
113
+ - !ruby/object:Gem::Dependency
114
+ name: rails
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '6.0'
120
+ type: :development
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - "~>"
125
+ - !ruby/object:Gem::Version
126
+ version: '6.0'
127
+ - !ruby/object:Gem::Dependency
128
+ name: rake
129
+ requirement: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - "~>"
132
+ - !ruby/object:Gem::Version
133
+ version: '10.0'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - "~>"
139
+ - !ruby/object:Gem::Version
140
+ version: '10.0'
141
+ - !ruby/object:Gem::Dependency
142
+ name: rspec
143
+ requirement: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - "~>"
146
+ - !ruby/object:Gem::Version
147
+ version: '3.0'
148
+ type: :development
149
+ prerelease: false
150
+ version_requirements: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - "~>"
153
+ - !ruby/object:Gem::Version
154
+ version: '3.0'
155
+ - !ruby/object:Gem::Dependency
156
+ name: rspec-rails
157
+ requirement: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - "~>"
160
+ - !ruby/object:Gem::Version
161
+ version: 3.0.0
162
+ type: :development
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - "~>"
167
+ - !ruby/object:Gem::Version
168
+ version: 3.0.0
169
+ description: Includes helper methods and modification to simple form.
170
+ email:
171
+ - rob.nichols@barnardos.org.uk
172
+ - marcin.jedras@barnardos.org.uk
173
+ executables: []
174
+ extensions: []
175
+ extra_rdoc_files: []
176
+ files:
177
+ - LICENSE.txt
178
+ - README.md
179
+ - lib/barnardos/ruby_design_system.rb
180
+ - lib/barnardos/ruby_design_system/component_helper.rb
181
+ - lib/barnardos/ruby_design_system/generators/ds_install/templates/postcss.config.js
182
+ - lib/barnardos/ruby_design_system/inputs/collection_check_boxes_input.rb
183
+ - lib/barnardos/ruby_design_system/inputs/collection_select_input.rb
184
+ - lib/barnardos/ruby_design_system/inputs/string_input.rb
185
+ - lib/barnardos/ruby_design_system/inputs/text_input.rb
186
+ - lib/barnardos/ruby_design_system/simple_form.rb
187
+ - lib/barnardos/ruby_design_system/version.rb
188
+ - lib/generators/barnardos/USAGE
189
+ - lib/generators/barnardos/install_generator.rb
190
+ - lib/generators/barnardos/templates/postcss.config.js
191
+ homepage: https://design-system.barnardos.org.uk
192
+ licenses:
193
+ - MIT
194
+ metadata: {}
195
+ post_install_message:
196
+ rdoc_options: []
197
+ require_paths:
198
+ - lib
199
+ required_ruby_version: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: '0'
204
+ required_rubygems_version: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ requirements: []
210
+ rubygems_version: 3.0.4
211
+ signing_key:
212
+ specification_version: 4
213
+ summary: Tools for applying Barnardo's Design System to Ruby projects.
214
+ test_files: []