crown_marketplace_utils 0.1.0.beta.1 → 0.1.0.beta.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +0 -1
  3. data/.rubocop.yml +14 -0
  4. data/Gemfile +0 -4
  5. data/Gemfile.lock +45 -29
  6. data/README.md +44 -1
  7. data/crown_marketplace_utils.gemspec +11 -8
  8. data/lib/crown_marketplace_utils/gov_uk_helper/breadcrumbs.rb +76 -0
  9. data/lib/crown_marketplace_utils/gov_uk_helper/button.rb +130 -0
  10. data/lib/crown_marketplace_utils/gov_uk_helper/details.rb +14 -8
  11. data/lib/crown_marketplace_utils/gov_uk_helper/error_message.rb +18 -11
  12. data/lib/crown_marketplace_utils/gov_uk_helper/field/character_count.rb +193 -0
  13. data/lib/crown_marketplace_utils/gov_uk_helper/field/checkboxes.rb +209 -0
  14. data/lib/crown_marketplace_utils/gov_uk_helper/field/input.rb +160 -0
  15. data/lib/crown_marketplace_utils/gov_uk_helper/field/radios.rb +205 -0
  16. data/lib/crown_marketplace_utils/gov_uk_helper/field/select.rb +166 -0
  17. data/lib/crown_marketplace_utils/gov_uk_helper/field/textarea.rb +127 -0
  18. data/lib/crown_marketplace_utils/gov_uk_helper/field.rb +263 -0
  19. data/lib/crown_marketplace_utils/gov_uk_helper/fieldset.rb +75 -0
  20. data/lib/crown_marketplace_utils/gov_uk_helper/form_group.rb +60 -0
  21. data/lib/crown_marketplace_utils/gov_uk_helper/header.rb +172 -0
  22. data/lib/crown_marketplace_utils/gov_uk_helper/hint.rb +12 -6
  23. data/lib/crown_marketplace_utils/gov_uk_helper/label.rb +97 -0
  24. data/lib/crown_marketplace_utils/gov_uk_helper/notification_banner.rb +139 -0
  25. data/lib/crown_marketplace_utils/gov_uk_helper/pagination.rb +214 -0
  26. data/lib/crown_marketplace_utils/gov_uk_helper/step_by_step_navigation.rb +225 -0
  27. data/lib/crown_marketplace_utils/gov_uk_helper/tag.rb +39 -0
  28. data/lib/crown_marketplace_utils/gov_uk_helper.rb +37 -2
  29. data/lib/crown_marketplace_utils/version.rb +1 -1
  30. data/lib/crown_marketplace_utils.rb +6 -1
  31. metadata +75 -31
  32. data/lib/crown_marketplace_utils/engine.rb +0 -11
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'action_view'
4
+
5
+ module CrownMarketplaceUtils
6
+ module GovUkHelper
7
+ # = GOV.UK Tag
8
+ #
9
+ # This helper is used for generating the tag component from the
10
+ # {https://design-system.service.gov.uk/components/tag GDS - Components - Tag}
11
+
12
+ module Tag
13
+ include ActionView::Context
14
+ include ActionView::Helpers::TagHelper
15
+
16
+ # Generates the HTML for the GOV.UK Tag component
17
+ #
18
+ # @param text [String] the text for the tag
19
+ # @param colour [String] optional colour for the tag,
20
+ # see {https://design-system.service.gov.uk/components/tag/#additional-colours Tag - Additional colours}
21
+ # for available colours in GOV.UK Frontend
22
+ # @param govuk_tag_options [Hash] options that will be used in customising the HTML
23
+ #
24
+ # @option govuk_tag_options [String] :classes additional CSS classes for the tag HTML
25
+ # @option govuk_tag_options [Hash] :attributes ({}) any additional attributes that will added as part of the HTML
26
+ #
27
+ # @return [ActiveSupport::SafeBuffer] the HTML for the GOV.UK Tag
28
+ # which can then be rendered on the page
29
+
30
+ def govuk_tag(text, colour = nil, **govuk_tag_options)
31
+ govuk_tag_classes = ['govuk-tag']
32
+ govuk_tag_classes << "govuk-tag--#{colour}" if colour
33
+ govuk_tag_classes << govuk_tag_options[:classes]
34
+
35
+ tag.strong(text, class: govuk_tag_classes, **(govuk_tag_options[:attributes] || {}))
36
+ end
37
+ end
38
+ end
39
+ end
@@ -1,15 +1,50 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'gov_uk_helper/error_message'
3
+ require_relative 'gov_uk_helper/breadcrumbs'
4
+ require_relative 'gov_uk_helper/button'
4
5
  require_relative 'gov_uk_helper/details'
