metadata_presenter 0.22.0 → 0.23.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 79790874d3e01606cda561899935a3161a7a018606ca7c2e1ea37e5675576b4e
4
- data.tar.gz: 27ae8bc8e77f8e6dd3ca586c14ee2e435c6af695f5924d0de5b44ad6c262e167
3
+ metadata.gz: d1b2ff20300f6b643a7c83f8885c640b375babed55cd30798ca079bbd67b0506
4
+ data.tar.gz: ba841ff80433e9ff917a2d006eca7a53f618193640815e7594415a8945003c57
5
5
  SHA512:
6
- metadata.gz: 571d8aa49dfbe9a66cacf7c92e2bd9b1817146c4d02b56003f737c0e1dbd385f702d59bdb952a76fccff5e97c3adf499183422297cd935d09a955e217917d702
7
- data.tar.gz: 5b8531e7ec4c675fe2ee9b547a677660712641ac0f634ec9ca023802bec0ab57b5a0f7e897684e378783bc4f0949124de6d19e605a3a687bca54de9201b688dc
6
+ metadata.gz: 1298d445703206b693fb9153255362433a4476bca5e982aac89a847c8a902013d066e729bdf645ba48fd0b5f4a780b972a94a14740b3db8ba55879439e6fd33f
7
+ data.tar.gz: 12439df97cda7c675df1f53ebb4151ebdfc64509c64ce08b466c9f16ed67b2f02fb06e9777458c5da37bfc27c54ad5f4368372f07c56292a624d2d36f24196ef
data/Rakefile CHANGED
@@ -21,7 +21,7 @@ end
21
21
 
22
22
  task default: :rspec
23
23
 
24
- APP_RAKEFILE = File.expand_path("spec/dummy/Rakefile", __dir__)
24
+ APP_RAKEFILE = File.expand_path('spec/dummy/Rakefile', __dir__)
25
25
  load 'rails/tasks/engine.rake'
26
26
  load 'rails/tasks/statistics.rake'
27
27
  Bundler::GemHelper.install_tasks
@@ -17,7 +17,7 @@ module MetadataPresenter
17
17
  private
18
18
 
19
19
  def not_found
20
- render template: 'errors/404', status: 404
20
+ render template: 'errors/404', status: :not_found
21
21
  end
22
22
 
23
23
  def redirect_to_page(url)
@@ -12,9 +12,9 @@ module MetadataPresenter
12
12
  # <%=m '# Some markdown' %>
13
13
  #
14
14
  def m(text)
15
- (Kramdown::Document.new(text).to_html).html_safe
15
+ Kramdown::Document.new(text).to_html.html_safe
16
16
  end
17
- alias to_markdown m
17
+ alias_method :to_markdown, :m
18
18
 
19
19
  def default_text(property)
20
20
  MetadataPresenter::DefaultText[property]
@@ -4,7 +4,7 @@ class MetadataPresenter::Component < MetadataPresenter::Metadata
4
4
  end
5
5
 
6
6
  def humanised_title
7
- self.label || self.legend
7
+ label || legend
8
8
  end
9
9
 
10
10
  def items
@@ -9,7 +9,9 @@ module MetadataPresenter
9
9
  end
10
10
 
11
11
  def present?
12
+ # rubocop:disable Rails/Present
12
13
  !blank?
14
+ # rubocop:enable Rails/Present
13
15
  end
14
16
 
15
17
  def blank?
@@ -9,8 +9,8 @@ class MetadataPresenter::Metadata
9
9
  @editor = editor
10
10
  end
11
11
 
12
- def to_json
13
- self.to_h.to_json
12
+ def to_json(*_args)
13
+ to_h.to_json
14
14
  end
15
15
 
16
16
  def id
@@ -21,7 +21,7 @@ class MetadataPresenter::Metadata
21
21
  metadata._type
22
22
  end
23
23
 
