cuke_modeler 3.2.0 → 3.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +48 -3
  3. data/LICENSE.txt +1 -1
  4. data/README.md +7 -7
  5. data/cuke_modeler.gemspec +35 -16
  6. data/lib/cuke_modeler.rb +1 -2
  7. data/lib/cuke_modeler/adapters/gherkin_10_adapter.rb +2 -1
  8. data/lib/cuke_modeler/adapters/gherkin_11_adapter.rb +2 -1
  9. data/lib/cuke_modeler/adapters/gherkin_12_adapter.rb +2 -1
  10. data/lib/cuke_modeler/adapters/gherkin_13_adapter.rb +2 -1
  11. data/lib/cuke_modeler/adapters/gherkin_14_adapter.rb +2 -1
  12. data/lib/cuke_modeler/adapters/gherkin_15_adapter.rb +13 -0
  13. data/lib/cuke_modeler/adapters/gherkin_16_adapter.rb +13 -0
  14. data/lib/cuke_modeler/adapters/gherkin_17_adapter.rb +13 -0
  15. data/lib/cuke_modeler/adapters/gherkin_9_adapter.rb +261 -243
  16. data/lib/cuke_modeler/containing.rb +47 -90
  17. data/lib/cuke_modeler/described.rb +40 -2
  18. data/lib/cuke_modeler/models/background.rb +11 -12
  19. data/lib/cuke_modeler/models/cell.rb +13 -8
  20. data/lib/cuke_modeler/models/comment.rb +5 -6
  21. data/lib/cuke_modeler/models/directory.rb +13 -18
  22. data/lib/cuke_modeler/models/doc_string.rb +10 -8
  23. data/lib/cuke_modeler/models/example.rb +63 -46
  24. data/lib/cuke_modeler/models/feature.rb +23 -17
  25. data/lib/cuke_modeler/models/feature_file.rb +5 -8
  26. data/lib/cuke_modeler/models/model.rb +2 -3
  27. data/lib/cuke_modeler/models/outline.rb +19 -15
  28. data/lib/cuke_modeler/models/row.rb +15 -8
  29. data/lib/cuke_modeler/models/rule.rb +11 -10
  30. data/lib/cuke_modeler/models/scenario.rb +17 -13
  31. data/lib/cuke_modeler/models/step.rb +40 -19
  32. data/lib/cuke_modeler/models/table.rb +9 -7
  33. data/lib/cuke_modeler/models/tag.rb +9 -6
  34. data/lib/cuke_modeler/named.rb +5 -2
  35. data/lib/cuke_modeler/nested.rb +22 -19
  36. data/lib/cuke_modeler/parsed.rb +8 -1
  37. data/lib/cuke_modeler/parsing.rb +38 -29
  38. data/lib/cuke_modeler/sourceable.rb +8 -1
  39. data/lib/cuke_modeler/stepped.rb +8 -1
  40. data/lib/cuke_modeler/taggable.rb +9 -2
  41. data/lib/cuke_modeler/version.rb +1 -1
  42. metadata +91 -36
@@ -3,11 +3,18 @@ module CukeModeler
3
3
  # NOT A PART OF THE PUBLIC API
4
4
  # A mix-in module containing methods used by models that know from which line of
5
5
  # source code they originate.
6
-
7
6
  module Sourceable
8
7
 
9
8
  # The line number where the element began in the source code
10
9
  attr_accessor :source_line
11
10
 
11
+
12
+ private
13
+
14
+
15
+ def populate_source_line(model, parsed_model_data)
16
+ model.source_line = parsed_model_data['line']
17
+ end
18
+
12
19
  end
13
20
  end
@@ -2,7 +2,6 @@ module CukeModeler
2
2
 
3
3
  # NOT A PART OF THE PUBLIC API
4
4
  # A mix-in module containing methods used by models that represent an element that has steps.
5
-
6
5
  module Stepped
7
6
 
8
7
 
@@ -21,5 +20,13 @@ module CukeModeler
21
20
  step.to_s.split("\n").collect { |line| " #{line}" }.join("\n")
22
21
  end
23
22
 
23
+ def populate_steps(model, parsed_model_data)
24
+ return unless parsed_model_data['steps']
25
+
26
+ parsed_model_data['steps'].each do |step_data|
27
+ model.steps << build_child_model(Step, step_data)
28
+ end
29
+ end
30
+
24
31
  end
25
32
  end
@@ -2,7 +2,6 @@ module CukeModeler
2
2
 
