smartdown 0.15.1 → 0.16.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f47fb019abd5649229c8ab02d196e35d3c724ae0
4
+ data.tar.gz: 7ea588b5c394ea9e646629f857e79e8e90389e23
5
+ SHA512:
6
+ metadata.gz: 87631d8cd876dd58aef6c93cecfa93f4ba5d7e0f5f74fe49e39cd94821fc6088a2b49604e21c29bcae2cd2407ea24a516939ccef17e94cac9fb8d52f11cb2d01
7
+ data.tar.gz: e9d8583d53c48f80817078f262491f01e4eddb221b8fd9f153af7b2b5051d321debf15f8fb74e8ca087e6d5c98b0198096df111f2f1d8d8652f817f7b7d465e3
@@ -22,7 +22,7 @@ else
22
22
  engine = Smartdown::Engine.new(flow)
23
23
  end_state = engine.process(responses)
24
24
 
25
- puts "RESPONSES: " + end_state.get(:responses).join(" / ")
25
+ puts "RESPONSES: " + end_state.get(:accepted_responses).join(" / ")
26
26
  puts "PATH: " + (end_state.get(:path) + [end_state.get(:current_node)]).join(" -> ")
27
27
  node = engine.evaluate_node(end_state)
28
28
  puts "# #{node.title}\n\n"
@@ -46,6 +46,10 @@ module Smartdown
46
46
  front_matter.fetch :satisfies_need, nil
47
47
  end
48
48
 
49
+ def content_id
50
+ front_matter.fetch :content_id, nil
51
+ end
52
+
49
53
  def status
50
54
  front_matter.status
51
55
  end
@@ -1,3 +1,3 @@
1
1
  module Smartdown
2
- VERSION = "0.15.1"
2
+ VERSION = "0.16.0"
3
3
  end
@@ -141,8 +141,9 @@ describe Smartdown::Api::Flow do
141
141
  it "has a need id" do
142
142
  expect(flow.need_id).to eq("100982")
143
143
  end
144
- end
145
144
 
145
+ it "has a content id" do
146
+ expect(flow.content_id).to eq("A-NICE-CONTENT-ID")
147
+ end
148
+ end
146
149
  end
147
-
148
-
@@ -0,0 +1,59 @@
1
+ require 'spec_helper'
2
+ require 'pathname'
3
+ require 'English'
4
+
5
+ RSpec.describe 'bin/smartdown' do
6
+ let(:executable_path) {
7
+ Pathname.new('../../bin/smartdown').expand_path(File.dirname(__FILE__))
8
+ }
9
+
10
+ def fixture(name)
11
+ File.dirname(__FILE__) + "/../fixtures/acceptance/#{name}/#{name}.txt"
12
+ end
13
+
14
+ let(:input) { fixture("animal-example-simple") }
15
+
16
+ before(:each) do
17
+ @output = `LANG="en_GB.UTF-8" #{executable_path} "#{input}" #{responses} 2>&1`
18
+ fail(raw_output) unless $CHILD_STATUS.success?
19
+ end
20
+
21
+ describe 'invocation with no response' do
22
+ let(:responses) { "" }
23
+
24
+ it "prints the cover page including RESPONSES and PATH" do
25
+ expect(@output).to include("RESPONSES:")
26
+ expect(@output).to include("PATH: animal-example-simple")
27
+ end
28
+ end
29
+
30
+ describe 'invocation with single "y" response' do
31
+ let(:responses) { "y" }
32
+
33
+ it "prints the cover page including RESPONSES and PATH" do
34
+ expect(@output).to include("RESPONSES: y")
35
+ expect(@output).to include("PATH: animal-example-simple -> question_1")
36
+ expect(@output).to include("What type of feline do you have?")
37
+ end
38
+ end
39
+
40
+ describe 'invocation with single responses "y lion"' do
41
+ let(:responses) { "y lion" }
42
+
43
+ it "prints the cover page including RESPONSES and PATH" do
44
+ expect(@output).to include("RESPONSES: y / lion")
45
+ expect(@output).to include("PATH: animal-example-simple -> question_1 -> question_2")
46
+ expect(@output).to include("Are you trained for lions?")
47
+ end
48
+ end
49
+
50
+ describe 'invocation with single responses "y lion yes"' do
51
+ let(:responses) { "y lion yes" }
52
+
53
+ it "prints the outcome page including RESPONSES and PATH" do
54
+ expect(@output).to include("RESPONSES: y / lion / yes")
55
+ expect(@output).to include("PATH: animal-example-simple -> question_1 -> question_2 -> outcome_trained_with_lions")
56
+ expect(@output).to include("You'll be alright, I think.")
57
+ end
58
+ end
59
+ end
@@ -2,6 +2,7 @@
2
2
  meta_description: Animals eh?
3
3
  satisfies_need: 100982
4
4
  status: draft
5
+ content_id: A-NICE-CONTENT-ID
5
6
  ---
6
7
 
7
8
  # A simple example of smartdown
metadata CHANGED
@@ -1,93 +1,113 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smartdown
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.1
5
- prerelease:
4
+ version: 0.16.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - David Heath
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2015-04-24 00:00:00.000000000 Z
11
+ date: 2015-09-22 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: parslet
16
- requirement: &9418360 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
19
  version: 1.6.2
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *9418360
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 1.6.2
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: uk_postcode
27
- requirement: &9417520 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - ~>
31
+ - - "~>"
31
32
  - !ruby/object:Gem::Version
32
33
  version: 1.0.1
33
34
  type: :runtime
34
35
  prerelease: false
35
- version_requirements: *9417520
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 1.0.1
36
41
  - !ruby/object:Gem::Dependency
37
42
  name: rspec
