cuke_modeler 1.5.0 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +341 -0
  3. data/LICENSE.txt +1 -1
  4. data/README.md +22 -15
  5. data/cuke_modeler.gemspec +15 -9
  6. data/lib/cuke_modeler/adapters/gherkin_10_adapter.rb +12 -0
  7. data/lib/cuke_modeler/adapters/gherkin_11_adapter.rb +12 -0
  8. data/lib/cuke_modeler/adapters/gherkin_12_adapter.rb +12 -0
  9. data/lib/cuke_modeler/adapters/gherkin_13_adapter.rb +12 -0
  10. data/lib/cuke_modeler/adapters/gherkin_14_adapter.rb +12 -0
  11. data/lib/cuke_modeler/adapters/{gherkin_6_adapter.rb → gherkin_9_adapter.rb} +75 -64
  12. data/lib/cuke_modeler/containing.rb +3 -0
  13. data/lib/cuke_modeler/described.rb +1 -0
  14. data/lib/cuke_modeler/models/background.rb +1 -1
  15. data/lib/cuke_modeler/models/cell.rb +1 -1
  16. data/lib/cuke_modeler/models/comment.rb +1 -1
  17. data/lib/cuke_modeler/models/directory.rb +2 -2
  18. data/lib/cuke_modeler/models/doc_string.rb +1 -1
  19. data/lib/cuke_modeler/models/example.rb +1 -1
  20. data/lib/cuke_modeler/models/feature.rb +1 -1
  21. data/lib/cuke_modeler/models/feature_file.rb +2 -2
  22. data/lib/cuke_modeler/models/outline.rb +1 -1
  23. data/lib/cuke_modeler/models/row.rb +1 -1
  24. data/lib/cuke_modeler/models/scenario.rb +1 -1
  25. data/lib/cuke_modeler/models/step.rb +32 -3
  26. data/lib/cuke_modeler/models/table.rb +1 -1
  27. data/lib/cuke_modeler/models/tag.rb +1 -1
  28. data/lib/cuke_modeler/named.rb +1 -0
  29. data/lib/cuke_modeler/nested.rb +1 -0
  30. data/lib/cuke_modeler/parsed.rb +1 -0
  31. data/lib/cuke_modeler/parsing.rb +89 -94
  32. data/lib/cuke_modeler/sourceable.rb +1 -0
  33. data/lib/cuke_modeler/stepped.rb +1 -0
  34. data/lib/cuke_modeler/taggable.rb +1 -0
  35. data/lib/cuke_modeler/version.rb +1 -1
  36. data/testing/cucumber/features/analysis/step_comparison.feature +25 -0
  37. data/testing/cucumber/features/analysis/test_comparison.feature +1 -1
  38. metadata +56 -142
  39. data/.gitignore +0 -18
  40. data/.simplecov +0 -7
  41. data/.travis.yml +0 -60
  42. data/Gemfile +0 -36
  43. data/History.md +0 -196
  44. data/Rakefile +0 -63
  45. data/appveyor.yml +0 -61
  46. data/lib/cuke_modeler/adapters/gherkin_2_adapter.rb +0 -273
  47. data/lib/cuke_modeler/adapters/gherkin_3_adapter.rb +0 -296
  48. data/lib/cuke_modeler/adapters/gherkin_4_adapter.rb +0 -308
  49. data/testing/cucumber/step_definitions/action_steps.rb +0 -13
  50. data/testing/cucumber/step_definitions/background_steps.rb +0 -1
  51. data/testing/cucumber/step_definitions/directory_steps.rb +0 -6
  52. data/testing/cucumber/step_definitions/doc_string_steps.rb +0 -1
  53. data/testing/cucumber/step_definitions/feature_file_steps.rb +0 -16
  54. data/testing/cucumber/step_definitions/feature_steps.rb +0 -7
  55. data/testing/cucumber/step_definitions/modeling_steps.rb +0 -44
  56. data/testing/cucumber/step_definitions/setup_steps.rb +0 -32
  57. data/testing/cucumber/step_definitions/step_steps.rb +0 -3
  58. data/testing/cucumber/step_definitions/table_steps.rb +0 -1
  59. data/testing/cucumber/step_definitions/tag_steps.rb +0 -3
  60. data/testing/cucumber/step_definitions/verification_steps.rb +0 -173
  61. data/testing/cucumber/support/env.rb +0 -30
  62. data/testing/dialect_helper.rb +0 -48
  63. data/testing/file_helper.rb +0 -47
  64. data/testing/gemfiles/gherkin2.gemfile +0 -32
  65. data/testing/gemfiles/gherkin3.gemfile +0 -26
  66. data/testing/gemfiles/gherkin4.gemfile +0 -27
  67. data/testing/gemfiles/gherkin5.gemfile +0 -27
  68. data/testing/gemfiles/gherkin6.gemfile +0 -10
  69. data/testing/rspec/spec/integration/background_integration_spec.rb +0 -442
  70. data/testing/rspec/spec/integration/cell_integration_spec.rb +0 -335
  71. data/testing/rspec/spec/integration/comment_integration_spec.rb +0 -177
  72. data/testing/rspec/spec/integration/directory_integration_spec.rb +0 -218
  73. data/testing/rspec/spec/integration/doc_string_integration_spec.rb +0 -402
  74. data/testing/rspec/spec/integration/example_integration_spec.rb +0 -741
  75. data/testing/rspec/spec/integration/feature_file_integration_spec.rb +0 -272
  76. data/testing/rspec/spec/integration/feature_integration_spec.rb +0 -650
  77. data/testing/rspec/spec/integration/gherkin_2_adapter_spec.rb +0 -166
  78. data/testing/rspec/spec/integration/gherkin_3_adapter_spec.rb +0 -166
  79. data/testing/rspec/spec/integration/gherkin_4_adapter_spec.rb +0 -165
  80. data/testing/rspec/spec/integration/gherkin_6_adapter_spec.rb +0 -166
  81. data/testing/rspec/spec/integration/model_integration_spec.rb +0 -15
  82. data/testing/rspec/spec/integration/nested_integration_spec.rb +0 -91
  83. data/testing/rspec/spec/integration/outline_integration_spec.rb +0 -624
  84. data/testing/rspec/spec/integration/parsing_integration_spec.rb +0 -122
  85. data/testing/rspec/spec/integration/row_integration_spec.rb +0 -291
  86. data/testing/rspec/spec/integration/scenario_integration_spec.rb +0 -479
  87. data/testing/rspec/spec/integration/shared/models_integration_specs.rb +0 -18
  88. data/testing/rspec/spec/integration/step_integration_spec.rb +0 -475
  89. data/testing/rspec/spec/integration/table_integration_spec.rb +0 -337
  90. data/testing/rspec/spec/integration/tag_integration_spec.rb +0 -259
  91. data/testing/rspec/spec/spec_helper.rb +0 -122
  92. data/testing/rspec/spec/unit/background_unit_spec.rb +0 -83
  93. data/testing/rspec/spec/unit/cell_unit_spec.rb +0 -68
  94. data/testing/rspec/spec/unit/comment_unit_spec.rb +0 -68
  95. data/testing/rspec/spec/unit/described_unit_spec.rb +0 -23
  96. data/testing/rspec/spec/unit/directory_unit_spec.rb +0 -127
  97. data/testing/rspec/spec/unit/doc_string_unit_spec.rb +0 -100
  98. data/testing/rspec/spec/unit/example_unit_spec.rb +0 -133
  99. data/testing/rspec/spec/unit/feature_file_unit_spec.rb +0 -125
  100. data/testing/rspec/spec/unit/feature_unit_spec.rb +0 -157
  101. data/testing/rspec/spec/unit/model_unit_spec.rb +0 -15
  102. data/testing/rspec/spec/unit/named_unit_spec.rb +0 -23
  103. data/testing/rspec/spec/unit/nested_unit_spec.rb +0 -43
  104. data/testing/rspec/spec/unit/outline_unit_spec.rb +0 -117
  105. data/testing/rspec/spec/unit/parsed_unit_spec.rb +0 -27
  106. data/testing/rspec/spec/unit/parsing_unit_spec.rb +0 -54
  107. data/testing/rspec/spec/unit/row_unit_spec.rb +0 -68
  108. data/testing/rspec/spec/unit/scenario_unit_spec.rb +0 -86
  109. data/testing/rspec/spec/unit/shared/bare_bones_models_unit_specs.rb +0 -14
  110. data/testing/rspec/spec/unit/shared/containing_models_unit_specs.rb +0 -127
  111. data/testing/rspec/spec/unit/shared/described_models_unit_specs.rb +0 -38
  112. data/testing/rspec/spec/unit/shared/keyworded_models_unit_specs.rb +0 -58
  113. data/testing/rspec/spec/unit/shared/models_unit_specs.rb +0 -15
  114. data/testing/rspec/spec/unit/shared/named_models_unit_specs.rb +0 -39
  115. data/testing/rspec/spec/unit/shared/nested_models_unit_specs.rb +0 -51
  116. data/testing/rspec/spec/unit/shared/parsed_models_unit_specs.rb +0 -39
  117. data/testing/rspec/spec/unit/shared/prepopulated_models_unit_specs.rb +0 -18
  118. data/testing/rspec/spec/unit/shared/sourced_models_unit_specs.rb +0 -39
  119. data/testing/rspec/spec/unit/shared/stepped_models_unit_specs.rb +0 -46
  120. data/testing/rspec/spec/unit/shared/stringifiable_models_unit_specs.rb +0 -18
  121. data/testing/rspec/spec/unit/shared/tagged_models_unit_specs.rb +0 -72
  122. data/testing/rspec/spec/unit/sourceable_unit_spec.rb +0 -27
  123. data/testing/rspec/spec/unit/step_unit_spec.rb +0 -109
  124. data/testing/rspec/spec/unit/stepped_unit_spec.rb +0 -23
  125. data/testing/rspec/spec/unit/table_unit_spec.rb +0 -77
  126. data/testing/rspec/spec/unit/tag_unit_spec.rb +0 -68
  127. data/testing/rspec/spec/unit/taggable_unit_spec.rb +0 -69
  128. data/testing/test_languages.json +0 -45
  129. data/todo.txt +0 -24
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1c06eb0f7c8ad2e127b31d82a1ed6b1d5fcadeb37abbc24ae23fc9d6e2c04b95
4
- data.tar.gz: 1e80f3199b425171a1f4fbc0eb386182469f21d242f9594928f4714b42bf3dc1
3
+ metadata.gz: 3287a6e2f6cc9ce0269ce039535fe37bbe9be5bc6251c170efd87bdfa6d25b5e
4
+ data.tar.gz: 9413347eaf273b881e62dd792a1a7110ccf30d89ee7ed1620ae53c882008310b
5
5
  SHA512:
