cuke_modeler 3.20.0 → 3.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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