38
- requirement: &9443720 !ruby/object:Gem::Requirement
39
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
40
44
  requirements:
41
- - - ~>
45
+ - - "~>"
42
46
  - !ruby/object:Gem::Version
43
47
  version: 3.0.0
44
48
  type: :development
45
49
  prerelease: false
46
- version_requirements: *9443720
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 3.0.0
47
55
  - !ruby/object:Gem::Dependency
48
56
  name: rake
49
- requirement: &9443260 !ruby/object:Gem::Requirement
50
- none: false
57
+ requirement: !ruby/object:Gem::Requirement
51
58
  requirements:
52
- - - ! '>='
59
+ - - ">="
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  type: :development
56
63
  prerelease: false
57
- version_requirements: *9443260
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: pry
60
- requirement: &9442700 !ruby/object:Gem::Requirement
61
- none: false
71
+ requirement: !ruby/object:Gem::Requirement
62
72
  requirements:
63
- - - ! '>='
73
+ - - ">="
64
74
  - !ruby/object:Gem::Version
65
75
  version: '0'
66
76
  type: :development
67
77
  prerelease: false
68
- version_requirements: *9442700
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: gem_publisher
71
- requirement: &9442080 !ruby/object:Gem::Requirement
72
- none: false
85
+ requirement: !ruby/object:Gem::Requirement
73
86
  requirements:
74
- - - ! '>='
87
+ - - ">="
75
88
  - !ruby/object:Gem::Version
76
89
  version: '0'
77
90
  type: :development
78
91
  prerelease: false
79
- version_requirements: *9442080
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
80
97
  - !ruby/object:Gem::Dependency
81
98
  name: timecop
82
- requirement: &9440800 !ruby/object:Gem::Requirement
83
- none: false
99
+ requirement: !ruby/object:Gem::Requirement
84
100
  requirements:
85
- - - ! '>='
101
+ - - ">="
86
102
  - !ruby/object:Gem::Version
87
103
  version: '0'
88
104
  type: :development
89
105
  prerelease: false
90
- version_requirements: *9440800
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
91
111
  description:
92
112
  email: david.heath@digital.cabinet-office.gov.uk
93
113
  executables:
@@ -95,342 +115,337 @@ executables:
95
115
  extensions: []
96
116
  extra_rdoc_files: []
97
117
  files:
118
+ - LICENSE.md
119
+ - README.md
120
+ - bin/smartdown
98
121
  - lib/smartdown.rb
99
- - lib/smartdown/engine.rb
100
- - lib/smartdown/parser/predicates.rb
101
- - lib/smartdown/parser/node_transform.rb
102
- - lib/smartdown/parser/question.rb
103
- - lib/smartdown/parser/node_interpreter.rb
104
- - lib/smartdown/parser/scenario_set_interpreter.rb
105
- - lib/smartdown/parser/snippet_pre_parser.rb
106
- - lib/smartdown/parser/base.rb
107
- - lib/smartdown/parser/input_set.rb
108
- - lib/smartdown/parser/directory_input.rb
109
- - lib/smartdown/parser/rules.rb
110
- - lib/smartdown/parser/node_parser.rb
111
- - lib/smartdown/parser/scenario_sets_interpreter.rb
112
- - lib/smartdown/parser/element/date_question.rb
113
- - lib/smartdown/parser/element/markdown_blank_line.rb
114
- - lib/smartdown/parser/element/salary_question.rb
115
- - lib/smartdown/parser/element/postcode_question.rb
116
- - lib/smartdown/parser/element/money_question.rb
117
- - lib/smartdown/parser/element/conditional.rb
118
- - lib/smartdown/parser/element/marker.rb
119
- - lib/smartdown/parser/element/start_button.rb
120
- - lib/smartdown/parser/element/front_matter.rb
121
- - lib/smartdown/parser/element/country_question.rb
122
- - lib/smartdown/parser/element/markdown_line.rb
123
- - lib/smartdown/parser/element/multiple_choice_question.rb
124
- - lib/smartdown/parser/element/next_steps.rb
125
- - lib/smartdown/parser/element/markdown_heading.rb
126
- - lib/smartdown/parser/element/text_question.rb
127
- - lib/smartdown/parser/flow_interpreter.rb
128
- - lib/smartdown/parser/option_pairs_transform.rb
129
- - lib/smartdown/api/date_question.rb
122
+ - lib/smartdown/api/country_question.rb
130
123
  - lib/smartdown/api/coversheet.rb
131
- - lib/smartdown/api/question.rb
132
- - lib/smartdown/api/salary_question.rb
133
- - lib/smartdown/api/postcode_question.rb
124
+ - lib/smartdown/api/date_question.rb
125
+ - lib/smartdown/api/directory_input.rb
134
126
  - lib/smartdown/api/flow.rb
135
- - lib/smartdown/api/question_page.rb
136
127
  - lib/smartdown/api/money_question.rb
137
- - lib/smartdown/api/state.rb
128
+ - lib/smartdown/api/multiple_choice.rb
138
129
  - lib/smartdown/api/node.rb
139
- - lib/smartdown/api/directory_input.rb
140
- - lib/smartdown/api/previous_question.rb
141
130
  - lib/smartdown/api/outcome.rb
142
- - lib/smartdown/api/country_question.rb
143
- - lib/smartdown/api/multiple_choice.rb
144
- - lib/smartdown/api/text_question.rb
131
+ - lib/smartdown/api/postcode_question.rb
132
+ - lib/smartdown/api/previous_question.rb
145
133
  - lib/smartdown/api/previous_question_page.rb