6
+ require_relative 'gov_uk_helper/error_message'
7
+ require_relative 'gov_uk_helper/field'
8
+ require_relative 'gov_uk_helper/field/character_count'
9
+ require_relative 'gov_uk_helper/field/checkboxes'
10
+ require_relative 'gov_uk_helper/field/input'
11
+ require_relative 'gov_uk_helper/field/select'
12
+ require_relative 'gov_uk_helper/field/textarea'
13
+ require_relative 'gov_uk_helper/field/radios'
14
+ require_relative 'gov_uk_helper/fieldset'
15
+ require_relative 'gov_uk_helper/form_group'
16
+ require_relative 'gov_uk_helper/header'
5
17
  require_relative 'gov_uk_helper/hint'
18
+ require_relative 'gov_uk_helper/label'
19
+ require_relative 'gov_uk_helper/notification_banner'
20
+ require_relative 'gov_uk_helper/pagination'
21
+ require_relative 'gov_uk_helper/step_by_step_navigation'
22
+ require_relative 'gov_uk_helper/tag'
6
23
 
7
24
  module CrownMarketplaceUtils
8
- # This module loads in all the GOV.UK Helper methods
25
+ # This module loads in all the GOV.UK Helper methods.
26
+ # These are a collection of view helpers to help render GOV.UK components
9
27
 
10
28
  module GovUkHelper
29
+ include Breadcrumbs
30
+ include Button
11
31
  include Details
12
32
  include ErrorMessage
33
+ include Field
34
+ include Field::CharacterCount
35
+ include Field::Checkboxes
36
+ include Field::Input
37
+ include Field::Radios
38
+ include Field::Select
39
+ include Field::Textarea
40
+ include Fieldset
41
+ include FormGroup
42
+ include Header
13
43
  include Hint
44
+ include Label
45
+ include NotificationBanner
46
+ include Pagination
47
+ include StepByStepNavigation
48
+ include Tag
14
49
  end
15
50
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CrownMarketplaceUtils
4
- VERSION = '0.1.0.beta.1'
4
+ VERSION = '0.1.0.beta.3'
5
5
  end
@@ -1,9 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'crown_marketplace_utils/gov_uk_helper'
4
- require 'crown_marketplace_utils/engine'
5
4
 
6
5
  require_relative 'crown_marketplace_utils/version'
7
6
 
7
+ # = Crown Marketplace Utilities
8
+ #
9
+ # The Crown Marketplace Utilities module contains code that is used in both Crown Marketplace projects.
10
+ # This includes:
11
+ # - view helpers to render GOV.UK components
12
+
8
13
  module CrownMarketplaceUtils
9
14
  end
metadata CHANGED
@@ -1,127 +1,155 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crown_marketplace_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.beta.1
4
+ version: 0.1.0.beta.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - tim-s-ccs
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-10-19 00:00:00.000000000 Z
11
+ date: 2022-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: actionview
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
19
+ version: '6.0'
20
+ type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '6.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.3'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: capybara
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 3.38.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 3.38.0
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: rails
29
57
  requirement: !ruby/object:Gem::Requirement
30
58
  requirements:
31
59
  - - ">="
32
60
  - !ruby/object:Gem::Version
33
- version: '0'
61
+ version: '6.0'
34
62
  type: :development
35
63
  prerelease: false
36
64
  version_requirements: !ruby/object:Gem::Requirement
37
65
  requirements:
38
66
  - - ">="
39
67
  - !ruby/object:Gem::Version
40
- version: '0'
68
+ version: '6.0'
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: rspec
43
71
  requirement: !ruby/object:Gem::Requirement
44
72
  requirements:
45
73
  - - "~>"
46
74
  - !ruby/object:Gem::Version
47
- version: '3.2'
75
+ version: '3.12'
48
76
  type: :development
49
77
  prerelease: false
50
78
  version_requirements: !ruby/object:Gem::Requirement
51
79
  requirements:
52
80
  - - "~>"
53
81
  - !ruby/object:Gem::Version
54
- version: '3.2'
82
+ version: '3.12'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: rubocop
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
- - - ">="
87
+ - - "~>"
60
88
  - !ruby/object:Gem::Version
61
- version: '0'
89
+ version: '1.36'
62
90
  type: :development
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
- - - ">="
94
+ - - "~>"
67
95
  - !ruby/object:Gem::Version
68
- version: '0'
96
+ version: '1.36'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: rubocop-rails
71
99
  requirement: !ruby/object:Gem::Requirement
72
100
  requirements:
73
- - - ">="
101
+ - - "~>"
74
102
  - !ruby/object:Gem::Version
75
- version: '0'
103
+ version: '2.16'
76
104
  type: :development
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
80
- - - ">="
108
+ - - "~>"
81
109
  - !ruby/object:Gem::Version