6
- metadata.gz: 6e9880c514513eaef025dc5975aa4fa495bdb511d1496bcc4af8eba43931b1b8de57f755f7aed0d01c452e4068d30c88c1e1a73bf01e808e22d97bd7d39f4fae
7
- data.tar.gz: 9de23cb51211b1469ddb0dc4e8cbe77eceea3c76aaf0fa2d1edca1bd3b0f16971578e58633b41f14e0f773f8f57efa9c246031215bf14262e78c358d6ace460c
6
+ metadata.gz: cc3d0ee5ca02ca1b81fd3784e471488952c8e5fe88401ce12ea0e10360b32a667b80934db8480aeae7936463ddc9c04ff0a02702d88ef0eaf6957b69a16680c5
7
+ data.tar.gz: 4af05a8b47ab76911764ebef5f10524c525a8c88852193bd928ac868e779cb4244fa540f7978df08fa58af602e53f0b6db5fb515d216f40117e58f939d49f8c9
@@ -0,0 +1,341 @@
1
+ # Changelog
2
+ All notable changes to this project will be documented in this file.
3
+
4
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [Unreleased]
8
+
9
+ Nothing yet...
10
+
11
+ ## [3.1.0] - 2020-06-28
12
+
13
+ ### Added
14
+ - Support added for more versions of the `cucumber-gherkin` gem
15
+ - 14.x
16
+
17
+ ### Fixed
18
+ - Text is converted to UTF-8 encoding before being passed to the underlying Gherkin gem. This is due to UTF-8 being
19
+ the only encoding supported by Gherkin. The `gherkin` gem did the conversion automatically but the `cucumber-gherkin`
20
+ gem does not.
21
+
22
+ ## [3.0.0] - 2020-06-08
23
+
24
+ ### Changed
25
+ - This gem now wraps the `cucumber-gherkin` gem instead of the `gherkin` gem, now that `cucumber-gherkin` has superseded `gherkin`.
26
+ - Support for versions of Ruby earlier than 2.3 has been dropped due to that being the minimum required version of Ruby required by the `cucumber-gherkin` gem.
27
+ - When using the parsing functionality provided by this gem, the standardized AST returned when parsing Gherkin text is now returned directly as a Hash instead of also being wrapped in an array. The array was an artifact of basing the AST on the earliest versions of `gherkin` that were supported.
28
+ - No longer including every file in the Git repository as part of the gem. Only the files needed for using the gem (and the informative ones like the README) will be packaged into the released gem.
29
+
30
+ ### Added
31
+ - Support added for more versions of the `cucumber-gherkin` gem
32
+ - 13.x
33
+ - 12.x
34
+ - 11.x
35
+ - 10.x
36
+ - 9.x
37
+
38
+ ## [2.1.0] - 2020-05-27
39
+
40
+ ### Added
41
+ - Support added for more versions of the `gherkin` gem
42
+ - 9.x
43
+ - 8.x
44
+ - 7.x
45
+
46
+ ### Fixed
47
+ - Parsing errors are now correctly bubbled up when using Gherkin 6.x
48
+
49
+ ## [2.0.0] - 2020-02-11
50
+
51
+ ### Changed
52
+
53
+ - Step models now include doc strings and tables when determining their equality with other steps. Previously, only the base text of the step was included and the doc string/table was explicitly ignored.
54
+
55
+
56
+ ## [1.5.1] - 2019-04-14
57
+
58
+ ### Added
59
+
60
+ - Add dependency version limits to Ruby which was previously unbound
61
+ - Add dependency version limits to `bundler`, which was previously unbound
62
+ - Added inline documentation to some methods that did not have any
63
+
64
+ ## [1.5.0] - 2019-01-13
65
+
66
+ ### Added
67
+
68
+ - Added methods to easily run elements of an arbitrarily rooted model tree through a given block of code.
69
+
70
+
71
+ ## [1.4.0] - 2018-11-14
72
+
73
+ ### Added
74
+
75
+ - Now compatible with Gherkin 6.x.
76
+
77
+
78
+ ## [1.3.0] - 2017-10-19
79
+
80
+ ### Added
81
+
82
+ - Now compatible with Gherkin 5.x.
83
+
84
+
85
+ ## [1.2.1] - 2017-04-25
86
+
87
+ ### Added
88
+
89
+ - Now officially compatible with Rake 12.x.
90
+
91
+
92
+ ## [1.2.0] - 2016-11-23
93
+
94
+ ### Added
95
+
96
+ - The comments in a feature file are now a modeled element.
97
+
98
+
99
+ ## [1.1.1] - 2016-10-28
100
+
101
+ ### Fixed
102
+
103
+ - Abstract instantiation of models when using a non-default dialect
104
+ now works correctly.
105
+
106
+
107
+ ## [1.1.0] - 2016-10-28
108
+
109
+ ### Added
110
+
111
+ - Support added for non-English dialects. This gem should now be able to model
112
+ feature files using any dialect supported by the 'gherkin' gem.
113
+
114
+ - Models for elements of Gherkin that have keywords (e.g. 'Feature', 'Scenario',
115
+ 'Examples') now keep track of the keyword used by the element that they model.
116
+
117
+ ### Fixed
118
+
119
+ - Fixed a bug that was causing example models to output extra newline
120
+ characters under certain circumstances.
121
+
122
+
123
+ ## [1.0.4] - 2016-10-07
124
+
125
+ ### Fixed
126
+
127
+ - Fixed a bug that caused some models to include nil objects in their
128
+ children collection if they did not have the relevant child object.
129
+
130
+
131
+ ## [1.0.3] - 2016-09-12
132
+
133
+ ### Fixed
134
+
135
+ - Fixed a gem dependency that was accidentally declared with '<=' instead of '<'.
136
+
137
+
138
+ ## [1.0.2] - 2016-09-12
139
+
140
+ ### Added
141
+
142
+ - A more detailed gem description and summary have been added to the gemspec.
143
+
144
+ - The gem now declares version limits on its dependencies.
145
+
146
+ - Badges for the current status of the project have been added to the Readme.
147
+
148
+
149
+ ## [1.0.1] - 2016-09-10
150
+
151
+ ### Added
152
+
153
+ - In the Readme file, added a link to the published documentation.
154
+
155
+
156
+ ## [1.0.0] - 2016-09-08
157
+
158
+ ### Added
159
+
160
+ - Background models can now be compared to other models that have steps (i.e.
161
+ scenarios and outlines).
162
+
163
+ - Added specific ancestor types for scenario, outline, and background models as
164
+ alternatives to the generic 'test' ancestor type.
165
+
166
+
167
+ ### Changed
168
+
169
+ - A base model class has been added in order to simplify adding new element
170
+ models. Other classes and modules used for organizing common model behavior
171
+ have been created/removed/renamed.
172
+
173
+ - All modeled elements of a Cucumber test suite are now modeled with actual
174
+ classes. Previously, some elements (such as tags or rows in an example table)
175
+ were modeled with simple strings.
176
+
177
+ - Feature file models now only have a single feature model instead of a
178
+ collection of them (that would only ever have one item in it).
179
+
180
+ - Rows in an example table and rows in a step table no longer use two different
181
+ classes for modeling.
182
+
183
+ - All models for Gherkin elements now track the line number from which they
184
+ originate in a source file.
185
+
186
+ - The source line of a model is now a mutable attribute instead of being read
187
+ only.
188
+
189
+ - The file path of a feature file is now a mutable attribute instead of being
190
+ read only.
191
+
192
+ - Standardized the initial values of the attributes of abstractly created
193
+ models so that they are consistent across model types.
194
+
195
+ - Extra whitespace around parsed element descriptions is now trimmed away
196
+ before being stored in a model.
197
+
198
+ - Adding rows to examples via hashes can now be done without regard to the
199
+ order of the keys in the hash. The correct order can be determined by the
200
+ model.
201
+
202
+ - The saved parsing data that is generated by the 'gherkin' gem is no longer
203
+ duplicated for each model, resulting in significantly less memory usage.
204
+
205
+ - Various methods have been renamed.
206
+
207
+
208
+ ### Removed
209
+
210
+ - Removed the backdoor used to pass around model data during the model creation
211
+ process. Model input can now only be text.
212
+
213
+ - Simple counting methods have been removed. Ruby's collection methods are just
214
+ as easy to use directly when dealing with classes that contain collections
215
+ and the removal of these counting methods simplifies the codebase.
216
+
217
+ - The 'World' module has been removed. The scope of this gem is to model files
218
+ written in Gherkin. Concepts like 'step definitions' and 'hooks' are better
219
+ left to libraries that include (possibly programming language specific) test
220
+ execution logic within their scope of concern.
221
+
222
+ - Step models no longer have 'arguments' because they require the concept of
223
+ step definitions, which are no longer within the scope of this gem.
224
+
225
+ - Removed deprecated behavior
226
+ - Marked
227
+ - Doc strings no longer use an array of strings to model their content
228
+ - Tables no longer use nested arrays of strings to model their rows
229
+ - Models that have descriptions no longer use an array of strings to
230
+ model their description
231
+ - The convenient (read: awkward) #step_text has been removed.
232
+ - Unmarked
233
+ - Examples no longer use an array of hashes to model their rows
234
+
235
+
236
+ ### Fixed
237
+
238
+ - String output of models has been improved. More special characters in Gherkin
239
+ (e.g. vertical bars in rows) are appropriately escaped in the string output
240
+ of a model and several minor bugs related to using model string output as the
241
+ input text for new models have been fixed.
242
+
243
+
244
+ ## [0.4.1] - 2016-05-12
245
+
246
+ ### Added
247
+
248
+ - Increased the flexibility of input when adding rows to an Example object. Non-
249
+ string values can now be used as input and they will be converted into
250
+ strings. Original input objects are not modified.
251
+
252
+ - Added some error checking around adding value rows to an Example object
253
+ without adding a parameter row as well.
254
+
255
+
256
+ ## [0.4.0] - 2016-05-01
257
+
258
+ ### Added
259
+
260
+ - The path of a Directory object is now a changeable attribute instead of only
261
+ being populated if the instance was given a diretory to model.
262
+
263
+ ### Fixed
264
+
265
+ - Fixed a bug that occurred if a Directory object was asked for its
266
+ `#name` when it was created as 'abstract' instead of modeling an existing
267
+ directory.
268
+
269
+
270
+ ## [0.3.0] - 2016-04-24
271
+
272
+ ### Added
273
+
274
+ - Support for version 4.x of the 'gherkin' gem added.
275
+
276
+ ### Fixed
277
+
278
+ - Fixed a bug that was preventing Example objects from being created
279
+ from text if that text had less Gherkin structure than normal.
280
+
281
+
282
+ ## [0.2.0] - 2016-02-21
283
+
284
+ ### Added
285
+
286
+ - Better error feedback when parsing errors are encountered. It is now easier
287
+ to tell which file contained invalid Gherkin.
288
+
289
+
290
+ ## [0.1.0] - 2016-02-10
291
+
292
+ ### Added
293
+
294
+ - Support for version 3.x of the 'gherkin' gem added.
295
+
296
+ ### Fixed
297
+
298
+ - The saved parsing data that is generated by the 'gherkin' gem is no
299
+ longer modified by the rest of the model creation process.
300
+
301
+
302
+ ## [0.0.2] - 2015-11-22
303
+
304
+ ### Fixed
305
+
306
+ - Fixed a bug that was causing object comparison using #== to not
307
+ work when comparing some models to other types of objects.
308
+
309
+
310
+ ## [0.0.1] - 2014-06-02
311
+
312
+ ### Added
313
+
314
+ - Initial release
315
+
316
+
317
+ [Unreleased]: https://github.com/enkessler/cuke_modeler/compare/v3.1.0...HEAD
318
+ [3.1.0]: https://github.com/enkessler/cuke_modeler/compare/v3.0.0...v3.1.0
319
+ [3.0.0]: https://github.com/enkessler/cuke_modeler/compare/v2.1.0...v3.0.0
320
+ [2.1.0]: https://github.com/enkessler/cuke_modeler/compare/v2.0.0...v2.1.0
321
+ [2.0.0]: https://github.com/enkessler/cuke_modeler/compare/v1.5.1...v2.0.0
322
+ [1.5.1]: https://github.com/enkessler/cuke_modeler/compare/v1.5.0...v1.5.1
323
+ [1.5.0]: https://github.com/enkessler/cuke_modeler/compare/v1.4.0...v1.5.0
324
+ [1.4.0]: https://github.com/enkessler/cuke_modeler/compare/v1.3.0...v1.4.0
325
+ [1.3.0]: https://github.com/enkessler/cuke_modeler/compare/v1.2.1...v1.3.0
326
+ [1.2.1]: https://github.com/enkessler/cuke_modeler/compare/v1.2.0...v1.2.1
327
+ [1.2.0]: https://github.com/enkessler/cuke_modeler/compare/v1.1.1...v1.2.0
328
+ [1.1.1]: https://github.com/enkessler/cuke_modeler/compare/v1.1.0...v1.1.1
329
+ [1.1.0]: https://github.com/enkessler/cuke_modeler/compare/v1.0.4...v1.1.0
330
+ [1.0.4]: https://github.com/enkessler/cuke_modeler/compare/v1.0.3...v1.0.4
331
+ [1.0.3]: https://github.com/enkessler/cuke_modeler/compare/v1.0.2...v1.0.3
332
+ [1.0.2]: https://github.com/enkessler/cuke_modeler/compare/v1.0.1...v1.0.2
333
+ [1.0.1]: https://github.com/enkessler/cuke_modeler/compare/v1.0.0...v1.0.1
334
+ [1.0.0]: https://github.com/enkessler/cuke_modeler/compare/v0.4.1...v1.0.0
335
+ [0.4.1]: https://github.com/enkessler/cuke_modeler/compare/v0.4.0...v0.4.1
336
+ [0.4.0]: https://github.com/enkessler/cuke_modeler/compare/v0.3.0...v0.4.0
337
+ [0.3.0]: https://github.com/enkessler/cuke_modeler/compare/v0.2.0...v0.3.0
338
+ [0.2.0]: https://github.com/enkessler/cuke_modeler/compare/v0.1.0...v0.2.0
339
+ [0.1.0]: https://github.com/enkessler/cuke_modeler/compare/v0.0.2...v0.1.0
340
+ [0.0.2]: https://github.com/enkessler/cuke_modeler/compare/v0.0.1...v0.0.2
341
+ [0.0.1]: https://github.com/enkessler/cuke_modeler/compare/ce627fb591966c9ef19a9e69338b1282e9902a0d...v0.0.1
@@ -1,4 +1,4 @@
1
- Copyright (c) 2014-2019 Eric Kessler, et al
1
+ Copyright (c) 2014-2020 Eric Kessler, et al
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -1,17 +1,27 @@
1
+ Basic stuff:
1
2
  [![Gem Version](https://badge.fury.io/rb/cuke_modeler.svg)](https://rubygems.org/gems/cuke_modeler)
2
- [![Build Status](https://travis-ci.org/enkessler/cuke_modeler.svg?branch=dev)](https://travis-ci.org/enkessler/cuke_modeler)
3
- [![Build status](https://ci.appveyor.com/api/projects/status/is8xqvoqn3pjh9l0/branch/dev?svg=true)](https://ci.appveyor.com/project/enkessler/cuke-modeler/branch/dev)
4
- [![Coverage Status](https://coveralls.io/repos/github/enkessler/cuke_modeler/badge.svg?branch=dev)](https://coveralls.io/github/enkessler/cuke_modeler?branch=dev)
5
- [![Code Quality](https://codeclimate.com/github/enkessler/cuke_modeler/badges/gpa.svg)](https://codeclimate.com/github/enkessler/cuke_modeler)
6
3
  [![Project License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/mit-license.php)
4
+ [![Downloads](https://img.shields.io/gem/dt/cuke_modeler.svg)](https://rubygems.org/gems/cuke_modeler)
7
5
 
6
+ User stuff:
7
+ [![Cucumber Docs](http://img.shields.io/badge/Documentation-Features-green.svg)](https://app.cucumber.pro/projects/cuke_modeler)
8
+ [![Yard Docs](http://img.shields.io/badge/Documentation-API-blue.svg)](https://www.rubydoc.info/gems/cuke_modeler)
9
+
10
+ Developer stuff:
11
+ [![Build Status](https://travis-ci.org/enkessler/cuke_modeler.svg)](https://travis-ci.org/enkessler/cuke_modeler)
12
+ [![Build status](https://ci.appveyor.com/api/projects/status/is8xqvoqn3pjh9l0?svg=true)](https://ci.appveyor.com/project/enkessler/cuke-modeler)
13
+ [![Coverage Status](https://coveralls.io/repos/github/enkessler/cuke_modeler/badge.svg)](https://coveralls.io/github/enkessler/cuke_modeler)
14
+ [![Maintainability](https://api.codeclimate.com/v1/badges/83986d8f7a918fed9707/maintainability)](https://codeclimate.com/github/enkessler/cuke_modeler/maintainability)
15
+ [![Inline docs](http://inch-ci.org/github/enkessler/cuke_modeler.svg)](https://inch-ci.org/github/enkessler/cuke_modeler)
16
+
17
+ ---
8
18
 
9
19
  # CukeModeler
10
20
 
11
21
  There comes a time in every programmer's adventures with Cucumber when they
12
22
  want to do Really Cool Stuff with their tests. This usually necessitates
13
23
  scanning all of their feature files and playing with the output. While the
14
- **[gherkin](https://github.com/cucumber/gherkin)** gem does a fine job of parsing feature files, reading or even manipulating
24
+ **[cucumber-gherkin](https://github.com/cucumber/cucumber/tree/master/gherkin)** gem does a fine job of parsing feature files, reading or even manipulating
15
25
  the resulting Abstract Syntax Tree is not always fun. **cuke_modeler** comes to
16
26
  the rescue by providing a modeling layer that is easier to work with.
17
27
 
@@ -73,7 +83,7 @@ One could, if so inclined, use this method to dynamically edit or even create
73
83
  an entire test suite!
74
84
 
75
85
  For more information on the different models and how to use them, see the
76
- [documentation](http://www.relishapp.com/enkessler/CukeModeler/docs).
86
+ [documentation](https://app.cucumber.pro/projects/cuke_modeler).
77
87
 
78
88
  ## Modeling dialects other than English
79
89
 
@@ -116,13 +126,10 @@ that feature is ultimately run with SpecFlow (Cucumber for C#), Lettuce
116
126
  * [cuke_linter](https://github.com/enkessler/cuke_linter)
117
127
 
118
128
 
119
- ## Contributing
129
+ ## Development and Contributing
130
+
131
+ See [CONTRIBUTING.md](https://github.com/enkessler/cuke_modeler/blob/master/CONTRIBUTING.md)
132
+
133
+ ## License
120
134
 
121
- 1. Fork it
122
- 2. Create your feature branch (off of the development branch)
123
- `git checkout -b my-new-feature`
124
- 3. Commit your changes
125
- `git commit -am 'Add some feature'`
126
- 4. Push to the branch
127
- `git push origin my-new-feature`
128
- 5. Create new Pull Request
135
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -9,24 +9,30 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["Eric Kessler"]
10
10
  spec.email = ["morrow748@gmail.com"]
11
11
  spec.summary = %q{A gem providing functionality to model Gherkin based test suites.}
12
- spec.description = %q{This gem facilitates modeling a test suite that is written in Gherkin (e.g. Cucumber, SpecFlow, Lettuce, etc.). It does this by providing an abstraction layer on top of the Abstract Syntax Tree that the 'gherkin' gem generates when parsing features, as well as providing models for feature files and directories in order to be able to have a fully traversable model tree of a test suite's structure. These models can then be analyzed or manipulated more easily than the underlying AST layer.}
12
+ spec.description = %q{This gem facilitates modeling a test suite that is written in Gherkin (e.g. Cucumber, SpecFlow, Lettuce, etc.). It does this by providing an abstraction layer on top of the Abstract Syntax Tree that the 'cucumber-gherkin' gem generates when parsing features, as well as providing models for feature files and directories in order to be able to have a fully traversable model tree of a test suite's structure. These models can then be analyzed or manipulated more easily than the underlying AST layer.}
13
13
  spec.homepage = 'https://github.com/enkessler/cuke_modeler'
14
14
  spec.license = "MIT"
15
15
 
16
- spec.files = `git ls-files -z`.split("\x0")
17
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
16
+ # Specify which files should be added to the gem when it is released.
17
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
18
+ spec.files = Dir.chdir(File.expand_path('', __dir__)) do
19
+ source_controlled_files = `git ls-files -z`.split("\x0")
20
+ source_controlled_files.keep_if { |file| file =~ %r{^(lib|testing/cucumber/features)} }
21
+ source_controlled_files + ['README.md', 'LICENSE.txt', 'CHANGELOG.md', 'cuke_modeler.gemspec']
22
+ end
19
23
  spec.require_paths = ["lib"]
20
24
 
21
- spec.add_runtime_dependency 'gherkin', '< 7.0'
22
- spec.add_runtime_dependency('json', '>= 1.0', '< 3.0')
23
- spec.add_runtime_dependency('multi_json', '~> 1.0')
25
+ spec.required_ruby_version = '>= 2.3', '< 3.0'
24
26
 
25
- spec.add_development_dependency "bundler"
27
+ spec.add_runtime_dependency 'cucumber-gherkin', '< 15.0'
28
+
29
+ spec.add_development_dependency 'bundler', '< 3.0'
26
30
  spec.add_development_dependency "rake", '< 13.0.0'
27
31
  spec.add_development_dependency 'cucumber', '< 5.0.0'
28
32
  spec.add_development_dependency 'rspec', '~> 3.0'
29
- spec.add_development_dependency 'simplecov', '< 1.0.0'
33
+ spec.add_development_dependency 'simplecov', '<= 0.16.1'
30
34
  spec.add_development_dependency 'racatt', '~> 1.0'
31
35
  spec.add_development_dependency 'coveralls', '< 1.0.0'
36
+ spec.add_development_dependency 'rainbow', '< 4.0.0'
37
+ spec.add_development_dependency 'test-unit', '< 4.0.0'
32
38
  end