146
- - lib/smartdown/version.rb
134
+ - lib/smartdown/api/question.rb
135
+ - lib/smartdown/api/question_page.rb
136
+ - lib/smartdown/api/salary_question.rb
137
+ - lib/smartdown/api/state.rb
138
+ - lib/smartdown/api/text_question.rb
139
+ - lib/smartdown/engine.rb
140
+ - lib/smartdown/engine/conditional_resolver.rb
141
+ - lib/smartdown/engine/errors.rb
142
+ - lib/smartdown/engine/interpolator.rb
147
143
  - lib/smartdown/engine/node_presenter.rb
148
144
  - lib/smartdown/engine/state.rb
149
- - lib/smartdown/engine/conditional_resolver.rb
150
145
  - lib/smartdown/engine/transition.rb
151
- - lib/smartdown/engine/interpolator.rb
152
- - lib/smartdown/engine/errors.rb
153
- - lib/smartdown/model/scenarios/question.rb
154
- - lib/smartdown/model/scenarios/scenario_set.rb
155
- - lib/smartdown/model/scenarios/scenario.rb
156
- - lib/smartdown/model/elements.rb
157
- - lib/smartdown/model/flow.rb
158
- - lib/smartdown/model/predicate/named.rb
159
- - lib/smartdown/model/predicate/set_membership.rb
160
- - lib/smartdown/model/predicate/and_operation.rb
161
- - lib/smartdown/model/predicate/function.rb
162
- - lib/smartdown/model/predicate/equality.rb
163
- - lib/smartdown/model/predicate/comparison/less_or_equal.rb
164
- - lib/smartdown/model/predicate/comparison/greater_or_equal.rb
165
- - lib/smartdown/model/predicate/comparison/base.rb
166
- - lib/smartdown/model/predicate/comparison/greater.rb
167
- - lib/smartdown/model/predicate/comparison/less.rb
168
- - lib/smartdown/model/predicate/not_operation.rb
169
- - lib/smartdown/model/predicate/otherwise.rb
170
- - lib/smartdown/model/predicate/or_operation.rb
171
- - lib/smartdown/model/node.rb
172
- - lib/smartdown/model/front_matter.rb
173
- - lib/smartdown/model/answer/date.rb
174
146
  - lib/smartdown/model/answer/base.rb
175
- - lib/smartdown/model/answer/salary.rb
176
- - lib/smartdown/model/answer/postcode.rb
177
147
  - lib/smartdown/model/answer/country.rb
148
+ - lib/smartdown/model/answer/date.rb
178
149
  - lib/smartdown/model/answer/money.rb
179
150
  - lib/smartdown/model/answer/multiple_choice.rb
151
+ - lib/smartdown/model/answer/postcode.rb
152
+ - lib/smartdown/model/answer/salary.rb
180
153
  - lib/smartdown/model/answer/text.rb
181
- - lib/smartdown/model/element/question.rb
182
154
  - lib/smartdown/model/element/conditional.rb
183
- - lib/smartdown/model/element/marker.rb
184
- - lib/smartdown/model/element/start_button.rb
155
+ - lib/smartdown/model/element/markdown_heading.rb
185
156
  - lib/smartdown/model/element/markdown_line.rb
157
+ - lib/smartdown/model/element/marker.rb
186
158
  - lib/smartdown/model/element/next_steps.rb
187
- - lib/smartdown/model/element/markdown_heading.rb
188
- - lib/smartdown/model/element/question/date.rb
189
- - lib/smartdown/model/element/question/salary.rb
190
- - lib/smartdown/model/element/question/postcode.rb
159
+ - lib/smartdown/model/element/question.rb
191
160
  - lib/smartdown/model/element/question/country.rb
161
+ - lib/smartdown/model/element/question/date.rb
192
162
  - lib/smartdown/model/element/question/money.rb
193
163
  - lib/smartdown/model/element/question/multiple_choice.rb
164
+ - lib/smartdown/model/element/question/postcode.rb
165
+ - lib/smartdown/model/element/question/salary.rb
194
166
  - lib/smartdown/model/element/question/text.rb
195
- - lib/smartdown/model/next_node_rules.rb
167
+ - lib/smartdown/model/element/start_button.rb
168
+ - lib/smartdown/model/elements.rb
169
+ - lib/smartdown/model/flow.rb
170
+ - lib/smartdown/model/front_matter.rb
196
171
  - lib/smartdown/model/nested_rule.rb
172
+ - lib/smartdown/model/next_node_rules.rb
173
+ - lib/smartdown/model/node.rb
174
+ - lib/smartdown/model/predicate/and_operation.rb
175
+ - lib/smartdown/model/predicate/comparison/base.rb
176
+ - lib/smartdown/model/predicate/comparison/greater.rb
177
+ - lib/smartdown/model/predicate/comparison/greater_or_equal.rb
178
+ - lib/smartdown/model/predicate/comparison/less.rb
179
+ - lib/smartdown/model/predicate/comparison/less_or_equal.rb
180
+ - lib/smartdown/model/predicate/equality.rb
181
+ - lib/smartdown/model/predicate/function.rb
182
+ - lib/smartdown/model/predicate/named.rb
183
+ - lib/smartdown/model/predicate/not_operation.rb
184
+ - lib/smartdown/model/predicate/or_operation.rb
185
+ - lib/smartdown/model/predicate/otherwise.rb
186
+ - lib/smartdown/model/predicate/set_membership.rb
197
187
  - lib/smartdown/model/rule.rb
