cuke_modeler 3.20.0 → 3.20.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -1
  3. data/README.md +5 -6
  4. data/lib/cuke_modeler/adapters/gherkin_10_adapter.rb +5 -5
  5. data/lib/cuke_modeler/adapters/gherkin_11_adapter.rb +5 -5
  6. data/lib/cuke_modeler/adapters/gherkin_12_adapter.rb +5 -5
  7. data/lib/cuke_modeler/adapters/gherkin_13_adapter.rb +5 -5
  8. data/lib/cuke_modeler/adapters/gherkin_14_adapter.rb +5 -5
  9. data/lib/cuke_modeler/adapters/gherkin_15_adapter.rb +5 -5
  10. data/lib/cuke_modeler/adapters/gherkin_16_adapter.rb +5 -5
  11. data/lib/cuke_modeler/adapters/gherkin_17_adapter.rb +5 -5
  12. data/lib/cuke_modeler/adapters/gherkin_18_adapter.rb +5 -2
  13. data/lib/cuke_modeler/adapters/gherkin_19_adapter.rb +5 -2
  14. data/lib/cuke_modeler/adapters/gherkin_20_adapter.rb +5 -2
  15. data/lib/cuke_modeler/adapters/gherkin_21_adapter.rb +5 -5
  16. data/lib/cuke_modeler/adapters/gherkin_22_adapter.rb +5 -5
  17. data/lib/cuke_modeler/adapters/gherkin_23_adapter.rb +5 -5
  18. data/lib/cuke_modeler/adapters/gherkin_24_adapter.rb +5 -5
  19. data/lib/cuke_modeler/adapters/gherkin_25_adapter.rb +5 -5
  20. data/lib/cuke_modeler/adapters/gherkin_26_adapter.rb +5 -5
  21. data/lib/cuke_modeler/adapters/gherkin_27_adapter.rb +5 -5
  22. data/lib/cuke_modeler/adapters/gherkin_9_adapter.rb +5 -2
  23. data/lib/cuke_modeler/adapters/gherkin_base_adapter.rb +5 -2
  24. data/lib/cuke_modeler/containing.rb +43 -210
  25. data/lib/cuke_modeler/described.rb +8 -4
  26. data/lib/cuke_modeler/models/background.rb +53 -11
  27. data/lib/cuke_modeler/models/cell.rb +36 -8
  28. data/lib/cuke_modeler/models/comment.rb +35 -8
  29. data/lib/cuke_modeler/models/directory.rb +58 -10
  30. data/lib/cuke_modeler/models/doc_string.rb +41 -9
  31. data/lib/cuke_modeler/models/example.rb +94 -17
  32. data/lib/cuke_modeler/models/feature.rb +73 -11
  33. data/lib/cuke_modeler/models/feature_file.rb +56 -12
  34. data/lib/cuke_modeler/models/model.rb +50 -7
  35. data/lib/cuke_modeler/models/outline.rb +59 -10
  36. data/lib/cuke_modeler/models/row.rb +45 -9
  37. data/lib/cuke_modeler/models/rule.rb +59 -9
  38. data/lib/cuke_modeler/models/scenario.rb +51 -10
  39. data/lib/cuke_modeler/models/step.rb +61 -11
  40. data/lib/cuke_modeler/models/table.rb +45 -9
  41. data/lib/cuke_modeler/models/tag.rb +30 -14
  42. data/lib/cuke_modeler/named.rb +7 -4
  43. data/lib/cuke_modeler/nested.rb +19 -4
  44. data/lib/cuke_modeler/parsed.rb +10 -5
  45. data/lib/cuke_modeler/parsing.rb +25 -13
  46. data/lib/cuke_modeler/sourceable.rb +11 -5
  47. data/lib/cuke_modeler/stepped.rb +7 -5
  48. data/lib/cuke_modeler/taggable.rb +22 -4
  49. data/lib/cuke_modeler/version.rb +1 -1
  50. data/testing/cucumber/features/modeling/base_model.feature +3 -0
  51. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: db68bd0813ac0151f45f174d89c95c5accb2c11a77df2321f859d18f62ecf06f
4
- data.tar.gz: 5d9b7ee4ea5c98a8e90d4d8d6d657223150064be4e867a8ef444eb93b357a195
3
+ metadata.gz: 1cfecfdb9d15e82e2c516e0fdd8787391258b0b7b17278fb06832a3caaf1ade2
4
+ data.tar.gz: 055c7e2c74c325fedc1b4b5a89594733276b44b1585ff1bf98eec0da5715b48d
5
5
  SHA512:
