gherkin_system 0.2.0 → 0.3.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f34062309b4b10e565f452e4057b7d92c061685cfd678be14ece67bf45e2cda5
4
- data.tar.gz: c37ba7f15a150aaa4915cbdef0bedc7daba986253c5a9884eaad19fa90aed550
3
+ metadata.gz: ad50fe0b6a9956f4e0ecff3c0ff6b0c7b455226055dd791dabcf2853a7f5cf81
4
+ data.tar.gz: d15894c2deaa1200ada09efa29b62bb27e5411786b813da513813c57c5f82d23
5
5
  SHA512:
6
- metadata.gz: 703ebc78c70e5d9dc9c660a49277222e7969d0f5e42924f320f80967583f733cc15676565a6ab6d1d58634b639bb4571f4870d8bfe7f3582954be9c9a6a01e73
7
- data.tar.gz: dfb3f04e649d77afd862551b3fa4147addaa43ad3bc2cb9eb3cdc3498e39f916855c9c8a09da3bf01fe86d5d5c62db234ded563e1b69afd5f1ac4e8b00bf04af
6
+ metadata.gz: ee071ef70cfcc2d6b16f39f15b9872e0d93868af72f515c2ab975a00cf21be66c6b83a78d5ad19a5f1001a543b45858ba3b1ab2b1150f8a3d161806e9a3f99dd
7
+ data.tar.gz: e93598761e83e335f88084d156a22813339600cc209835e21eb2cc2401737e049d8c94913ec96189c2833e7f998c4725d6c62a1e97f0b729b40bb02dcd6db243
data/CHANGELOG.md CHANGED
@@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.3.0] - 2026-10-04
11
+
12
+ ### Changed
13
+
14
+ - Generator commands use `gherkin:install`, `gherkin:feature NAME`, and `gherkin:steps NAME`, matching the existing `rails gherkin` commands
15
+ - README and application skill use the shorter generator namespace
16
+ - Existing `gherkin_system:` generator commands remain available for compatibility
17
+
10
18
  ## [0.2.0] - 2026-10-04
11
19
 
12
20
  ### Changed
data/README.md CHANGED
@@ -15,9 +15,9 @@ gem "gherkin_system"
15
15
 
16
16
  ```sh
17
17
  bundle install
18
- bin/rails g gherkin_system:install
19
- bin/rails g gherkin_system:feature checkout
20
- bin/rails g gherkin_system:steps checkout
18
+ bin/rails g gherkin:install
19
+ bin/rails g gherkin:feature checkout
20
+ bin/rails g gherkin:steps checkout
21
21
  ```
22
22
 
23
23
  `install` creates `test/system/gherkin_test.rb`, `features/`, and `test/support/gherkin/`. `feature` and `steps` add a `.feature` file and a steps module; wire the module into the loader with `require_relative` and `config.include_steps`.
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rails/generators"
4
+
5
+ module Gherkin
6
+ module Generators
7
+ # Creates a Gherkin feature under features.
8
+ class FeatureGenerator < Rails::Generators::NamedBase
9
+ source_root File.expand_path("templates", __dir__)
10
+
11
+ desc "Creates a Gherkin feature file under features"
12
+
13
+ def create_feature
14
+ template "feature.feature.tt", File.join("features", "#{file_path}.feature")
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rails/generators"
4
+
5
+ module Gherkin
6
+ module Generators
7
+ # Scaffolds the loader, feature directory, and steps support directory.
8
+ class InstallGenerator < Rails::Generators::Base
9
+ source_root File.expand_path("templates", __dir__)
10
+
11
+ desc "Creates a Gherkin loader, features, and test/support/gherkin"
12
+
13
+ def create_loader
14
+ template "gherkin_test.rb", "test/system/gherkin_test.rb"
15
+ end
16
+
17
+ def create_features_directory
18
+ empty_directory "features"
19
+ create_file "features/.keep", ""
20
+ end
21
+
22
+ def create_steps_directory
23
+ empty_directory "test/support/gherkin"
24
+ create_file "test/support/gherkin/.keep", ""
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rails/generators"
4
+
5
+ module Gherkin
6
+ module Generators
7
+ # Creates a step definition module under test/support/gherkin.
8
+ class StepsGenerator < Rails::Generators::NamedBase
9
+ source_root File.expand_path("templates", __dir__)
10
+
11
+ desc "Creates a Gherkin steps module under test/support/gherkin"
12
+
13
+ def create_steps
14
+ template "steps.rb.tt", File.join("test/support/gherkin", "#{file_path}_steps.rb")
15
+ end
16
+
17
+ def remind_loader_wiring
18
+ say "Remember to require and include #{steps_module_name} in test/system/gherkin_test.rb", :green
19
+ end
20
+
21
+ private
22
+
23
+ def steps_module_name
24
+ "#{class_name}Steps"
25
+ end
26
+ end
27
+ end
28
+ end
@@ -1,18 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "rails/generators"
3
+ require "generators/gherkin/feature/feature_generator"
4
4
 
5
5
  module GherkinSystem
6
6
  module Generators