198
- - bin/smartdown
199
- - LICENSE.md
200
- - README.md
188
+ - lib/smartdown/model/scenarios/question.rb
189
+ - lib/smartdown/model/scenarios/scenario.rb
190
+ - lib/smartdown/model/scenarios/scenario_set.rb
191
+ - lib/smartdown/parser/base.rb
192
+ - lib/smartdown/parser/directory_input.rb
193
+ - lib/smartdown/parser/element/conditional.rb
194
+ - lib/smartdown/parser/element/country_question.rb
195
+ - lib/smartdown/parser/element/date_question.rb
196
+ - lib/smartdown/parser/element/front_matter.rb
197
+ - lib/smartdown/parser/element/markdown_blank_line.rb
198
+ - lib/smartdown/parser/element/markdown_heading.rb
199
+ - lib/smartdown/parser/element/markdown_line.rb
200
+ - lib/smartdown/parser/element/marker.rb
201
+ - lib/smartdown/parser/element/money_question.rb
202
+ - lib/smartdown/parser/element/multiple_choice_question.rb
203
+ - lib/smartdown/parser/element/next_steps.rb
204
+ - lib/smartdown/parser/element/postcode_question.rb
205
+ - lib/smartdown/parser/element/salary_question.rb
206
+ - lib/smartdown/parser/element/start_button.rb
207
+ - lib/smartdown/parser/element/text_question.rb
208
+ - lib/smartdown/parser/flow_interpreter.rb
209
+ - lib/smartdown/parser/input_set.rb
210
+ - lib/smartdown/parser/node_interpreter.rb
211
+ - lib/smartdown/parser/node_parser.rb
212
+ - lib/smartdown/parser/node_transform.rb
213
+ - lib/smartdown/parser/option_pairs_transform.rb
214
+ - lib/smartdown/parser/predicates.rb
215
+ - lib/smartdown/parser/question.rb
216
+ - lib/smartdown/parser/rules.rb
217
+ - lib/smartdown/parser/scenario_set_interpreter.rb
218
+ - lib/smartdown/parser/scenario_sets_interpreter.rb
219
+ - lib/smartdown/parser/snippet_pre_parser.rb
220
+ - lib/smartdown/version.rb
221
+ - spec/acceptance/flow_spec.rb
201
222
  - spec/acceptance/parsing_spec.rb
202
223
  - spec/acceptance/smartdown_cli_spec.rb
203
- - spec/acceptance/flow_spec.rb
204
- - spec/parser/directory_input_spec.rb
205
- - spec/parser/integration/cover_sheet_spec.rb
206
- - spec/parser/base_spec.rb
207
- - spec/parser/input_set_spec.rb
208
- - spec/parser/rules_spec.rb
209
- - spec/parser/scenario_set_interpreter_spec.rb
210
- - spec/parser/predicates_spec.rb
211
- - spec/parser/scenario_sets_interpreter_spec.rb
212
- - spec/parser/element/postcode_question_spec.rb
213
- - spec/parser/element/next_steps_spec.rb
214
- - spec/parser/element/multiple_choice_question_spec.rb
215
- - spec/parser/element/country_question_spec.rb
216
- - spec/parser/element/conditional_spec.rb
217
- - spec/parser/element/start_button_parser_spec.rb
218
- - spec/parser/element/marker_spec.rb
219
- - spec/parser/element/date_question_spec.rb
220
- - spec/parser/element/markdown_heading_spec.rb
221
- - spec/parser/element/front_matter_spec.rb
222
- - spec/parser/element/salary_question_spec.rb
223
- - spec/parser/element/markdown_line_spec.rb
224
- - spec/parser/element/text_question_spec.rb
225
- - spec/parser/element/money_question_spec.rb
226
- - spec/parser/option_pairs_transform_spec.rb
227
- - spec/parser/node_parser_spec.rb
228
- - spec/parser/snippet_pre_parser_spec.rb
229
- - spec/support/flow_input_interface.rb
230
- - spec/support/model_builder.rb
231
- - spec/api/outcome_spec.rb
232
- - spec/api/state_spec.rb
233
- - spec/api/node_spec.rb
234
- - spec/api/question_spec.rb
235
224
  - spec/api/date_question_spec.rb
225
+ - spec/api/node_spec.rb
226
+ - spec/api/outcome_spec.rb
236
227
  - spec/api/previous_question_spec.rb
237
- - spec/spec_helper.rb
238
- - spec/engine/state_spec.rb
228
+ - spec/api/question_spec.rb
229
+ - spec/api/state_spec.rb
230
+ - spec/bin/smartdown_spec.rb
231
+ - spec/engine/conditional_resolver_spec.rb
239
232
  - spec/engine/interpolator_spec.rb
233
+ - spec/engine/state_spec.rb
240
234
  - spec/engine/transition_spec.rb