6
- metadata.gz: a166c272417d15db4e3a04dcfb2057c0536a8412e7bce5810b9885998823d354667b42dbf9a49796d73498f469c1978779ea8a518ccd1ed92d2c9f6985c69f5e
7
- data.tar.gz: c24f43b46820b37f16a0bf476e48d86c2a159ebc6b6a2b87da3194d7c6e0496b0ed25c7698a83c8a5f4bb1bc5fd77503c188492a19c3b8403298e994b03a5dab
6
+ metadata.gz: a21c007aeff0f702eaed164c2e9d27beed205532c2a0855aef90816ad61da1bc6658ee42df01319bea8d058ff49dab8872f74a6e35849601f2f68b1d2d40a67d
7
+ data.tar.gz: 36b498a0d7e1bb9bbf004a0b906ba4adc23f7cc1b895c7ecaba1dd76c5f575d351042c307d8f1807454faf0747495c32b3fea4d20633e74eb75f497702ec0e13
data/CHANGELOG.md CHANGED
@@ -9,6 +9,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
  Nothing yet...
10
10
 
11
11
 
12
+ ## [3.20.1] - 2023-10-16
13
+
14
+ ### Changed
15
+ - Finally made various parts of the codebase private in the Ruby sense of the word instead of only
16
+ being marked as private by comments. Not a breaking change because the stuff was already declared to
17
+ be not part of the public API.
18
+
19
+ - Improved code documentation by making more use of YARD tags.
20
+
21
+
12
22
  ## [3.20.0] - 2023-9-21
13
23
 
14
24
  ### Added
@@ -455,7 +465,8 @@ Nothing yet...
455
465
  - Initial release
456
466
 
457
467
 
458
- [Unreleased]: https://github.com/enkessler/cuke_modeler/compare/v3.20.0...HEAD
468
+ [Unreleased]: https://github.com/enkessler/cuke_modeler/compare/v3.20.1...HEAD
469
+ [3.20.1]: https://github.com/enkessler/cuke_modeler/compare/v3.20.0...v3.20.1
459
470
  [3.20.0]: https://github.com/enkessler/cuke_modeler/compare/v3.19.0...v3.20.0
460
471
  [3.19.0]: https://github.com/enkessler/cuke_modeler/compare/v3.18.0...v3.19.0
461
472
  [3.18.0]: https://github.com/enkessler/cuke_modeler/compare/v3.17.0...v3.18.0
