smartdown 0.15.1 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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