241
- - spec/engine/conditional_resolver_spec.rb
242
- - spec/fixtures/directory_input/scenarios/s1.txt
243
- - spec/fixtures/directory_input/outcomes/nested/o1.txt
244
- - spec/fixtures/directory_input/outcomes/o1.txt
245
- - spec/fixtures/directory_input/questions/q1.txt
246
- - spec/fixtures/directory_input/cover-sheet.txt
247
- - spec/fixtures/directory_input/snippets/nested/nested_again/nsn1.txt
248
- - spec/fixtures/directory_input/snippets/sn1.txt
249
- - spec/fixtures/acceptance/question-and-outcome/question-and-outcome.txt
250
- - spec/fixtures/acceptance/question-and-outcome/outcomes/o1.txt
251
- - spec/fixtures/acceptance/question-and-outcome/questions/q1.txt
252
- - spec/fixtures/acceptance/animal-example-simple/scenarios/tigers_and_cats.txt
253
- - spec/fixtures/acceptance/animal-example-simple/scenarios/lions.txt
254
- - spec/fixtures/acceptance/animal-example-simple/outcomes/outcome_untrained_with_lions.txt
255
- - spec/fixtures/acceptance/animal-example-simple/outcomes/outcome_tigers_are_fine.txt
256
- - spec/fixtures/acceptance/animal-example-simple/outcomes/outcome_can_outrun_a_lion.txt
257
- - spec/fixtures/acceptance/animal-example-simple/outcomes/outcome_safe_pet.txt
258
- - spec/fixtures/acceptance/animal-example-simple/outcomes/outcome_trained_with_lions.txt
259
- - spec/fixtures/acceptance/animal-example-simple/animal-example-simple.txt
260
- - spec/fixtures/acceptance/animal-example-simple/questions/question_3.txt
261
- - spec/fixtures/acceptance/animal-example-simple/questions/question_1.txt
262
- - spec/fixtures/acceptance/animal-example-simple/questions/question_2.txt
263
- - spec/fixtures/acceptance/animal-example-multiple/scenarios/tigers_and_cats.txt
264
- - spec/fixtures/acceptance/animal-example-multiple/scenarios/lions.txt
265
- - spec/fixtures/acceptance/animal-example-multiple/outcomes/outcome_trained_with_tigers.txt
266
- - spec/fixtures/acceptance/animal-example-multiple/outcomes/outcome_untrained_with_lions.txt
267
- - spec/fixtures/acceptance/animal-example-multiple/outcomes/outcome_tigers_are_fine.txt
235
+ - spec/engine_spec.rb
236
+ - spec/fixtures/acceptance/animal-example-multiple/animal-example-multiple.txt
268
237
  - spec/fixtures/acceptance/animal-example-multiple/outcomes/outcome_safe_pet.txt
238
+ - spec/fixtures/acceptance/animal-example-multiple/outcomes/outcome_tigers_are_fine.txt
269
239
  - spec/fixtures/acceptance/animal-example-multiple/outcomes/outcome_trained_with_lions.txt
270
- - spec/fixtures/acceptance/animal-example-multiple/animal-example-multiple.txt
271
- - spec/fixtures/acceptance/animal-example-multiple/questions/question_3.txt
240
+ - spec/fixtures/acceptance/animal-example-multiple/outcomes/outcome_trained_with_tigers.txt
241
+ - spec/fixtures/acceptance/animal-example-multiple/outcomes/outcome_untrained_with_lions.txt
272
242
  - spec/fixtures/acceptance/animal-example-multiple/questions/question_1.txt
273
243
  - spec/fixtures/acceptance/animal-example-multiple/questions/question_2.txt
244
+ - spec/fixtures/acceptance/animal-example-multiple/questions/question_3.txt
274
245
  - spec/fixtures/acceptance/animal-example-multiple/questions/question_4.txt
246
+ - spec/fixtures/acceptance/animal-example-multiple/scenarios/lions.txt
247
+ - spec/fixtures/acceptance/animal-example-multiple/scenarios/tigers_and_cats.txt
248
+ - spec/fixtures/acceptance/animal-example-simple/animal-example-simple.txt
249
+ - spec/fixtures/acceptance/animal-example-simple/outcomes/outcome_can_outrun_a_lion.txt
250
+ - spec/fixtures/acceptance/animal-example-simple/outcomes/outcome_safe_pet.txt
251
+ - spec/fixtures/acceptance/animal-example-simple/outcomes/outcome_tigers_are_fine.txt
252
+ - spec/fixtures/acceptance/animal-example-simple/outcomes/outcome_trained_with_lions.txt
253
+ - spec/fixtures/acceptance/animal-example-simple/outcomes/outcome_untrained_with_lions.txt
254
+ - spec/fixtures/acceptance/animal-example-simple/questions/question_1.txt
255
+ - spec/fixtures/acceptance/animal-example-simple/questions/question_2.txt
256
+ - spec/fixtures/acceptance/animal-example-simple/questions/question_3.txt
257
+ - spec/fixtures/acceptance/animal-example-simple/scenarios/lions.txt
258
+ - spec/fixtures/acceptance/animal-example-simple/scenarios/tigers_and_cats.txt
275
259
  - spec/fixtures/acceptance/cover-sheet/cover-sheet.txt
276
260
  - spec/fixtures/acceptance/one-question/one-question.txt
277
261
  - spec/fixtures/acceptance/one-question/questions/q1.txt
262
+ - spec/fixtures/acceptance/question-and-outcome/outcomes/o1.txt
263
+ - spec/fixtures/acceptance/question-and-outcome/question-and-outcome.txt
264
+ - spec/fixtures/acceptance/question-and-outcome/questions/q1.txt
278
265
  - spec/fixtures/acceptance/snippet/snippet.txt
279
266
  - spec/fixtures/acceptance/snippet/snippets/the_snippet.txt
267
+ - spec/fixtures/directory_input/cover-sheet.txt
268
+ - spec/fixtures/directory_input/outcomes/nested/o1.txt
269
+ - spec/fixtures/directory_input/outcomes/o1.txt
270
+ - spec/fixtures/directory_input/questions/q1.txt
271
+ - spec/fixtures/directory_input/scenarios/s1.txt
272
+ - spec/fixtures/directory_input/snippets/nested/nested_again/nsn1.txt
273
+ - spec/fixtures/directory_input/snippets/sn1.txt
280
274
  - spec/fixtures/example.sd
281
- - spec/support_specs/model_builder_spec.rb
282
- - spec/engine_spec.rb
283
- - spec/model/node_spec.rb
284
- - spec/model/front_matter_spec.rb
285
- - spec/model/flow_spec.rb
286
- - spec/model/answer/money_spec.rb
287
- - spec/model/answer/multiple_choice_spec.rb
288
- - spec/model/answer/text_spec.rb
289
275
  - spec/model/answer/base_spec.rb
290
- - spec/model/answer/salary_spec.rb
276
+ - spec/model/answer/country_spec.rb
291
277
  - spec/model/answer/date_spec.rb