3
3
  # NOT A PART OF THE PUBLIC API
4
4
  # A mix-in module containing methods used by models that represent an element that can be tagged.
5
-
6
5
  module Taggable
7
6
 
8
7
  # The models for tags which are directly assigned to the element
@@ -25,7 +24,15 @@ module CukeModeler
25
24
 
26
25
 
27
26
  def tag_output_string
28
- tags.collect { |tag| tag.name }.join(' ')
27
+ tags.map(&:name).join(' ')
28
+ end
29
+
30
+ def populate_tags(model, parsed_model_data)
31
+ return unless parsed_model_data['tags']
32
+
33
+ parsed_model_data['tags'].each do |tag|
34
+ model.tags << build_child_model(Tag, tag)
35
+ end
29
36
  end
30
37
 
31
38
  end
@@ -1,4 +1,4 @@
1
1
  module CukeModeler
2
2
  # The gem version
3
- VERSION = '3.2.0'
3
+ VERSION = '3.7.0'.freeze
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cuke_modeler
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Kessler
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-27 00:00:00.000000000 Z
11
+ date: 2021-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber-gherkin
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "<"
18
18
  - !ruby/object:Gem::Version
19
- version: '15.0'
19
+ version: '18.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "<"
25
25
  - !ruby/object:Gem::Version
26
- version: '15.0'
26
+ version: '18.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -39,91 +39,139 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '3.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rake
42
+ name: childprocess
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "<"
46
+ - !ruby/object:Gem::Version
47
+ version: '5.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "<"
53
+ - !ruby/object:Gem::Version
54
+ version: '5.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: coveralls
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
59
  - - "<"
46
60
  - !ruby/object:Gem::Version
47
- version: 13.0.0
61
+ version: 1.0.0
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - "<"
53
67
  - !ruby/object:Gem::Version
54
- version: 13.0.0
68
+ version: 1.0.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: ffi
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "<"
74
+ - !ruby/object:Gem::Version
75
+ version: '2.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "<"
81
+ - !ruby/object:Gem::Version
82
+ version: '2.0'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: cucumber
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: 4.0.0
59
90
  - - "<"
60
91
  - !ruby/object:Gem::Version
61
- version: 5.0.0
92
+ version: 6.0.0
62
93
  type: :development
63
94
  prerelease: false
64
95
  version_requirements: !ruby/object:Gem::Requirement
65
96
  requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: 4.0.0
66
100
  - - "<"
67
101
  - !ruby/object:Gem::Version
68
- version: 5.0.0
102
+ version: 6.0.0
69
103
  - !ruby/object:Gem::Dependency
70
- name: rspec
104
+ name: rainbow
71
105
  requirement: !ruby/object:Gem::Requirement
72
106
  requirements:
73
- - - "~>"
107
+ - - "<"
74
108
  - !ruby/object:Gem::Version
75
- version: '3.0'
109
+ version: 4.0.0
76
110
  type: :development
77
111
  prerelease: false
78
112
  version_requirements: !ruby/object:Gem::Requirement
79
113
  requirements:
80
- - - "~>"
114
+ - - "<"
81
115
  - !ruby/object:Gem::Version
82
- version: '3.0'
116
+ version: 4.0.0
83
117
  - !ruby/object:Gem::Dependency
84
- name: simplecov
118
+ name: rake
85
119
  requirement: !ruby/object:Gem::Requirement
86
120
  requirements:
87
- - - "<="
121
+ - - "<"
88
122
  - !ruby/object:Gem::Version
89
- version: 0.16.1
123
+ version: 14.0.0
90
124
  type: :development
91
125
  prerelease: false
92
126
  version_requirements: !ruby/object:Gem::Requirement
93
127
  requirements:
94
- - - "<="
128
+ - - "<"
95
129
  - !ruby/object:Gem::Version
96
- version: 0.16.1
130
+ version: 14.0.0
97
131
  - !ruby/object:Gem::Dependency
98
- name: racatt
132
+ name: rspec
99
133
  requirement: !ruby/object:Gem::Requirement
100
134
  requirements:
101
135
  - - "~>"
102
136
  - !ruby/object:Gem::Version
103
- version: '1.0'
137
+ version: '3.0'
104
138
  type: :development
105
139
  prerelease: false
106
140
  version_requirements: !ruby/object:Gem::Requirement
107
141
  requirements:
108
142
  - - "~>"
109
143
  - !ruby/object:Gem::Version