data/README.md CHANGED
@@ -11,7 +11,6 @@ Developer stuff:
11
11
  [![Build Status](https://github.com/enkessler/cuke_modeler/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/enkessler/cuke_modeler/actions/workflows/ci.yml?query=branch%3Amaster)
12
12
  [![Coverage Status](https://coveralls.io/repos/github/enkessler/cuke_modeler/badge.svg?branch=master)](https://coveralls.io/github/enkessler/cuke_modeler?branch=master)
13
13
  [![Maintainability](https://api.codeclimate.com/v1/badges/83986d8f7a918fed9707/maintainability)](https://codeclimate.com/github/enkessler/cuke_modeler/maintainability)
14
- [![Inline docs](http://inch-ci.org/github/enkessler/cuke_modeler.svg?branch=master)](https://inch-ci.org/github/enkessler/cuke_modeler)
15
14
 
16
15
  ---
17
16
 
@@ -119,11 +118,11 @@ that feature is ultimately run with SpecFlow (Cucumber for C#), Lettuce
119
118
 
120
119
  ### <a id="projects"></a>Other gems that are powered by **cuke_modeler**
121
120
 
122
- * [cql](https://github.com/enkessler/cql)
123
- * [cuketagger](https://github.com/enkessler/cuketagger)
124
- * [cuke_cataloger](https://github.com/enkessler/cuke_cataloger)
125
- * [cuke_slicer](https://github.com/grange-insurance/cuke_slicer)
126
- * [cuke_linter](https://github.com/enkessler/cuke_linter)
121
+ * [cql](https://github.com/enkessler/cql) - A convenient DSL for querying modeled Gherkin documents
122
+ * [cuketagger](https://github.com/enkessler/cuketagger) - A tool for adding tags to feature files
123
+ * [cuke_cataloger](https://github.com/enkessler/cuke_cataloger) - Easily add uniques IDs to every test case in a suite
124
+ * [cuke_slicer](https://github.com/enkessler/cuke_slicer) - Break a test suite down into discrete test cases for easy parallel distribution
125
+ * [cuke_linter](https://github.com/enkessler/cuke_linter) - Identify common code smells in your Gherkin
127
126
 
128
127
 
129
128
  ## Development and Contributing
@@ -3,11 +3,11 @@ require_relative 'gherkin_9_adapter'
3
3
 
4
4
  module CukeModeler
5
5
 
6
- # NOT A PART OF THE PUBLIC API
6
+ # @api private
7
+ #
7
8
  # An adapter that can convert the output of version 10.x of the *cucumber-gherkin* gem into input that is consumable
8
- # by this gem.
9
+ # by this gem. Internal helper class.
10
+ class Gherkin10Adapter < Gherkin9Adapter; end
9
11
 
10
- class Gherkin10Adapter < Gherkin9Adapter
11
-
12
- end
12
+ private_constant :Gherkin10Adapter
13
13
  end
@@ -3,11 +3,11 @@ require_relative 'gherkin_9_adapter'
3
3
 
4
4
  module CukeModeler
5
5
 
6
- # NOT A PART OF THE PUBLIC API
6
+ # @api private
7
+ #
7
8
  # An adapter that can convert the output of version 11.x of the *cucumber-gherkin* gem into input that is consumable
8
- # by this gem.
9
+ # by this gem. Internal helper class.
10
+ class Gherkin11Adapter < Gherkin9Adapter; end
9
11
 
10
- class Gherkin11Adapter < Gherkin9Adapter
11
-
12
- end
12
+ private_constant :Gherkin11Adapter
13
13
  end
@@ -3,11 +3,11 @@ require_relative 'gherkin_9_adapter'
3
3
 
4
4
  module CukeModeler
5
5
 
6
- # NOT A PART OF THE PUBLIC API
6
+ # @api private
7
+ #
7
8
  # An adapter that can convert the output of version 12.x of the *cucumber-gherkin* gem into input that is consumable
8
- # by this gem.
9
+ # by this gem. Internal helper class.
10
+ class Gherkin12Adapter < Gherkin9Adapter; end
9
11
 
10
- class Gherkin12Adapter < Gherkin9Adapter
11
-
12
- end
12
+ private_constant :Gherkin12Adapter
13
13
  end
@@ -3,11 +3,11 @@ require_relative 'gherkin_9_adapter'
3
3
 
4
4
  module CukeModeler
5
5
 
6
- # NOT A PART OF THE PUBLIC API
6
+ # @api private
7
+ #
7
8
  # An adapter that can convert the output of version 13.x of the *cucumber-gherkin* gem into input that is consumable
8
- # by this gem.
9
+ # by this gem. Internal helper class.
10
+ class Gherkin13Adapter < Gherkin9Adapter; end
9
11
 
10
- class Gherkin13Adapter < Gherkin9Adapter
11
-
12
- end
12
+ private_constant :Gherkin13Adapter
13
13
  end
@@ -3,11 +3,11 @@ require_relative 'gherkin_9_adapter'
3
3
 
4
4
  module CukeModeler
5
5
 
6
- # NOT A PART OF THE PUBLIC API
6
+ # @api private
7
+ #
7
8
  # An adapter that can convert the output of version 14.x of the *cucumber-gherkin* gem into input that is consumable
8
- # by this gem.
9
+ # by this gem. Internal helper class.
10
+ class Gherkin14Adapter < Gherkin9Adapter; end
9
11
 
10
- class Gherkin14Adapter < Gherkin9Adapter
11
-
12
- end
12
+ private_constant :Gherkin14Adapter
13
13
  end
@@ -3,11 +3,11 @@ require_relative 'gherkin_9_adapter'
3
3
 
4
4
  module CukeModeler
5
5
 
6
- # NOT A PART OF THE PUBLIC API
6
+ # @api private
7
+ #
7
8
  # An adapter that can convert the output of version 15.x of the *cucumber-gherkin* gem into input that is consumable
8
- # by this gem.
9
+ # by this gem. Internal helper class.
10
+ class Gherkin15Adapter < Gherkin9Adapter; end
9
11
 
10
- class Gherkin15Adapter < Gherkin9Adapter
11
-
12
- end
12
+ private_constant :Gherkin15Adapter
13
13
  end
@@ -3,11 +3,11 @@ require_relative 'gherkin_9_adapter'
3
3
 
4
4
  module CukeModeler
5
5
 
6
- # NOT A PART OF THE PUBLIC API
6
+ # @api private
7
+ #
7
8
  # An adapter that can convert the output of version 16.x of the *cucumber-gherkin* gem into input that is consumable
8
- # by this gem.
9
+ # by this gem. Internal helper class.
10
+ class Gherkin16Adapter < Gherkin9Adapter; end
9
11
 
10
- class Gherkin16Adapter < Gherkin9Adapter
11
-
12
- end
12
+ private_constant :Gherkin16Adapter
13
13
  end
@@ -3,11 +3,11 @@ require_relative 'gherkin_9_adapter'
3
3
 
4
4
  module CukeModeler
5
5
 
6
- # NOT A PART OF THE PUBLIC API
6
+ # @api private
7
+ #
7
8
  # An adapter that can convert the output of version 17.x of the *cucumber-gherkin* gem into input that is consumable
8
- # by this gem.
9
+ # by this gem. Internal helper class.
10
+ class Gherkin17Adapter < Gherkin9Adapter; end
9
11
 
10
- class Gherkin17Adapter < Gherkin9Adapter
11
-
12
- end
12
+ private_constant :Gherkin17Adapter
13
13
  end
@@ -3,9 +3,10 @@ require_relative 'gherkin_9_adapter'
3
3
 
4
4
  module CukeModeler
5
5
 
6
- # NOT A PART OF THE PUBLIC API
6
+ # @api private
7
+ #
7
8
  # An adapter that can convert the output of version 18.x of the *cucumber-gherkin* gem into input that is consumable
8
- # by this gem.
9
+ # by this gem. Internal helper class.
9
10
  class Gherkin18Adapter < Gherkin9Adapter
10
11
 
11
12
  # Adapts the AST sub-tree that is rooted at the given rule node.
@@ -21,4 +22,6 @@ module CukeModeler
21
22
  end
22
23
 
23
24
  end
25
+
26
+ private_constant :Gherkin18Adapter
24
27
  end
@@ -3,9 +3,10 @@ require_relative 'gherkin_18_adapter'
3
3
 
4
4
  module CukeModeler
5
5
 
6
- # NOT A PART OF THE PUBLIC API
6
+ # @api private
7
+ #
7
8
  # An adapter that can convert the output of version 19.x of the *cucumber-gherkin* gem into input that is consumable
8
- # by this gem.
9
+ # by this gem. Internal helper class.
9
10
  class Gherkin19Adapter < Gherkin18Adapter
10
11
 
11
12
  # Adapts the AST sub-tree that is rooted at the given step node.
@@ -58,4 +59,6 @@ module CukeModeler
58
59
  end
59
60
 
60
61
  end
62
+
63
+ private_constant :Gherkin19Adapter
61
64
  end
@@ -5,9 +5,10 @@ require_relative 'gherkin_base_adapter'
5
5
 
6
6
  module CukeModeler
7
7
 
8
- # NOT A PART OF THE PUBLIC API
8
+ # @api private
9
+ #
9
10
  # An adapter that can convert the output of version 20.x of the *cucumber-gherkin* gem into input that is consumable
10
- # by this gem.
11
+ # by this gem. Internal helper class.
11
12
  class Gherkin20Adapter < GherkinBaseAdapter
12
13
 
13
14
  # Adapts the given AST into the shape that this gem expects
@@ -355,6 +356,8 @@ module CukeModeler
355
356
  end
356
357
 
357
358
  end
359
+
360
+ private_constant :Gherkin20Adapter
358
361
  end
359
362
 
360
363
  # rubocop:enable Metrics/ClassLength, Metrics/AbcSize, Metrics/MethodLength
@@ -3,11 +3,11 @@ require_relative 'gherkin_20_adapter'
3
3
 
4
4
  module CukeModeler
5
5
 
6
- # NOT A PART OF THE PUBLIC API
6
+ # @api private
7
+ #
7
8
  # An adapter that can convert the output of version 21.x of the *cucumber-gherkin* gem into input that is consumable
8
- # by this gem.
9
+ # by this gem. Internal helper class.
10
+ class Gherkin21Adapter < Gherkin20Adapter; end
9
11
 
10
- class Gherkin21Adapter < Gherkin20Adapter
11
-
12
- end
12
+ private_constant :Gherkin21Adapter
13
13
  end
@@ -3,11 +3,11 @@ require_relative 'gherkin_20_adapter'
3
3
 
4
4
  module CukeModeler
5
5
 
6
- # NOT A PART OF THE PUBLIC API
6
+ # @api private
7
+ #
7
8
  # An adapter that can convert the output of version 22.x of the *cucumber-gherkin* gem into input that is consumable
8
- # by this gem.
9
+ # by this gem. Internal helper class.
10
+ class Gherkin22Adapter < Gherkin20Adapter; end
9
11
 
10
- class Gherkin22Adapter < Gherkin20Adapter
11
-
12
- end
12
+ private_constant :Gherkin22Adapter
13
13
  end
@@ -3,11 +3,11 @@ require_relative 'gherkin_20_adapter'
3
3
 
4
4
  module CukeModeler
5
5
 
6
- # NOT A PART OF THE PUBLIC API
6
+ # @api private
7
+ #
7
8
  # An adapter that can convert the output of version 23.x of the *cucumber-gherkin* gem into input that is consumable
8
- # by this gem.
9
+ # by this gem. Internal helper class.
10
+ class Gherkin23Adapter < Gherkin20Adapter; end
9
11
 
10
- class Gherkin23Adapter < Gherkin20Adapter
11
-
12
- end
12
+ private_constant :Gherkin23Adapter
13
13
  end
@@ -3,11 +3,11 @@ require_relative 'gherkin_20_adapter'
3
3
 
4
4
  module CukeModeler
5
5
 
6
- # NOT A PART OF THE PUBLIC API
6
+ # @api private
7
+ #
7
8
  # An adapter that can convert the output of version 24.x of the *cucumber-gherkin* gem into input that is consumable
8
- # by this gem.
9
+ # by this gem. Internal helper class.
10
+ class Gherkin24Adapter < Gherkin20Adapter; end
9
11
 
10
- class Gherkin24Adapter < Gherkin20Adapter
11
-
12
- end
12
+ private_constant :Gherkin24Adapter
13
13
  end
@@ -3,11 +3,11 @@ require_relative 'gherkin_20_adapter'
3
3
 
4
4
  module CukeModeler
5
5
 
6
- # NOT A PART OF THE PUBLIC API
6
+ # @api private
7
+ #
7
8
  # An adapter that can convert the output of version 25.x of the *cucumber-gherkin* gem into input that is consumable
8
- # by this gem.
9
+ # by this gem. Internal helper class.
10
+ class Gherkin25Adapter < Gherkin20Adapter; end
9
11
 
10
- class Gherkin25Adapter < Gherkin20Adapter
11
-
12
- end
12
+ private_constant :Gherkin25Adapter
13
13
  end
@@ -3,11 +3,11 @@ require_relative 'gherkin_20_adapter'
3
3
 
4
4
  module CukeModeler
5
5
 
6
- # NOT A PART OF THE PUBLIC API
6
+ # @api private
7
+ #
7
8
  # An adapter that can convert the output of version 26.x of the *cucumber-gherkin* gem into input that is consumable
8
- # by this gem.
9
+ # by this gem. Internal helper class.
10
+ class Gherkin26Adapter < Gherkin20Adapter; end
9
11
 
10
- class Gherkin26Adapter < Gherkin20Adapter
11
-
12
- end
12
+ private_constant :Gherkin26Adapter
13
13
  end
@@ -3,11 +3,11 @@ require_relative 'gherkin_20_adapter'
3
3
 
4
4
  module CukeModeler
5
5
 
6
- # NOT A PART OF THE PUBLIC API
6
+ # @api private
7
+ #
7
8
  # An adapter that can convert the output of version 27.x of the *cucumber-gherkin* gem into input that is consumable
8
- # by this gem.
9
+ # by this gem. Internal helper class.
10
+ class Gherkin27Adapter < Gherkin20Adapter; end
9
11
 
10
- class Gherkin27Adapter < Gherkin20Adapter
11
-
12
- end
12
+ private_constant :Gherkin27Adapter
13
13
  end
@@ -5,9 +5,10 @@ require_relative 'gherkin_base_adapter'
5
5
 
6
6
  module CukeModeler
7
7
 
8
- # NOT A PART OF THE PUBLIC API
8
+ # @api private
9
+ #
9
10
  # An adapter that can convert the output of version 9.x of the *cucumber-gherkin* gem into input that is consumable
10
- # by this gem.
11
+ # by this gem. Internal helper class.
11
12
  class Gherkin9Adapter < GherkinBaseAdapter
12
13
 
13
14
  # Adapts the given AST into the shape that this gem expects
@@ -371,6 +372,8 @@ module CukeModeler
371
372
  end
372
373
 
373
374
  end
375
+
376
+ private_constant :Gherkin9Adapter
374
377
  end
375
378
 
376
379
  # rubocop:enable Metrics/ClassLength, Metrics/AbcSize, Metrics/MethodLength
@@ -1,7 +1,8 @@
1
1
  module CukeModeler
2
2
 
3
- # NOT A PART OF THE PUBLIC API
4
- # A class providing some basic and common adapter functionality.
3
+ # @api private
4
+ #
5
+ # A class providing some basic and common adapter functionality. Internal helper class.
5
6
  class GherkinBaseAdapter
6
7
 
7
8
  private
@@ -11,4 +12,6 @@ module CukeModeler
11
12
  end
12
13
 
13
14
  end
15
+
16
+ private_constant :GherkinBaseAdapter
14
17
  end