278
+ - spec/model/answer/money_spec.rb
279
+ - spec/model/answer/multiple_choice_spec.rb
292
280
  - spec/model/answer/postcode_spec.rb
293
- - spec/model/answer/country_spec.rb
281
+ - spec/model/answer/salary_spec.rb
282
+ - spec/model/answer/text_spec.rb
294
283
  - spec/model/element/question_spec.rb
295
- - spec/model/predicates/not_operation_spec.rb
296
- - spec/model/predicates/set_membership_spec.rb
297
- - spec/model/predicates/or_operation_spec.rb
284
+ - spec/model/flow_spec.rb
285
+ - spec/model/front_matter_spec.rb
286
+ - spec/model/node_spec.rb
287
+ - spec/model/predicates/and_operation_spec.rb
298
288
  - spec/model/predicates/comparison_spec.rb
299
289
  - spec/model/predicates/equality_spec.rb
300
- - spec/model/predicates/named_spec.rb
301
- - spec/model/predicates/and_operation_spec.rb
302
290
  - spec/model/predicates/function_spec.rb
291
+ - spec/model/predicates/named_spec.rb
292
+ - spec/model/predicates/not_operation_spec.rb
293
+ - spec/model/predicates/or_operation_spec.rb
294
+ - spec/model/predicates/set_membership_spec.rb
295
+ - spec/parser/base_spec.rb
296
+ - spec/parser/directory_input_spec.rb
297
+ - spec/parser/element/conditional_spec.rb
298
+ - spec/parser/element/country_question_spec.rb
299
+ - spec/parser/element/date_question_spec.rb
300
+ - spec/parser/element/front_matter_spec.rb
301
+ - spec/parser/element/markdown_heading_spec.rb
302
+ - spec/parser/element/markdown_line_spec.rb
303
+ - spec/parser/element/marker_spec.rb
304
+ - spec/parser/element/money_question_spec.rb
305
+ - spec/parser/element/multiple_choice_question_spec.rb
306
+ - spec/parser/element/next_steps_spec.rb
307
+ - spec/parser/element/postcode_question_spec.rb
308
+ - spec/parser/element/salary_question_spec.rb
309
+ - spec/parser/element/start_button_parser_spec.rb
310
+ - spec/parser/element/text_question_spec.rb
311
+ - spec/parser/input_set_spec.rb
312
+ - spec/parser/integration/cover_sheet_spec.rb
313
+ - spec/parser/node_parser_spec.rb
314
+ - spec/parser/option_pairs_transform_spec.rb
315
+ - spec/parser/predicates_spec.rb
316
+ - spec/parser/rules_spec.rb
317
+ - spec/parser/scenario_set_interpreter_spec.rb
318
+ - spec/parser/scenario_sets_interpreter_spec.rb
319
+ - spec/parser/snippet_pre_parser_spec.rb
320
+ - spec/spec_helper.rb
321
+ - spec/support/flow_input_interface.rb
322
+ - spec/support/model_builder.rb
323
+ - spec/support_specs/model_builder_spec.rb
303
324
  homepage: https://github.com/alphagov/smartdown
304
325
  licenses:
305
326
  - MIT
327
+ metadata: {}
306
328
  post_install_message:
307
329
  rdoc_options: []
308
330
  require_paths:
309
331
  - lib
310
332
  required_ruby_version: !ruby/object:Gem::Requirement
311
- none: false
312
333
  requirements:
313
- - - ! '>='
334
+ - - ">="
314
335
  - !ruby/object:Gem::Version
315
336
  version: '0'
316
- segments:
317
- - 0
318
- hash: 488478183176058608
319
337
  required_rubygems_version: !ruby/object:Gem::Requirement
320
- none: false
321
338
  requirements:
322
- - - ! '>='
339
+ - - ">="
323
340
  - !ruby/object:Gem::Version
324
341
  version: '0'
325
- segments:
326
- - 0
327
- hash: 488478183176058608
328
342
  requirements: []
329
343
  rubyforge_project:
330
- rubygems_version: 1.8.11
344
+ rubygems_version: 2.4.5.1
331
345
  signing_key:
332
- specification_version: 3
346
+ specification_version: 4
333
347
  summary: Interactive question-answer flows using markdown-like external DSL
334
348
  test_files:
335
- - spec/acceptance/parsing_spec.rb
349
+ - spec/spec_helper.rb
350
+ - spec/support/model_builder.rb
351
+ - spec/support/flow_input_interface.rb
352
+ - spec/model/node_spec.rb
353
+ - spec/model/predicates/set_membership_spec.rb
354
+ - spec/model/predicates/not_operation_spec.rb
355
+ - spec/model/predicates/comparison_spec.rb
356
+ - spec/model/predicates/and_operation_spec.rb
357
+ - spec/model/predicates/equality_spec.rb
358
+ - spec/model/predicates/function_spec.rb
359
+ - spec/model/predicates/named_spec.rb
360
+ - spec/model/predicates/or_operation_spec.rb
361
+ - spec/model/element/question_spec.rb
362
+ - spec/model/flow_spec.rb
363
+ - spec/model/front_matter_spec.rb
364
+ - spec/model/answer/base_spec.rb
365
+ - spec/model/answer/salary_spec.rb
366
+ - spec/model/answer/multiple_choice_spec.rb
367
+ - spec/model/answer/text_spec.rb
368
+ - spec/model/answer/money_spec.rb
369
+ - spec/model/answer/postcode_spec.rb
370
+ - spec/model/answer/date_spec.rb
371
+ - spec/model/answer/country_spec.rb
336
372
  - spec/acceptance/smartdown_cli_spec.rb