7
- # Creates a Gherkin feature under features.
8
- class FeatureGenerator < Rails::Generators::NamedBase
9
- source_root File.expand_path("templates", __dir__)
10
-
11
- desc "Creates a Gherkin feature file under features"
12
-
13
- def create_feature
14
- template "feature.feature.tt", File.join("features", "#{file_path}.feature")
15
- end
7
+ # Keeps the original generator command available.
8
+ class FeatureGenerator < Gherkin::Generators::FeatureGenerator
9
+ source_root Gherkin::Generators::FeatureGenerator.source_root
16
10
  end
17
11
  end
18
12
  end
@@ -1,28 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "rails/generators"
3
+ require "generators/gherkin/install/install_generator"
4
4
 
5
5
  module GherkinSystem
6
6
  module Generators
7
- # Scaffolds the loader, feature directory, and steps support directory.
8
- class InstallGenerator < Rails::Generators::Base
9
- source_root File.expand_path("templates", __dir__)
10
-
11
- desc "Creates gherkin_system loader, features, and test/support/gherkin"
12
-
13
- def create_loader
14
- template "gherkin_test.rb", "test/system/gherkin_test.rb"
15
- end
16
-
17
- def create_features_directory
18
- empty_directory "features"
19
- create_file "features/.keep", ""
20
- end
21
-
22
- def create_steps_directory
23
- empty_directory "test/support/gherkin"
24
- create_file "test/support/gherkin/.keep", ""
25
- end
7
+ # Keeps the original generator command available.
8
+ class InstallGenerator < Gherkin::Generators::InstallGenerator
9
+ source_root Gherkin::Generators::InstallGenerator.source_root
26
10
  end
27
11
  end
28
12
  end
@@ -1,28 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "rails/generators"
3
+ require "generators/gherkin/steps/steps_generator"
4
4
 
5
5
  module GherkinSystem
6
6
  module Generators
7
- # Creates a step definition module under test/support/gherkin.
8
- class StepsGenerator < Rails::Generators::NamedBase
9
- source_root File.expand_path("templates", __dir__)
10
-
11
- desc "Creates a gherkin_system steps module under test/support/gherkin"
12
-
13
- def create_steps
14
- template "steps.rb.tt", File.join("test/support/gherkin", "#{file_path}_steps.rb")
15
- end
16
-
17
- def remind_loader_wiring
18
- say "Remember to require and include #{steps_module_name} in test/system/gherkin_test.rb", :green
19
- end
20
-
21
- private
22
-
23
- def steps_module_name
24
- "#{class_name}Steps"
25
- end
7
+ # Keeps the original generator command available.
8
+ class StepsGenerator < Gherkin::Generators::StepsGenerator
9
+ source_root Gherkin::Generators::StepsGenerator.source_root
26
10
  end
27
11
  end
28
12
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module GherkinSystem
4
4
  # Gem version.
5
- VERSION = "0.2.0"
5
+ VERSION = "0.3.0"
6
6
  end
@@ -14,7 +14,7 @@ Do not add cucumber-rails, a Cucumber World, or a second test runner. Do not use
14
14
 
15
15
  ## Add a scenario
16
16
 
17
- 1. Scaffold with `bin/rails g gherkin_system:feature NAME` and `bin/rails g gherkin_system:steps NAME` (or write the files by hand under `features/**/*.feature` and `test/support/gherkin/*_steps.rb`).
17
+ 1. Scaffold with `bin/rails g gherkin:feature NAME` and `bin/rails g gherkin:steps NAME` (or write the files by hand under `features/**/*.feature` and `test/support/gherkin/*_steps.rb`).
18
18
  2. Require the steps file from `test/system/gherkin_test.rb` before `GherkinSystem.load!`.
19
19
  3. Run `bin/rails gherkin:check`.
20
20
  4. Run the scenario with `bin/rails gherkin path/to/file.feature:LINE`.
@@ -22,7 +22,7 @@ Do not add cucumber-rails, a Cucumber World, or a second test runner. Do not use
22
22
  Create the loader once if it is missing:
23
23
 
24
24
  ```sh
25
- bin/rails g gherkin_system:install
25
+ bin/rails g gherkin:install
26
26
  ```
27
27
 
28
28
  Then require step modules and register them before `load!`:
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gherkin_system
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Paluy
@@ -98,12 +98,15 @@ files:
98
98
  - LICENSE
99
99
  - LICENSE.txt
100
100
  - README.md
101
+ - lib/generators/gherkin/feature/feature_generator.rb
102
+ - lib/generators/gherkin/feature/templates/feature.feature.tt
103
+ - lib/generators/gherkin/install/install_generator.rb
104
+ - lib/generators/gherkin/install/templates/gherkin_test.rb
105
+ - lib/generators/gherkin/steps/steps_generator.rb
106
+ - lib/generators/gherkin/steps/templates/steps.rb.tt
101
107
  - lib/generators/gherkin_system/feature/feature_generator.rb
102
- - lib/generators/gherkin_system/feature/templates/feature.feature.tt
103
108
  - lib/generators/gherkin_system/install/install_generator.rb
104
- - lib/generators/gherkin_system/install/templates/gherkin_test.rb
105
109
  - lib/generators/gherkin_system/steps/steps_generator.rb
106
- - lib/generators/gherkin_system/steps/templates/steps.rb.tt
107
110
  - lib/gherkin_system.rb
108
111
  - lib/gherkin_system/checker.rb
109
112
  - lib/gherkin_system/cli.rb