110
- version: '1.0'
144
+ version: '3.0'
111
145
  - !ruby/object:Gem::Dependency
112
- name: coveralls
146
+ name: rubocop
113
147
  requirement: !ruby/object:Gem::Requirement
114
148
  requirements:
115
149
  - - "<"
116
150
  - !ruby/object:Gem::Version
117
- version: 1.0.0
151
+ version: 0.82.0
118
152
  type: :development
119
153
  prerelease: false
120
154
  version_requirements: !ruby/object:Gem::Requirement
121
155
  requirements:
122
156
  - - "<"
123
157
  - !ruby/object:Gem::Version
124
- version: 1.0.0
158
+ version: 0.82.0
125
159
  - !ruby/object:Gem::Dependency
126
- name: rainbow
160
+ name: simplecov
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "<="
164
+ - !ruby/object:Gem::Version
165
+ version: 0.16.1
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "<="
171
+ - !ruby/object:Gem::Version
172
+ version: 0.16.1
173
+ - !ruby/object:Gem::Dependency
174
+ name: test-unit
127
175
  requirement: !ruby/object:Gem::Requirement
128
176
  requirements:
129
177
  - - "<"
@@ -137,19 +185,19 @@ dependencies:
137
185
  - !ruby/object:Gem::Version
138
186
  version: 4.0.0
139
187
  - !ruby/object:Gem::Dependency
140
- name: test-unit
188
+ name: yard
141
189
  requirement: !ruby/object:Gem::Requirement
142
190
  requirements:
143
191
  - - "<"
144
192
  - !ruby/object:Gem::Version
145
- version: 4.0.0
193
+ version: '1.0'
146
194
  type: :development
147
195
  prerelease: false
148
196
  version_requirements: !ruby/object:Gem::Requirement
149
197
  requirements:
150
198
  - - "<"
151
199
  - !ruby/object:Gem::Version
152
- version: 4.0.0
200
+ version: '1.0'
153
201
  description: This gem facilitates modeling a test suite that is written in Gherkin
154
202
  (e.g. Cucumber, SpecFlow, Lettuce, etc.). It does this by providing an abstraction
155
203
  layer on top of the Abstract Syntax Tree that the 'cucumber-gherkin' gem generates
@@ -173,6 +221,9 @@ files:
173
221
  - lib/cuke_modeler/adapters/gherkin_12_adapter.rb
174
222
  - lib/cuke_modeler/adapters/gherkin_13_adapter.rb
175
223
  - lib/cuke_modeler/adapters/gherkin_14_adapter.rb
224
+ - lib/cuke_modeler/adapters/gherkin_15_adapter.rb
225
+ - lib/cuke_modeler/adapters/gherkin_16_adapter.rb
226
+ - lib/cuke_modeler/adapters/gherkin_17_adapter.rb
176
227
  - lib/cuke_modeler/adapters/gherkin_9_adapter.rb
177
228
  - lib/cuke_modeler/containing.rb
178
229
  - lib/cuke_modeler/described.rb
@@ -237,8 +288,13 @@ files:
237
288
  homepage: https://github.com/enkessler/cuke_modeler
238
289
  licenses:
239
290
  - MIT
240
- metadata: {}
241
- post_install_message:
291
+ metadata:
292
+ bug_tracker_uri: https://github.com/enkessler/cuke_modeler/issues
293
+ changelog_uri: https://github.com/enkessler/cuke_modeler/blob/master/CHANGELOG.md
294
+ documentation_uri: https://www.rubydoc.info/gems/cuke_modeler
295
+ homepage_uri: https://github.com/enkessler/cuke_modeler
296
+ source_code_uri: https://github.com/enkessler/cuke_modeler
297
+ post_install_message:
242
298
  rdoc_options: []
243
299
  require_paths:
244
300
  - lib
@@ -249,16 +305,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
249
305
  version: '2.3'
250
306
  - - "<"
251
307
  - !ruby/object:Gem::Version
252
- version: '3.0'
308
+ version: '4.0'
253
309
  required_rubygems_version: !ruby/object:Gem::Requirement
254
310
  requirements:
255
311
  - - ">="
256
312
  - !ruby/object:Gem::Version
257
313
  version: '0'
258
314
  requirements: []
259
- rubyforge_project:
260
- rubygems_version: 2.7.6
261
- signing_key:
315
+ rubygems_version: 3.2.3
316
+ signing_key:
262
317
  specification_version: 4
263
318
  summary: A gem providing functionality to model Gherkin based test suites.
264
319
  test_files: []