metadata_presenter 0.1.6 → 0.3.1
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 +4 -4
- data/README.md +13 -0
- data/app/controllers/metadata_presenter/answers_controller.rb +15 -4
- data/app/controllers/metadata_presenter/pages_controller.rb +1 -1
- data/app/helpers/metadata_presenter/application_helper.rb +18 -0
- data/app/models/metadata_presenter/component.rb +1 -1
- data/app/models/metadata_presenter/next_page.rb +1 -1
- data/app/models/metadata_presenter/page.rb +8 -0
- data/app/models/metadata_presenter/service.rb +7 -3
- data/app/views/metadata_presenter/component/_text.html.erb +1 -1
- data/app/views/metadata_presenter/page/{summary.html.erb → checkanswers.html.erb} +3 -3
- data/app/views/metadata_presenter/page/singlequestion.html.erb +2 -2
- data/app/views/metadata_presenter/page/start.html.erb +8 -2
- data/config/routes.rb +3 -1
- data/default_metadata/component/text.json +8 -0
- data/default_metadata/page/{summary.json → checkanswers.json} +4 -2
- data/default_metadata/page/confirmation.json +1 -0
- data/default_metadata/page/singlequestion.json +9 -0
- data/default_metadata/page/start.json +10 -0
- data/default_metadata/service/base.json +1 -11
- data/fixtures/service.json +2 -0
- data/fixtures/version.json +8 -1
- data/lib/metadata_presenter/test_helpers.rb +21 -0
- data/lib/metadata_presenter/version.rb +1 -1
- data/schemas/definition/page.json +5 -0
- data/schemas/page/{summary.json → checkanswers.json} +3 -3
- data/schemas/page/start.json +12 -1
- metadata +9 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: da4d7d444ed39c7f2f0815e1c7a6034893106531275dd4de9f97f655e5b6615f
|
|
4
|
+
data.tar.gz: 3e952b54e9652043c6f56d601a82e6bdc414f0c76a932cd17209be26a0914933
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e0fd8beaea7b9141a1d58b94083b1757efeaee7160df08f347a5a47d1253736c3cdc7912e17fc0da28cd4ce8c0e8ad210c594a2bd4287c39e9ce0f8477977909
|
|
7
|
+
data.tar.gz: 1e768d8037be04a9e6f94c20a901cd3e29a9196cdcde94addd206ce468d2cc1ceaf19991daf22f02a2e1f42415f9a355e0e9b666f905a7f947c9d0345fa12ce5
|
data/README.md
CHANGED
|
@@ -47,6 +47,7 @@ that you need to write the following methods in your controller:
|
|
|
47
47
|
|
|
48
48
|
1. save_user_data
|
|
49
49
|
2. load_user_data
|
|
50
|
+
3. editable?
|
|
50
51
|
|
|
51
52
|
The user answers can be accessed via `params[:answers]`.
|
|
52
53
|
|
|
@@ -63,6 +64,18 @@ An example of implementation:
|
|
|
63
64
|
end
|
|
64
65
|
```
|
|
65
66
|
|
|
67
|
+
The `editable?` is related if the pages and components could be editable in the
|
|
68
|
+
mountable app:
|
|
69
|
+
|
|
70
|
+
```ruby
|
|
71
|
+
class MyAwesomeController
|
|
72
|
+
def editable?
|
|
73
|
+
false
|
|
74
|
+
end
|
|
75
|
+
helper_method :editable?
|
|
76
|
+
end
|
|
77
|
+
```
|
|
78
|
+
|
|
66
79
|
## Generate documentation
|
|
67
80
|
|
|
68
81
|
Run `rake doc` and open the doc/index.html
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
module MetadataPresenter
|
|
2
2
|
class AnswersController < EngineController
|
|
3
|
+
before_action :check_page_exists
|
|
4
|
+
|
|
3
5
|
def create
|
|
4
6
|
if page.validate_answers(answers_params)
|
|
5
7
|
save_user_data # method signature
|
|
@@ -12,15 +14,16 @@ module MetadataPresenter
|
|
|
12
14
|
private
|
|
13
15
|
|
|
14
16
|
def page
|
|
15
|
-
@page ||=
|
|
16
|
-
service.
|
|
17
|
-
|
|
17
|
+
@page ||= begin
|
|
18
|
+
current_page = service.find_page_by_url(page_url)
|
|
19
|
+
MetadataPresenter::Page.new(current_page.metadata) if current_page
|
|
20
|
+
end
|
|
18
21
|
end
|
|
19
22
|
|
|
20
23
|
def redirect_to_next_page
|
|
21
24
|
next_page = NextPage.new(service).find(
|
|
22
25
|
session: session,
|
|
23
|
-
current_page_url:
|
|
26
|
+
current_page_url: page_url
|
|
24
27
|
)
|
|
25
28
|
|
|
26
29
|
if next_page.present?
|
|
@@ -38,5 +41,13 @@ module MetadataPresenter
|
|
|
38
41
|
def answers_params
|
|
39
42
|
params[:answers] ? params[:answers].permit! : {}
|
|
40
43
|
end
|
|
44
|
+
|
|
45
|
+
def page_url
|
|
46
|
+
request.env['PATH_INFO']
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def check_page_exists
|
|
50
|
+
not_found if page.blank?
|
|
51
|
+
end
|
|
41
52
|
end
|
|
42
53
|
end
|
|
@@ -2,7 +2,7 @@ module MetadataPresenter
|
|
|
2
2
|
class PagesController < EngineController
|
|
3
3
|
def show
|
|
4
4
|
@user_data = load_user_data # method signature
|
|
5
|
-
@page ||= service.
|
|
5
|
+
@page ||= service.find_page_by_url(request.env['PATH_INFO'])
|
|
6
6
|
|
|
7
7
|
if @page
|
|
8
8
|
render template: @page.template
|
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
module MetadataPresenter
|
|
2
2
|
module ApplicationHelper
|
|
3
|
+
## Display user answers on the view
|
|
4
|
+
## When the user doesn't answered yet the component will be blank
|
|
5
|
+
# or with data otherwise, so doing the if in every output is not
|
|
6
|
+
# pratical.
|
|
7
|
+
#
|
|
8
|
+
# The below example search for 'first_name' in the user data instance
|
|
9
|
+
# variable as long your load_user_data in the controller sets the variable.
|
|
10
|
+
#
|
|
11
|
+
# @example
|
|
12
|
+
# <%= a('first_name') %>
|
|
13
|
+
#
|
|
14
|
+
def a(component_key)
|
|
15
|
+
if @user_data.present?
|
|
16
|
+
@user_data[component_key]
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
alias answer a
|
|
20
|
+
|
|
3
21
|
def to_markdown(text)
|
|
4
22
|
(Kramdown::Document.new(text).to_html).html_safe
|
|
5
23
|
end
|
|
@@ -9,7 +9,7 @@ module MetadataPresenter
|
|
|
9
9
|
def find(session:, current_page_url:)
|
|
10
10
|
if session[:return_to_check_you_answer].present?
|
|
11
11
|
session[:return_to_check_you_answer] = nil
|
|
12
|
-
service.pages.find { |page| page.type == 'page.
|
|
12
|
+
service.pages.find { |page| page.type == 'page.checkanswers' }
|
|
13
13
|
else
|
|
14
14
|
service.next_page(from: current_page_url)
|
|
15
15
|
end
|
|
@@ -6,10 +6,18 @@ module MetadataPresenter
|
|
|
6
6
|
ValidateAnswers.new(page: self, answers: answers).valid?
|
|
7
7
|
end
|
|
8
8
|
|
|
9
|
+
def uuid
|
|
10
|
+
_uuid
|
|
11
|
+
end
|
|
12
|
+
|
|
9
13
|
def ==(other)
|
|
10
14
|
id == other.id if other.respond_to? :id
|
|
11
15
|
end
|
|
12
16
|
|
|
17
|
+
def editable_attributes
|
|
18
|
+
self.to_h.reject { |k,_| k.in?([:_id, :_type, :steps]) }
|
|
19
|
+
end
|
|
20
|
+
|
|
13
21
|
def components
|
|
14
22
|
metadata.components&.map do |component|
|
|
15
23
|
MetadataPresenter::Component.new(component)
|
|
@@ -7,12 +7,16 @@ class MetadataPresenter::Service < MetadataPresenter::Metadata
|
|
|
7
7
|
pages.first
|
|
8
8
|
end
|
|
9
9
|
|
|
10
|
-
def
|
|
11
|
-
pages.find { |page| page.url ==
|
|
10
|
+
def find_page_by_url(url)
|
|
11
|
+
pages.find { |page| page.url == url }
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def find_page_by_uuid(uuid)
|
|
15
|
+
pages.find { |page| page.uuid == uuid }
|
|
12
16
|
end
|
|
13
17
|
|
|
14
18
|
def next_page(from:)
|
|
15
|
-
current_page =
|
|
19
|
+
current_page = find_page_by_url(from)
|
|
16
20
|
pages[pages.index(current_page) + 1] if current_page.present?
|
|
17
21
|
end
|
|
18
22
|
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<% end %>
|
|
26
26
|
|
|
27
27
|
<%= form_for @page, url: reserved_submissions_path do |f| %>
|
|
28
|
-
<div data-block-id="page.
|
|
28
|
+
<div data-block-id="page.checkanswers.answers" data-block-type="answers">
|
|
29
29
|
<dl class="fb-block fb-block-answers govuk-summary-list">
|
|
30
30
|
<% @service.pages.each do |page| %>
|
|
31
31
|
<% Array(page.components).each do |component| %>
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
</dt>
|
|
36
36
|
|
|
37
37
|
<dd class="govuk-summary-list__value">
|
|
38
|
-
<%=
|
|
38
|
+
<%=a component.name %>
|
|
39
39
|
</dd>
|
|
40
40
|
<dd class="govuk-summary-list__actions">
|
|
41
41
|
<%= link_to(
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
</div>
|
|
67
67
|
<% end %>
|
|
68
68
|
|
|
69
|
-
<button data-prevent-double-click="true" class="fb-block fb-block-actions govuk-button" data-module="govuk-button" data-block-id="actions" data-block-type="actions">
|
|
69
|
+
<button <%= 'disabled' if editable? %> data-prevent-double-click="true" class="fb-block fb-block-actions govuk-button" data-module="govuk-button" data-block-id="actions" data-block-type="actions">
|
|
70
70
|
Accept and send application
|
|
71
71
|
</button>
|
|
72
72
|
<% end %>
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
<%= @page.heading.html_safe %>
|
|
6
6
|
</h1>
|
|
7
7
|
|
|
8
|
-
<%= form_for @page, url:
|
|
8
|
+
<%= form_for @page, url: @page.url, method: :post do |f| %>
|
|
9
9
|
<%= f.govuk_error_summary %>
|
|
10
10
|
<% @page.components.each do |component| %>
|
|
11
11
|
<%= render partial: component, locals: { component: component, f: f } %>
|
|
12
12
|
<% end %>
|
|
13
13
|
|
|
14
|
-
<%= f.govuk_submit %>
|
|
14
|
+
<%= f.govuk_submit(disabled: editable?) %>
|
|
15
15
|
<% end %>
|
|
16
16
|
</div>
|
|
17
17
|
</div>
|
|
@@ -25,14 +25,20 @@
|
|
|
25
25
|
</p>
|
|
26
26
|
<%- end %>
|
|
27
27
|
|
|
28
|
-
<%= form_tag(
|
|
29
|
-
<button class='govuk-button govuk-button--start govuk-!-margin-top-2'>
|
|
28
|
+
<%= form_tag(@page.url, method: :post) do %>
|
|
29
|
+
<button <%= 'disabled' if editable? %> class='govuk-button govuk-button--start govuk-!-margin-top-2'>
|
|
30
30
|
Start
|
|
31
31
|
<svg class="govuk-button__start-icon" xmlns="http://www.w3.org/2000/svg" width="17.5" height="19" viewBox="0 0 33 40" aria-hidden="true" focusable="false">
|
|
32
32
|
<path fill="currentColor" d="M0 0h13l20 20-20 20H0l20-20z" />
|
|
33
33
|
</svg>
|
|
34
34
|
</button>
|
|
35
35
|
<% end %>
|
|
36
|
+
|
|
37
|
+
<% if @page.before_you_start %>
|
|
38
|
+
<p class="govuk-body-l" data-block-id="<%= @page.id %>" data-block-property="before-you-start">
|
|
39
|
+
<%= to_markdown(@page.before_you_start) %>
|
|
40
|
+
</p>
|
|
41
|
+
<%- end %>
|
|
36
42
|
</div>
|
|
37
43
|
</div>
|
|
38
44
|
</div>
|
data/config/routes.rb
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
MetadataPresenter::Engine.routes.draw do
|
|
2
2
|
root to: 'service#start'
|
|
3
3
|
|
|
4
|
-
post '/reserved/:page_url/answers', to: 'answers#create', as: :reserved_answers
|
|
5
4
|
post '/reserved/submissions', to: 'submissions#create', as: :reserved_submissions
|
|
6
5
|
get '/reserved/change-answer', to: 'change_answer#create', as: :change_answer
|
|
6
|
+
|
|
7
|
+
post '/', to: 'answers#create'
|
|
8
|
+
match '*path', to: 'answers#create', via: :post
|
|
7
9
|
match '*path', to: 'pages#show', via: :all
|
|
8
10
|
end
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_id": "page.
|
|
2
|
+
"_id": "page.checkanswers",
|
|
3
|
+
"_type": "page.checkanswers",
|
|
3
4
|
"heading": "Check your answers",
|
|
4
5
|
"send_heading": "Now send your application",
|
|
5
|
-
"send_body": "By submitting this application you confirm that, to the best of your knowledge, the details you are providing are correct."
|
|
6
|
+
"send_body": "By submitting this application you confirm that, to the best of your knowledge, the details you are providing are correct.",
|
|
7
|
+
"components": []
|
|
6
8
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_id": "page.start",
|
|
3
|
+
"_type": "page.start",
|
|
4
|
+
"heading": "Service name goes here",
|
|
5
|
+
"lede": "This is your start page first paragraph. You can only have one paragraph here.",
|
|
6
|
+
"body": "Use this service to:\r\n\r\n* do something\r\n* update your name, address or other details\r\n* do something else\r\n\r\nRegistering takes around 5 minutes.",
|
|
7
|
+
"before_you_start": "###Before you start\r\nYou can also register by post.\r\n\r\nThe online service is also available in Welsh (Cymraeg).\r\n\r\nYou cannot register for this service if you’re in the UK illegally.",
|
|
8
|
+
"steps": [],
|
|
9
|
+
"url": "/"
|
|
10
|
+
}
|
|
@@ -3,16 +3,6 @@
|
|
|
3
3
|
"_type": "service.base",
|
|
4
4
|
"service_name": "Service name",
|
|
5
5
|
"configuration": {},
|
|
6
|
-
"pages": [
|
|
7
|
-
{
|
|
8
|
-
"_id": "page.start",
|
|
9
|
-
"_type": "page.start",
|
|
10
|
-
"heading": "Service name goes here",
|
|
11
|
-
"lede": "This is your start page first paragraph. You can only have one paragraph here.",
|
|
12
|
-
"body": "Use this service to:\r\n\r\n* do something\r\n* update your name, address or other details\r\n* do something else\r\n\r\nRegistering takes around 5 minutes.",
|
|
13
|
-
"steps": [],
|
|
14
|
-
"url": "/"
|
|
15
|
-
}
|
|
16
|
-
],
|
|
6
|
+
"pages": [],
|
|
17
7
|
"locale": "en"
|
|
18
8
|
}
|
data/fixtures/service.json
CHANGED
|
@@ -35,11 +35,13 @@
|
|
|
35
35
|
},
|
|
36
36
|
"pages": [
|
|
37
37
|
{
|
|
38
|
+
"_uuid": "9626b2e9-5ef0-4070-8331-ac55151b22c4",
|
|
38
39
|
"_id": "page.start",
|
|
39
40
|
"_type": "page.start",
|
|
40
41
|
"heading": "Service name goes here",
|
|
41
42
|
"lede": "Use this service to:",
|
|
42
43
|
"body": "Use this service to:\r\n\r\n* do something\r\n* update your name, address or other details\r\n* do something else\r\n\r\nRegistering takes around 5 minutes.",
|
|
44
|
+
"before_you_start": "###Before you start\r\nYou can also register by post.\r\n\r\nThe online service is also available in Welsh (Cymraeg).\r\n\r\nYou cannot register for this service if you’re in the UK illegally.",
|
|
43
45
|
"steps": [],
|
|
44
46
|
"url": "/"
|
|
45
47
|
}
|
data/fixtures/version.json
CHANGED
|
@@ -36,11 +36,13 @@
|
|
|
36
36
|
},
|
|
37
37
|
"pages": [
|
|
38
38
|
{
|
|
39
|
+
"_uuid": "fa391697-ae82-4416-adc3-3433e54ce535",
|
|
39
40
|
"_id": "page.start",
|
|
40
41
|
"_type": "page.start",
|
|
41
42
|
"heading": "Service name goes here",
|
|
42
43
|
"lede": "This is your start page first paragraph. You can only have one paragraph here.",
|
|
43
44
|
"body": "Use this service to:\r\n\r\n* do something\r\n* update your name, address or other details\r\n* do something else\r\n\r\nRegistering takes around 5 minutes.",
|
|
45
|
+
"before_you_start": "###Before you start\r\nYou can also register by post.\r\n\r\nThe online service is also available in Welsh (Cymraeg).\r\n\r\nYou cannot register for this service if you’re in the UK illegally.",
|
|
44
46
|
"steps": [
|
|
45
47
|
"page.name",
|
|
46
48
|
"page.email-address",
|
|
@@ -51,6 +53,7 @@
|
|
|
51
53
|
"url": "/"
|
|
52
54
|
},
|
|
53
55
|
{
|
|
56
|
+
"_uuid": "847c4a0c-1c5f-4391-8847-42c8d82f1d0b",
|
|
54
57
|
"_id": "page.name",
|
|
55
58
|
"_type": "page.singlequestion",
|
|
56
59
|
"components": [
|
|
@@ -70,6 +73,7 @@
|
|
|
70
73
|
"url": "/name"
|
|
71
74
|
},
|
|
72
75
|
{
|
|
76
|
+
"_uuid": "ccf49acb-ad33-4fd3-8a7e-f0594b86cc96",
|
|
73
77
|
"_id": "page.email-address",
|
|
74
78
|
"_type": "page.singlequestion",
|
|
75
79
|
"heading": "Email address",
|
|
@@ -101,6 +105,7 @@
|
|
|
101
105
|
"url": "/email-address"
|
|
102
106
|
},
|
|
103
107
|
{
|
|
108
|
+
"_uuid": "7b748584-100e-4d81-a54a-5049190136cc",
|
|
104
109
|
"_id": "page.parent_name",
|
|
105
110
|
"_type": "page.singlequestion",
|
|
106
111
|
"components": [
|
|
@@ -120,8 +125,9 @@
|
|
|
120
125
|
"url": "/parent-name"
|
|
121
126
|
},
|
|
122
127
|
{
|
|
128
|
+
"_uuid": "e819d0c2-7062-4997-89cf-44d26d098404",
|
|
123
129
|
"_id": "page._check-answers",
|
|
124
|
-
"_type": "page.
|
|
130
|
+
"_type": "page.checkanswers",
|
|
125
131
|
"body": "Optional content",
|
|
126
132
|
"heading": "Review your answer",
|
|
127
133
|
"lede": "First paragraph",
|
|
@@ -131,6 +137,7 @@
|
|
|
131
137
|
"url": "/check-answers"
|
|
132
138
|
},
|
|
133
139
|
{
|
|
140
|
+
"_uuid": "b238a22f-c180-48d0-a7d9-8aad2036f1f2",
|
|
134
141
|
"_id": "page._confirmation",
|
|
135
142
|
"_type": "page.confirmation",
|
|
136
143
|
"body": "You'll receive a confirmation email",
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module MetadataPresenter
|
|
2
|
+
module TestHelpers
|
|
3
|
+
def service
|
|
4
|
+
MetadataPresenter::Service.new(service_metadata)
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
def fixtures_directory
|
|
8
|
+
@_fixtures_directory ||=
|
|
9
|
+
Pathname.new(MetadataPresenter::Engine.root.join('fixtures'))
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def service_metadata
|
|
13
|
+
metadata_fixture(:version)
|
|
14
|
+
JSON.parse(File.read(fixtures_directory.join('version.json')))
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def metadata_fixture(fixture_name)
|
|
18
|
+
JSON.parse(File.read(fixtures_directory.join("#{fixture_name}.json")))
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
"id_seed": "url",
|
|
5
5
|
"title": "Page definition",
|
|
6
6
|
"properties": {
|
|
7
|
+
"_uuid": {
|
|
8
|
+
"title": "Unique identifier of the page",
|
|
9
|
+
"description": "Used internally in the editor and the runner."
|
|
10
|
+
},
|
|
7
11
|
"url": {
|
|
8
12
|
"title": "URL",
|
|
9
13
|
"description": "The page’s relative url - it must not contain any spaces",
|
|
@@ -95,6 +99,7 @@
|
|
|
95
99
|
}
|
|
96
100
|
],
|
|
97
101
|
"required": [
|
|
102
|
+
"_uuid",
|
|
98
103
|
"url"
|
|
99
104
|
],
|
|
100
105
|
"category": [
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$id": "http://gov.uk/schema/v1.0.0/page/
|
|
3
|
-
"_name": "page.
|
|
2
|
+
"$id": "http://gov.uk/schema/v1.0.0/page/checkanswers",
|
|
3
|
+
"_name": "page.checkanswers",
|
|
4
4
|
"title": "Check answers",
|
|
5
5
|
"description": "Let users check and change their answers before submitting",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
8
|
"_type": {
|
|
9
|
-
"const": "page.
|
|
9
|
+
"const": "page.checkanswers"
|
|
10
10
|
},
|
|
11
11
|
"section_heading": {
|
|
12
12
|
"title": "Section heading",
|
data/schemas/page/start.json
CHANGED
|
@@ -5,9 +5,16 @@
|
|
|
5
5
|
"description": "Let users start using a service",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
|
+
"_id": {
|
|
9
|
+
"const": "page.start"
|
|
10
|
+
},
|
|
8
11
|
"_type": {
|
|
9
12
|
"const": "page.start"
|
|
10
13
|
},
|
|
14
|
+
"before_you_start": {
|
|
15
|
+
"title": "Before you start",
|
|
16
|
+
"description": "A body of text that goes after the Start button"
|
|
17
|
+
},
|
|
11
18
|
"enable_steps": {
|
|
12
19
|
"const": true
|
|
13
20
|
},
|
|
@@ -25,10 +32,14 @@
|
|
|
25
32
|
"ui_category": {
|
|
26
33
|
"main": [
|
|
27
34
|
"lede",
|
|
28
|
-
"body"
|
|
35
|
+
"body",
|
|
36
|
+
"before_you_start"
|
|
29
37
|
]
|
|
30
38
|
},
|
|
31
39
|
"required": [
|
|
40
|
+
"_id",
|
|
41
|
+
"_type",
|
|
42
|
+
"heading",
|
|
32
43
|
"steps"
|
|
33
44
|
]
|
|
34
45
|
}
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: metadata_presenter
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1
|
|
4
|
+
version: 0.3.1
|
|
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-01-
|
|
11
|
+
date: 2021-01-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|
|
@@ -247,18 +247,21 @@ files:
|
|
|
247
247
|
- app/views/layouts/metadata_presenter/application.html.erb
|
|
248
248
|
- app/views/metadata_presenter/component/_text.html.erb
|
|
249
249
|
- app/views/metadata_presenter/header/show.html.erb
|
|
250
|
+
- app/views/metadata_presenter/page/checkanswers.html.erb
|
|
250
251
|
- app/views/metadata_presenter/page/confirmation.html.erb
|
|
251
252
|
- app/views/metadata_presenter/page/form.html.erb
|
|
252
253
|
- app/views/metadata_presenter/page/singlequestion.html.erb
|
|
253
254
|
- app/views/metadata_presenter/page/start.html.erb
|
|
254
|
-
- app/views/metadata_presenter/page/summary.html.erb
|
|
255
255
|
- config/initializers/default_metadata.rb
|
|
256
256
|
- config/initializers/schemas.rb
|
|
257
257
|
- config/routes.rb
|
|
258
|
+
- default_metadata/component/text.json
|
|
258
259
|
- default_metadata/config/meta.json
|
|
259
260
|
- default_metadata/config/service.json
|
|
261
|
+
- default_metadata/page/checkanswers.json
|
|
260
262
|
- default_metadata/page/confirmation.json
|
|
261
|
-
- default_metadata/page/
|
|
263
|
+
- default_metadata/page/singlequestion.json
|
|
264
|
+
- default_metadata/page/start.json
|
|
262
265
|
- default_metadata/service/base.json
|
|
263
266
|
- default_metadata/string/error.max_length.json
|
|
264
267
|
- default_metadata/string/error.min_length.json
|
|
@@ -268,6 +271,7 @@ files:
|
|
|
268
271
|
- fixtures/version.json
|
|
269
272
|
- lib/metadata_presenter.rb
|
|
270
273
|
- lib/metadata_presenter/engine.rb
|
|
274
|
+
- lib/metadata_presenter/test_helpers.rb
|
|
271
275
|
- lib/metadata_presenter/version.rb
|
|
272
276
|
- lib/tasks/metadata_presenter_tasks.rake
|
|
273
277
|
- schemas/condition/condition.json
|
|
@@ -305,9 +309,9 @@ files:
|
|
|
305
309
|
- schemas/definition/width_class.json
|
|
306
310
|
- schemas/errors/errors.json
|
|
307
311
|
- schemas/link/link.json
|
|
312
|
+
- schemas/page/checkanswers.json
|
|
308
313
|
- schemas/page/confirmation.json
|
|
309
314
|
- schemas/page/start.json
|
|
310
|
-
- schemas/page/summary.json
|
|
311
315
|
- schemas/request/service.json
|
|
312
316
|
- schemas/service/base.json
|
|
313
317
|
- schemas/service/configuration.json
|