337
373
  - spec/acceptance/flow_spec.rb
374
+ - spec/acceptance/parsing_spec.rb
375
+ - spec/engine/transition_spec.rb
376
+ - spec/engine/state_spec.rb
377
+ - spec/engine/conditional_resolver_spec.rb
378
+ - spec/engine/interpolator_spec.rb
379
+ - spec/bin/smartdown_spec.rb
380
+ - spec/engine_spec.rb
381
+ - spec/support_specs/model_builder_spec.rb
338
382
  - spec/parser/directory_input_spec.rb
339
- - spec/parser/integration/cover_sheet_spec.rb
340
- - spec/parser/base_spec.rb
341
- - spec/parser/input_set_spec.rb
342
- - spec/parser/rules_spec.rb
343
- - spec/parser/scenario_set_interpreter_spec.rb
344
- - spec/parser/predicates_spec.rb
345
383
  - spec/parser/scenario_sets_interpreter_spec.rb
346
- - spec/parser/element/postcode_question_spec.rb
347
- - spec/parser/element/next_steps_spec.rb
384
+ - spec/parser/rules_spec.rb
348
385
  - spec/parser/element/multiple_choice_question_spec.rb
349
- - spec/parser/element/country_question_spec.rb
350
- - spec/parser/element/conditional_spec.rb
351
- - spec/parser/element/start_button_parser_spec.rb
352
386
  - spec/parser/element/marker_spec.rb
353
387
  - spec/parser/element/date_question_spec.rb
354
- - spec/parser/element/markdown_heading_spec.rb
355
- - spec/parser/element/front_matter_spec.rb
388
+ - spec/parser/element/postcode_question_spec.rb
389
+ - spec/parser/element/next_steps_spec.rb
390
+ - spec/parser/element/conditional_spec.rb
356
391
  - spec/parser/element/salary_question_spec.rb
392
+ - spec/parser/element/start_button_parser_spec.rb
393
+ - spec/parser/element/country_question_spec.rb
357
394
  - spec/parser/element/markdown_line_spec.rb
358
- - spec/parser/element/text_question_spec.rb
359
395
  - spec/parser/element/money_question_spec.rb
360
- - spec/parser/option_pairs_transform_spec.rb
361
- - spec/parser/node_parser_spec.rb
396
+ - spec/parser/element/front_matter_spec.rb
397
+ - spec/parser/element/text_question_spec.rb
398
+ - spec/parser/element/markdown_heading_spec.rb
399
+ - spec/parser/input_set_spec.rb
400
+ - spec/parser/base_spec.rb
401
+ - spec/parser/integration/cover_sheet_spec.rb
362
402
  - spec/parser/snippet_pre_parser_spec.rb
363
- - spec/support/flow_input_interface.rb
364
- - spec/support/model_builder.rb
365
- - spec/api/outcome_spec.rb
366
- - spec/api/state_spec.rb
367
- - spec/api/node_spec.rb
368
- - spec/api/question_spec.rb
369
- - spec/api/date_question_spec.rb
370
- - spec/api/previous_question_spec.rb
371
- - spec/spec_helper.rb
372
- - spec/engine/state_spec.rb
373
- - spec/engine/interpolator_spec.rb
374
- - spec/engine/transition_spec.rb
375
- - spec/engine/conditional_resolver_spec.rb
376
- - spec/fixtures/directory_input/scenarios/s1.txt
377
- - spec/fixtures/directory_input/outcomes/nested/o1.txt
378
- - spec/fixtures/directory_input/outcomes/o1.txt
379
- - spec/fixtures/directory_input/questions/q1.txt
380
- - spec/fixtures/directory_input/cover-sheet.txt
381
- - spec/fixtures/directory_input/snippets/nested/nested_again/nsn1.txt
382
- - spec/fixtures/directory_input/snippets/sn1.txt
383
- - spec/fixtures/acceptance/question-and-outcome/question-and-outcome.txt
384
- - spec/fixtures/acceptance/question-and-outcome/outcomes/o1.txt
385
- - spec/fixtures/acceptance/question-and-outcome/questions/q1.txt
386
- - spec/fixtures/acceptance/animal-example-simple/scenarios/tigers_and_cats.txt
387
- - spec/fixtures/acceptance/animal-example-simple/scenarios/lions.txt
388
- - spec/fixtures/acceptance/animal-example-simple/outcomes/outcome_untrained_with_lions.txt
389
- - spec/fixtures/acceptance/animal-example-simple/outcomes/outcome_tigers_are_fine.txt
390
- - spec/fixtures/acceptance/animal-example-simple/outcomes/outcome_can_outrun_a_lion.txt
403
+ - spec/parser/predicates_spec.rb
404
+ - spec/parser/scenario_set_interpreter_spec.rb
405
+ - spec/parser/node_parser_spec.rb
406
+ - spec/parser/option_pairs_transform_spec.rb
407
+ - spec/fixtures/example.sd
408
+ - spec/fixtures/acceptance/snippet/snippets/the_snippet.txt
409
+ - spec/fixtures/acceptance/snippet/snippet.txt
410
+ - spec/fixtures/acceptance/animal-example-simple/questions/question_1.txt
411
+ - spec/fixtures/acceptance/animal-example-simple/questions/question_3.txt
412
+ - spec/fixtures/acceptance/animal-example-simple/questions/question_2.txt
391
413
  - spec/fixtures/acceptance/animal-example-simple/outcomes/outcome_safe_pet.txt
392
414
  - spec/fixtures/acceptance/animal-example-simple/outcomes/outcome_trained_with_lions.txt