24
- def respond_to_missing?(method_name, include_private = false)
24
+ def respond_to_missing?(method_name, _include_private = false)
25
25
  metadata.respond_to?(method_name)
26
26
  end
27
27
 
@@ -11,7 +11,7 @@ module MetadataPresenter
11
11
  end
12
12
 
13
13
  def editable_attributes
14
- self.to_h.reject { |k,_| k.in?([:_id, :_type, :steps]) }
14
+ to_h.reject { |k, _| k.in?(%i[_id _type steps]) }
15
15
  end
16
16
 
17
17
  def components
@@ -12,16 +12,14 @@ module MetadataPresenter
12
12
  ValidateAnswers.new(self, components: components).valid?
13
13
  end
14
14
 
15
- def components
16
- page.components
17
- end
15
+ delegate :components, to: :page
18
16
 
19
- def respond_to_missing?(method_name, include_private = false)
17
+ def respond_to_missing?(method_name, _include_private = false)
20
18
  method_name.to_s.in?(components.map(&:id))
21
19
  end
22
20
 
23
- def method_missing(method_name, *args, &block)
24
- component = components.find { |component| component.id == method_name.to_s }
21
+ def method_missing(method_name, *_args)
22
+ component = components.find { |c| c.id == method_name.to_s }
25
23
 
26
24
  if component && component.type == 'date'
27
25
  date_answer(component.id)
@@ -42,7 +40,7 @@ module MetadataPresenter
42
40
  GOVUKDesignSystemFormBuilder::Elements::Date::SEGMENTS[:month],
43
41
  GOVUKDesignSystemFormBuilder::Elements::Date::SEGMENTS[:year]
44
42
  ].map do |segment|
45
- answers["#{component_id.to_s}(#{segment})"]
43
+ answers["#{component_id}(#{segment})"]
46
44
  end
47
45
  end
48
46
 
@@ -1,6 +1,6 @@
1
1
  class MetadataPresenter::Service < MetadataPresenter::Metadata
2
2
  def pages
3
- @_pages ||= metadata.pages.map do |page|
3
+ @pages ||= metadata.pages.map do |page|
4
4
  MetadataPresenter::Page.new(page, editor: editor?)
5
5
  end
6
6
  end
@@ -1,10 +1,10 @@
1
1
  module MetadataPresenter
2
2
  class PageAnswersPresenter
3
- FIRST_ANSWER = 0.freeze
4
- NO_USER_INPUT = %w(page.checkanswers page.confirmation page.content).freeze
3
+ FIRST_ANSWER = 0
4
+ NO_USER_INPUT = %w[page.checkanswers page.confirmation page.content].freeze
5
5
 
6
6
  def self.map(view:, pages:, answers:)
7
- user_input_pages(pages).map do |page|
7
+ user_input_pages(pages).map { |page|
8
8
  Array(page.components).map do |component|
9
9
  new(
10
10
  view: view,
@@ -13,7 +13,7 @@ module MetadataPresenter
13
13
  answers: answers
14
14
  )
15
15
  end
16
- end.reject { |page| page.empty? }
16
+ }.reject(&:empty?)
17
17
  end
18
18
 
19
19
  def self.user_input_pages(pages)
@@ -21,6 +21,7 @@ module MetadataPresenter
21
21
  end
22
22
 
23
23
  attr_reader :view, :component, :page, :answers
24
+
24
25
  delegate :url, to: :page
25
26
  delegate :humanised_title, to: :component
26
27
 
@@ -37,6 +38,7 @@ module MetadataPresenter
37
38
  value = @page_answers.send(component.id)
38
39
 
39
40
  return '' if value.blank?
41
+
40
42
  if self.class.private_method_defined?(component.type.to_sym)
41
43
  send(component.type.to_sym, value)
42
44
  else
@@ -62,7 +64,7 @@ module MetadataPresenter
62
64
  end
63
65
 
64
66
  def checkboxes(value)
65
- value.join("<br>").html_safe
67
+ value.join('<br>').html_safe
66
68
  end