82
- version: '0'
110
+ version: '2.16'
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: rubocop-rake
85
113
  requirement: !ruby/object:Gem::Requirement
86
114
  requirements:
87
- - - ">="
115
+ - - "~>"
88
116
  - !ruby/object:Gem::Version
89
- version: '0'
117
+ version: '0.6'
90
118
  type: :development
91
119
  prerelease: false
92
120
  version_requirements: !ruby/object:Gem::Requirement
93
121
  requirements:
94
- - - ">="
122
+ - - "~>"
95
123
  - !ruby/object:Gem::Version
96
- version: '0'
124
+ version: '0.6'
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: rubocop-rspec
99
127
  requirement: !ruby/object:Gem::Requirement
100
128
  requirements:
101
- - - ">="
129
+ - - "~>"
102
130
  - !ruby/object:Gem::Version
103
- version: '0'
131
+ version: '2.13'
104
132
  type: :development
105
133
  prerelease: false
106
134
  version_requirements: !ruby/object:Gem::Requirement
107
135
  requirements:
108
- - - ">="
136
+ - - "~>"
109
137
  - !ruby/object:Gem::Version
110
- version: '0'
138
+ version: '2.13'
111
139
  - !ruby/object:Gem::Dependency
112
140
  name: yard
113
141
  requirement: !ruby/object:Gem::Requirement
114
142
  requirements:
115
- - - ">="
143
+ - - "~>"
116
144
  - !ruby/object:Gem::Version
117
- version: '0'
145
+ version: '0.9'
118
146
  type: :development
119
147
  prerelease: false
120
148
  version_requirements: !ruby/object:Gem::Requirement
121
149
  requirements:
122
- - - ">="
150
+ - - "~>"
123
151
  - !ruby/object:Gem::Version
124
- version: '0'
152
+ version: '0.9'
125
153
  description: A Gem containing shared code for the CCS Crown Marketplace projects,
126
154
  for example view helpers
127
155
  email:
@@ -140,11 +168,27 @@ files:
140
168
  - Rakefile
141
169
  - crown_marketplace_utils.gemspec
142
170
  - lib/crown_marketplace_utils.rb
143
- - lib/crown_marketplace_utils/engine.rb
144
171
  - lib/crown_marketplace_utils/gov_uk_helper.rb
172
+ - lib/crown_marketplace_utils/gov_uk_helper/breadcrumbs.rb
173
+ - lib/crown_marketplace_utils/gov_uk_helper/button.rb
145
174
  - lib/crown_marketplace_utils/gov_uk_helper/details.rb
146
175
  - lib/crown_marketplace_utils/gov_uk_helper/error_message.rb
176
+ - lib/crown_marketplace_utils/gov_uk_helper/field.rb
177
+ - lib/crown_marketplace_utils/gov_uk_helper/field/character_count.rb
178
+ - lib/crown_marketplace_utils/gov_uk_helper/field/checkboxes.rb
179
+ - lib/crown_marketplace_utils/gov_uk_helper/field/input.rb
180
+ - lib/crown_marketplace_utils/gov_uk_helper/field/radios.rb
181
+ - lib/crown_marketplace_utils/gov_uk_helper/field/select.rb
182
+ - lib/crown_marketplace_utils/gov_uk_helper/field/textarea.rb
183
+ - lib/crown_marketplace_utils/gov_uk_helper/fieldset.rb
184
+ - lib/crown_marketplace_utils/gov_uk_helper/form_group.rb
185
+ - lib/crown_marketplace_utils/gov_uk_helper/header.rb
147
186
  - lib/crown_marketplace_utils/gov_uk_helper/hint.rb
187
+ - lib/crown_marketplace_utils/gov_uk_helper/label.rb
188
+ - lib/crown_marketplace_utils/gov_uk_helper/notification_banner.rb
189
+ - lib/crown_marketplace_utils/gov_uk_helper/pagination.rb
190
+ - lib/crown_marketplace_utils/gov_uk_helper/step_by_step_navigation.rb
191
+ - lib/crown_marketplace_utils/gov_uk_helper/tag.rb
148
192
  - lib/crown_marketplace_utils/version.rb
149
193
  - sig/crown_marketplace_utils.rbs
150
194
  homepage: https://github.com/tim-s-ccs/crown_marketplace_utils
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails/engine'
4
-
5
- module CrownMarketplaceUtils
6
- class Engine < ::Rails::Engine
7
- initializer 'crown_marketplace_utils.engine' do |_app|
8
- ActiveSupport.on_load(:action_view) { include CrownMarketplaceUtils::GovUkHelper }
9
- end
10
- end
11
- end