415
+ - spec/fixtures/acceptance/animal-example-simple/outcomes/outcome_tigers_are_fine.txt
416
+ - spec/fixtures/acceptance/animal-example-simple/outcomes/outcome_can_outrun_a_lion.txt
417
+ - spec/fixtures/acceptance/animal-example-simple/outcomes/outcome_untrained_with_lions.txt
418
+ - spec/fixtures/acceptance/animal-example-simple/scenarios/lions.txt
419
+ - spec/fixtures/acceptance/animal-example-simple/scenarios/tigers_and_cats.txt
393
420
  - spec/fixtures/acceptance/animal-example-simple/animal-example-simple.txt
394
- - spec/fixtures/acceptance/animal-example-simple/questions/question_3.txt
395
- - spec/fixtures/acceptance/animal-example-simple/questions/question_1.txt
396
- - spec/fixtures/acceptance/animal-example-simple/questions/question_2.txt
397
- - spec/fixtures/acceptance/animal-example-multiple/scenarios/tigers_and_cats.txt
398
- - spec/fixtures/acceptance/animal-example-multiple/scenarios/lions.txt
421
+ - spec/fixtures/acceptance/cover-sheet/cover-sheet.txt
422
+ - spec/fixtures/acceptance/animal-example-multiple/questions/question_1.txt
423
+ - spec/fixtures/acceptance/animal-example-multiple/questions/question_3.txt
424
+ - spec/fixtures/acceptance/animal-example-multiple/questions/question_4.txt
425
+ - spec/fixtures/acceptance/animal-example-multiple/questions/question_2.txt
399
426
  - spec/fixtures/acceptance/animal-example-multiple/outcomes/outcome_trained_with_tigers.txt
400
- - spec/fixtures/acceptance/animal-example-multiple/outcomes/outcome_untrained_with_lions.txt
401
- - spec/fixtures/acceptance/animal-example-multiple/outcomes/outcome_tigers_are_fine.txt
402
427
  - spec/fixtures/acceptance/animal-example-multiple/outcomes/outcome_safe_pet.txt
403
428
  - spec/fixtures/acceptance/animal-example-multiple/outcomes/outcome_trained_with_lions.txt
429
+ - spec/fixtures/acceptance/animal-example-multiple/outcomes/outcome_tigers_are_fine.txt
430
+ - spec/fixtures/acceptance/animal-example-multiple/outcomes/outcome_untrained_with_lions.txt
431
+ - spec/fixtures/acceptance/animal-example-multiple/scenarios/lions.txt
432
+ - spec/fixtures/acceptance/animal-example-multiple/scenarios/tigers_and_cats.txt
404
433
  - spec/fixtures/acceptance/animal-example-multiple/animal-example-multiple.txt
405
- - spec/fixtures/acceptance/animal-example-multiple/questions/question_3.txt
406
- - spec/fixtures/acceptance/animal-example-multiple/questions/question_1.txt
407
- - spec/fixtures/acceptance/animal-example-multiple/questions/question_2.txt
408
- - spec/fixtures/acceptance/animal-example-multiple/questions/question_4.txt
409
- - spec/fixtures/acceptance/cover-sheet/cover-sheet.txt
410
- - spec/fixtures/acceptance/one-question/one-question.txt
434
+ - spec/fixtures/acceptance/question-and-outcome/questions/q1.txt
435
+ - spec/fixtures/acceptance/question-and-outcome/outcomes/o1.txt
436
+ - spec/fixtures/acceptance/question-and-outcome/question-and-outcome.txt
411
437
  - spec/fixtures/acceptance/one-question/questions/q1.txt
412
- - spec/fixtures/acceptance/snippet/snippet.txt
413
- - spec/fixtures/acceptance/snippet/snippets/the_snippet.txt
414
- - spec/fixtures/example.sd
415
- - spec/support_specs/model_builder_spec.rb
416
- - spec/engine_spec.rb
417
- - spec/model/node_spec.rb
418
- - spec/model/front_matter_spec.rb
419
- - spec/model/flow_spec.rb
420
- - spec/model/answer/money_spec.rb
421
- - spec/model/answer/multiple_choice_spec.rb
422
- - spec/model/answer/text_spec.rb
423
- - spec/model/answer/base_spec.rb
424
- - spec/model/answer/salary_spec.rb
425
- - spec/model/answer/date_spec.rb
426
- - spec/model/answer/postcode_spec.rb
427
- - spec/model/answer/country_spec.rb
428
- - spec/model/element/question_spec.rb
429
- - spec/model/predicates/not_operation_spec.rb
430
- - spec/model/predicates/set_membership_spec.rb
431
- - spec/model/predicates/or_operation_spec.rb
432
- - spec/model/predicates/comparison_spec.rb
433
- - spec/model/predicates/equality_spec.rb
434
- - spec/model/predicates/named_spec.rb
435
- - spec/model/predicates/and_operation_spec.rb
436
- - spec/model/predicates/function_spec.rb
438
+ - spec/fixtures/acceptance/one-question/one-question.txt
439
+ - spec/fixtures/directory_input/questions/q1.txt
440
+ - spec/fixtures/directory_input/outcomes/o1.txt
441
+ - spec/fixtures/directory_input/outcomes/nested/o1.txt
442
+ - spec/fixtures/directory_input/scenarios/s1.txt
443
+ - spec/fixtures/directory_input/snippets/sn1.txt
444
+ - spec/fixtures/directory_input/snippets/nested/nested_again/nsn1.txt
445
+ - spec/fixtures/directory_input/cover-sheet.txt
446
+ - spec/api/date_question_spec.rb
447
+ - spec/api/node_spec.rb
448
+ - spec/api/outcome_spec.rb
449
+ - spec/api/state_spec.rb
450
+ - spec/api/previous_question_spec.rb
451
+ - spec/api/question_spec.rb