metadata_presenter 1.2.1 → 1.5.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 +4 -4
- data/app/controllers/metadata_presenter/answers_controller.rb +31 -4
- data/app/models/metadata_presenter/component.rb +5 -1
- data/app/models/metadata_presenter/condition.rb +13 -0
- data/app/models/metadata_presenter/criteria.rb +25 -0
- data/app/models/metadata_presenter/evaluate_conditions.rb +29 -0
- data/app/models/metadata_presenter/file_uploader.rb +24 -0
- data/app/models/metadata_presenter/flow.rb +17 -0
- data/app/models/metadata_presenter/next_page.rb +53 -8
- data/app/models/metadata_presenter/offline_upload_adapter.rb +10 -0
- data/app/models/metadata_presenter/page.rb +4 -0
- data/app/models/metadata_presenter/page_answers.rb +2 -0
- data/app/models/metadata_presenter/service.rb +6 -0
- data/app/models/metadata_presenter/uploaded_file.rb +14 -0
- data/app/operators/metadata_presenter/base_operator.rb +20 -0
- data/app/operators/metadata_presenter/is_answered_operator.rb +7 -0
- data/app/operators/metadata_presenter/is_not_answered_operator.rb +7 -0
- data/app/operators/metadata_presenter/is_not_operator.rb +11 -0
- data/app/operators/metadata_presenter/is_operator.rb +11 -0
- data/app/operators/metadata_presenter/operator.rb +29 -0
- data/app/views/metadata_presenter/component/_upload.html.erb +1 -1
- data/config/initializers/inflections.rb +3 -0
- data/config/routes.rb +4 -1
- data/default_metadata/component/upload.json +1 -0
- data/fixtures/branching.json +883 -0
- data/lib/metadata_presenter/version.rb +1 -1
- data/lib/tasks/metadata_presenter_tasks.rake +52 -4
- metadata +17 -2
@@ -1,4 +1,52 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
require 'metadata_presenter/test_helpers'
|
2
|
+
|
3
|
+
namespace :metadata do
|
4
|
+
include MetadataPresenter::TestHelpers
|
5
|
+
|
6
|
+
desc 'Represent the flow objects in human readable form'
|
7
|
+
task flow: :environment do
|
8
|
+
service = MetadataPresenter::Service.new(metadata_fixture('branching'))
|
9
|
+
|
10
|
+
start_page = service.start_page
|
11
|
+
flow = service.flow(start_page.uuid)
|
12
|
+
first_page = service.find_page_by_uuid(flow.default_next)
|
13
|
+
|
14
|
+
humanized_flow = {}
|
15
|
+
|
16
|
+
humanized_flow[start_page.url] = {
|
17
|
+
next: first_page.url
|
18
|
+
}
|
19
|
+
|
20
|
+
service.metadata['flow'].each do |id, _metadata|
|
21
|
+
flow = service.flow(id)
|
22
|
+
|
23
|
+
if flow.branch?
|
24
|
+
page = service.find_page_by_uuid(flow.default_next)
|
25
|
+
humanized_flow[page.url] = {
|
26
|
+
conditions: flow.conditions.map do |condition|
|
27
|
+
{
|
28
|
+
condition_type: condition.condition_type,
|
29
|
+
criterias: condition.criterias.map do |criteria|
|
30
|
+
criteria.service = service
|
31
|
+
{
|
32
|
+
operator: criteria.operator,
|
33
|
+
page: criteria.criteria_page.url,
|
34
|
+
component: criteria.criteria_component.humanised_title,
|
35
|
+
field: criteria.field_label
|
36
|
+
}
|
37
|
+
end
|
38
|
+
}
|
39
|
+
end
|
40
|
+
}
|
41
|
+
else
|
42
|
+
page = service.find_page_by_uuid(id)
|
43
|
+
next_page = service.find_page_by_uuid(flow.default_next)
|
44
|
+
if next_page
|
45
|
+
humanized_flow[page.url] = { next: next_page.url }
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
pp humanized_flow
|
51
|
+
end
|
52
|
+
end
|
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: 1.
|
4
|
+
version: 1.5.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-06-
|
11
|
+
date: 2021-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: govuk_design_system_formbuilder
|
@@ -263,15 +263,28 @@ files:
|
|
263
263
|
- app/helpers/metadata_presenter/default_text.rb
|
264
264
|
- app/jobs/metadata_presenter/application_job.rb
|
265
265
|
- app/models/metadata_presenter/component.rb
|
266
|
+
- app/models/metadata_presenter/condition.rb
|
267
|
+
- app/models/metadata_presenter/criteria.rb
|
266
268
|
- app/models/metadata_presenter/date_field.rb
|
269
|
+
- app/models/metadata_presenter/evaluate_conditions.rb
|
270
|
+
- app/models/metadata_presenter/file_uploader.rb
|
271
|
+
- app/models/metadata_presenter/flow.rb
|
267
272
|
- app/models/metadata_presenter/item.rb
|
268
273
|
- app/models/metadata_presenter/meta.rb
|
269
274
|
- app/models/metadata_presenter/meta_item.rb
|
270
275
|
- app/models/metadata_presenter/metadata.rb
|
271
276
|
- app/models/metadata_presenter/next_page.rb
|
277
|
+
- app/models/metadata_presenter/offline_upload_adapter.rb
|
272
278
|
- app/models/metadata_presenter/page.rb
|
273
279
|
- app/models/metadata_presenter/page_answers.rb
|
274
280
|
- app/models/metadata_presenter/service.rb
|
281
|
+
- app/models/metadata_presenter/uploaded_file.rb
|
282
|
+
- app/operators/metadata_presenter/base_operator.rb
|
283
|
+
- app/operators/metadata_presenter/is_answered_operator.rb
|
284
|
+
- app/operators/metadata_presenter/is_not_answered_operator.rb
|
285
|
+
- app/operators/metadata_presenter/is_not_operator.rb
|
286
|
+
- app/operators/metadata_presenter/is_operator.rb
|
287
|
+
- app/operators/metadata_presenter/operator.rb
|
275
288
|
- app/presenters/metadata_presenter/page_answers_presenter.rb
|
276
289
|
- app/validators/metadata_presenter/accept_validator.rb
|
277
290
|
- app/validators/metadata_presenter/base_validator.rb
|
@@ -313,6 +326,7 @@ files:
|
|
313
326
|
- app/views/metadata_presenter/page/start.html.erb
|
314
327
|
- config/initializers/default_metadata.rb
|
315
328
|
- config/initializers/default_text.rb
|
329
|
+
- config/initializers/inflections.rb
|
316
330
|
- config/initializers/page_components.rb
|
317
331
|
- config/initializers/schemas.rb
|
318
332
|
- config/routes.rb
|
@@ -345,6 +359,7 @@ files:
|
|
345
359
|
- default_metadata/string/error.required.json
|
346
360
|
- default_metadata/string/error.virus_scan.json
|
347
361
|
- default_text/content.json
|
362
|
+
- fixtures/branching.json
|
348
363
|
- fixtures/invalid_content_page.json
|
349
364
|
- fixtures/no_component_page.json
|
350
365
|
- fixtures/non_finished_service.json
|