67
69
  end
68
70
  end
@@ -8,7 +8,7 @@ module MetadataPresenter
8
8
  end
9
9
 
10
10
  def valid?
11
- validators.map { |validator| validator.valid? }.all?
11
+ validators.map(&:valid?).all?
12
12
  end
13
13
 
14
14
  def invalid?
@@ -18,20 +18,20 @@ module MetadataPresenter
18
18
  private
19
19
 
20
20
  def validators
21
- components.map do |component|
21
+ components.map { |component|
22
22
  component_validations(component).map do |key|
23
23
  "MetadataPresenter::#{key.classify}Validator".constantize.new(
24
24
  page_answers: page_answers,
25
25
  component: component
26
26
  )
27
27
  end
28
- end.compact.flatten
28
+ }.compact.flatten
29
29
  end
30
30
 
31
31
  def component_validations(component)
32
32
  return [] if component.validation.blank?
33
33
 
34
- component.validation.select { |_,value| value.present? }.keys
34
+ component.validation.select { |_, value| value.present? }.keys
35
35
  end
36
36
  end
37
37
  end
@@ -37,7 +37,7 @@ class MetadataPresenter::ValidateSchema
37
37
  JSON::Validator.add_schema(jschema)
38
38
  JSON::Validator.schema_for_uri(schema_name).schema
39
39
  rescue Errno::ENOENT
40
- raise SchemaNotFoundError.new("Schema not found => #{schema_name}")
40
+ raise SchemaNotFoundError, "Schema not found => #{schema_name}"
41
41
  end
42
42
  end
43
43
  end
@@ -5,7 +5,7 @@ module MetadataPresenter
5
5
  end
6
6
 
7
7
  def fixtures_directory
8
- @_fixtures_directory ||=
8
+ @fixtures_directory ||=
9
9
  Pathname.new(MetadataPresenter::Engine.root.join('fixtures'))
10
10
  end
11
11
 
@@ -1,3 +1,3 @@
1
1
  module MetadataPresenter
2
- VERSION = '0.22.0'
2
+ VERSION = '0.23.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,35 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metadata_presenter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.22.0
4
+ version: 0.23.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - MoJ Online
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-30 00:00:00.000000000 Z
11
+ date: 2021-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rails
14
+ name: govuk_design_system_formbuilder
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 6.0.3.4
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: 6.2.0
19
+ version: 2.1.5
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - ">="
28
25
  - !ruby/object:Gem::Version
29
- version: 6.0.3.4
30
- - - "<"
26
+ version: 2.1.5
27
+ - !ruby/object:Gem::Dependency
28
+ name: json-schema
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
31
32
  - !ruby/object:Gem::Version
32
- version: 6.2.0
33
+ version: 2.8.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 2.8.1
33
41
  - !ruby/object:Gem::Dependency
34
42
  name: kramdown
35
43
  requirement: !ruby/object:Gem::Requirement
@@ -45,35 +53,41 @@ dependencies:
45
53
  - !ruby/object:Gem::Version
46
54
  version: 2.3.0
47
55
  - !ruby/object:Gem::Dependency
48
- name: govuk_design_system_formbuilder
56
+ name: rails
49
57
  requirement: !ruby/object:Gem::Requirement
50
58
  requirements:
51
59
  - - ">="
52
60
  - !ruby/object:Gem::Version
53
- version: 2.1.5
61
+ version: 6.0.3.4
62
+ - - "<"
63
+ - !ruby/object:Gem::Version
64
+ version: 6.2.0
54
65
  type: :runtime
55
66
  prerelease: false
56
67
  version_requirements: !ruby/object:Gem::Requirement
57
68
  requirements:
58
69
  - - ">="
59
70
  - !ruby/object:Gem::Version
60
- version: 2.1.5
71
+ version: 6.0.3.4
72
+ - - "<"
73
+ - !ruby/object:Gem::Version
74
+ version: 6.2.0
61
75
  - !ruby/object:Gem::Dependency
62
- name: json-schema
76
+ name: better_errors
63
77
  requirement: !ruby/object:Gem::Requirement
64
78
  requirements:
65
79
  - - ">="
66
80
  - !ruby/object:Gem::Version
67
- version: 2.8.1
68
- type: :runtime
81
+ version: '0'
82
+ type: :development
69
83
  prerelease: false
70
84
  version_requirements: !ruby/object:Gem::Requirement
71
85
  requirements:
72
86
  - - ">="
73
87
  - !ruby/object:Gem::Version
74
- version: 2.8.1
88
+ version: '0'
75
89
  - !ruby/object:Gem::Dependency
76
- name: sqlite3
90
+ name: binding_of_caller
77
91
  requirement: !ruby/object:Gem::Requirement
78
92
  requirements:
79
93
  - - ">="
@@ -87,7 +101,7 @@ dependencies:
87
101
  - !ruby/object:Gem::Version
88
102
  version: '0'
89
103
  - !ruby/object:Gem::Dependency
90
- name: byebug
104
+ name: brakeman
91
105
  requirement: !ruby/object:Gem::Requirement
92
106
  requirements:
93
107
  - - ">="
@@ -101,7 +115,7 @@ dependencies:
101
115
  - !ruby/object:Gem::Version
102
116
  version: '0'
103
117
  - !ruby/object:Gem::Dependency
104
- name: rspec-rails
118
+ name: byebug
105
119
  requirement: !ruby/object:Gem::Requirement
106
120
  requirements:
107
121
  - - ">="
@@ -115,7 +129,7 @@ dependencies:
115
129
  - !ruby/object:Gem::Version
116
130
  version: '0'
117
131
  - !ruby/object:Gem::Dependency
118
- name: better_errors
132
+ name: rspec-rails
119
133
  requirement: !ruby/object:Gem::Requirement
120
134
  requirements:
121
135
  - - ">="
@@ -129,7 +143,21 @@ dependencies:
129
143
  - !ruby/object:Gem::Version
130
144
  version: '0'
131
145
  - !ruby/object:Gem::Dependency
132
- name: binding_of_caller
146
+ name: rubocop
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: 1.10.0
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: 1.10.0
159
+ - !ruby/object:Gem::Dependency
160
+ name: rubocop-govuk
133
161
  requirement: !ruby/object:Gem::Requirement
134
162
  requirements:
135
163
  - - ">="
@@ -157,7 +185,7 @@ dependencies:
157
185
  - !ruby/object:Gem::Version
158
186
  version: '0'
159
187
  - !ruby/object:Gem::Dependency
160
- name: site_prism
188
+ name: simplecov-console
161
189
  requirement: !ruby/object:Gem::Requirement
162
190
  requirements:
163
191
  - - ">="
@@ -171,7 +199,7 @@ dependencies:
171
199
  - !ruby/object:Gem::Version
172
200
  version: '0'
173
201
  - !ruby/object:Gem::Dependency
174
- name: simplecov-console
202
+ name: site_prism
175
203
  requirement: !ruby/object:Gem::Requirement
176
204
  requirements:
177
205
  - - ">="
@@ -185,7 +213,7 @@ dependencies:
185
213
  - !ruby/object:Gem::Version
186
214
  version: '0'
187
215
  - !ruby/object:Gem::Dependency
188
- name: yard
216
+ name: sqlite3
189
217
  requirement: !ruby/object:Gem::Requirement
190
218
  requirements:
191
219
  - - ">="
@@ -199,7 +227,7 @@ dependencies:
199
227
  - !ruby/object:Gem::Version
200
228
  version: '0'
201
229
  - !ruby/object:Gem::Dependency
202
- name: brakeman
230
+ name: yard
203
231
  requirement: !ruby/object:Gem::Requirement
204
232
  requirements:
205
233
  - - ">="