chutney 3.7.0 → 3.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +1 -2
  3. data/.rubocop.yml +4 -3
  4. data/Gemfile +9 -0
  5. data/README.md +49 -3
  6. data/chutney.gemspec +8 -17
  7. data/examples/emoji.feature +1 -2
  8. data/exe/chutney +2 -2
  9. data/exe/chutney-lsp +23 -0
  10. data/img/happy_chutney.png +0 -0
  11. data/lib/chutney/configuration.rb +4 -2
  12. data/lib/chutney/formatter/pie_formatter.rb +2 -2
  13. data/lib/chutney/linter/inconsistent_quoting.rb +1 -1
  14. data/lib/chutney/linter/invalid_file_name.rb +1 -1
  15. data/lib/chutney/linter/same_tag_different_case.rb +1 -1
  16. data/lib/chutney/linter/same_tag_for_all_scenarios.rb +2 -2
  17. data/lib/chutney/linter/unique_scenario_names.rb +1 -1
  18. data/lib/chutney/linter/unused_variable.rb +1 -1
  19. data/lib/chutney/linter/use_outline.rb +1 -1
  20. data/lib/chutney/linter.rb +1 -1
  21. data/lib/chutney/lsp/result.rb +16 -0
  22. data/lib/chutney/lsp/server.rb +177 -0
  23. data/lib/chutney/lsp.rb +7 -0
  24. data/lib/chutney/version.rb +1 -1
  25. data/lib/chutney.rb +0 -1
  26. data/usechutney.com/.gitignore +5 -0
  27. data/usechutney.com/Gemfile +37 -0
  28. data/usechutney.com/_config.yml +298 -0
  29. data/usechutney.com/_data/navigation.yml +112 -0
  30. data/usechutney.com/_data/ui-text.yml +2132 -0
  31. data/usechutney.com/_posts/2024-09-23-welcome-to-jekyll.markdown +28 -0
  32. data/usechutney.com/assets/images/mr_pickle.png +0 -0
  33. data/usechutney.com/assets/images/pug.png +0 -0
  34. data/usechutney.com/docs/configuration/index.md +104 -0
  35. data/usechutney.com/docs/disabling-rules/index.md +11 -0
  36. data/usechutney.com/docs/installing/index.md +30 -0
  37. data/usechutney.com/docs/language-server/index.md +24 -0
  38. data/usechutney.com/docs/rules/avoid-full-stops/index.md +23 -0
  39. data/usechutney.com/docs/rules/avoid-outline-for-single-example/index.md +28 -0
  40. data/usechutney.com/docs/rules/avoid-scripting/index.md +33 -0
  41. data/usechutney.com/docs/rules/avoid-splat-steps-in-background/index.md +25 -0
  42. data/usechutney.com/docs/rules/avoid-splat-steps-in-scenarios/index.md +29 -0
  43. data/usechutney.com/docs/rules/avoid-typographers-quotes/index.md +24 -0
  44. data/usechutney.com/docs/rules/background-does-more-than-setup/index.md +28 -0
  45. data/usechutney.com/docs/rules/background-requires-multiple-scenarios/index.md +26 -0
  46. data/usechutney.com/docs/rules/bad-scenario-name/index.md +28 -0
  47. data/usechutney.com/docs/rules/empty-feature-file/index.md +7 -0
  48. data/usechutney.com/docs/rules/file-name-differs-feature-name/index.md +37 -0
  49. data/usechutney.com/docs/rules/givens-after-background/index.md +36 -0
  50. data/usechutney.com/docs/rules/inconsistent-quoting/index.md +29 -0
  51. data/usechutney.com/docs/rules/invalid-step-flow/index.md +31 -0
  52. data/usechutney.com/docs/rules/invalid_file_name/index.md +19 -0
  53. data/usechutney.com/docs/rules/missing-example-name/index.md +49 -0
  54. data/usechutney.com/docs/rules/missing-example-table/index.md +34 -0
  55. data/usechutney.com/docs/rules/missing-feature-description/index.md +25 -0
  56. data/usechutney.com/docs/rules/missing-feature-name/index.md +19 -0
  57. data/usechutney.com/docs/rules/missing-scenario-name/index.md +19 -0
  58. data/usechutney.com/docs/rules/missing-scenario-outline/index.md +39 -0
  59. data/usechutney.com/docs/rules/missing-test-action/index.md +28 -0
  60. data/usechutney.com/docs/rules/missing-test-verification/index.md +28 -0
  61. data/usechutney.com/docs/rules/required-tag-starts-with/index.md +31 -0
  62. data/usechutney.com/docs/rules/same-tag-different-case/index.md +42 -0
  63. data/usechutney.com/docs/rules/same-tag-for-all-scenarios/index.md +42 -0
  64. data/usechutney.com/docs/rules/scenario-names-match/index.md +30 -0
  65. data/usechutney.com/docs/rules/tag-used-multiple-times/index.md +32 -0
  66. data/usechutney.com/docs/rules/too-clumsy/index.md +78 -0
  67. data/usechutney.com/docs/rules/too-long-step/index.md +30 -0
  68. data/usechutney.com/docs/rules/too-many-different-tags/index.md +32 -0
  69. data/usechutney.com/docs/rules/too-many-steps/index.md +79 -0
  70. data/usechutney.com/docs/rules/too-many-tags/index.md +32 -0
  71. data/usechutney.com/docs/rules/unique-scenario-names/index.md +39 -0
  72. data/usechutney.com/docs/rules/unknown-variable/index.md +38 -0
  73. data/usechutney.com/docs/rules/unused-variable/index.md +37 -0
  74. data/usechutney.com/docs/rules/use-background/index.md +40 -0
  75. data/usechutney.com/docs/rules/use-outline/index.md +39 -0
  76. data/usechutney.com/docs/running/index.md +33 -0
  77. data/usechutney.com/pages/404.html +25 -0
  78. data/usechutney.com/pages/about/index.md +22 -0
  79. data/usechutney.com/pages/index.markdown +40 -0
  80. metadata +76 -114
@@ -0,0 +1,38 @@
1
+ ---
2
+ title: "Unknown Variable"
3
+ layout: single
4
+ permalink: /docs/rules/unknown-variable/
5
+ ---
6
+
7
+ You are referencing a variable which does not appear to be defined in the example table. This is probably an accident and your test might not be doing what you expect. This rule will check that all variables used in a scenario are defined in the example table.
8
+
9
+ ## Bad
10
+
11
+ ```gherkin
12
+ Feature: logging in
13
+
14
+ Scenario Outline: logging in
15
+ Given I have visited the website
16
+ When I log in with "<username>" and "<password>" and "<admin>"
17
+ Then I will see my account
18
+ Then I will see my account
19
+
20
+ Examples:
21
+ | username | password |
22
+ | user1 | password |
23
+ ```
24
+
25
+ ## Good
26
+
27
+ ```gherkin
28
+ Feature: logging in
29
+
30
+ Scenario Outline: logging in
31
+ Given I have visited the website
32
+ When I log in with "<username>" and "<password>" and "<admin>"
33
+ Then I will see my account
34
+
35
+ Examples:
36
+ | username | password | admin |
37
+ | user1 | password | true |
38
+ ```
@@ -0,0 +1,37 @@
1
+ ---
2
+ title: "Unused Variable"
3
+ layout: single
4
+ permalink: /docs/rules/unused-variable/
5
+ ---
6
+
7
+ You have defined a variable in your example table but you are not using it. This is probably an accident and your test might not be doing what you expect. This rule will check that all variables defined in the example table are used in the scenario.
8
+
9
+ ## Bad
10
+
11
+ ```gherkin
12
+ Feature: logging in
13
+
14
+ Scenario Outline: logging in
15
+ Given I have visited the website
16
+ When I log in with "<username>" and "<password>"
17
+ Then I will see my account
18
+
19
+ Examples:
20
+ | username | password | admin |
21
+ | user1 | password | true |
22
+ ```
23
+
24
+ ## Good
25
+
26
+ ```gherkin
27
+ Feature: logging in
28
+
29
+ Scenario Outline: logging in
30
+ Given I have visited the website
31
+ When I log in with "<username>" and "<password>"
32
+ Then I will see my account
33
+
34
+ Examples:
35
+ | username | password |
36
+ | user1 | password |
37
+ ```
@@ -0,0 +1,40 @@
1
+ ---
2
+ title: "Use Background"
3
+ layout: single
4
+ permalink: /docs/rules/use-background/
5
+ ---
6
+
7
+ You have multiple scenarios that all have the same setup steps. This is a sign that you should use a background to define the common setup steps once and reuse them in each scenario. This rule will check that you are using a background when you have multiple scenarios with the same setup steps.
8
+
9
+ ## Bad
10
+
11
+ ```gherkin
12
+ Feature: logging in
13
+
14
+ Scenario: logging in
15
+ Given I have visited the website
16
+ When I log in with "<username>" and "<password>"
17
+ Then I will see my account
18
+
19
+ Scenario: logging out
20
+ Given I have visited the website
21
+ When I log out
22
+ Then I will see the login page
23
+ ```
24
+
25
+ ## Good
26
+
27
+ ```gherkin
28
+ Feature: logging in
29
+
30
+ Background:
31
+ Given I have visited the website
32
+
33
+ Scenario: logging in
34
+ When I log in with "<username>" and "<password>"
35
+ Then I will see my account
36
+
37
+ Scenario: logging out
38
+ When I log out
39
+ Then I will see the login page
40
+ ```
@@ -0,0 +1,39 @@
1
+ ---
2
+ title: "Use Outline"
3
+ layout: single
4
+ permalink: /docs/rules/use-outline/
5
+ ---
6
+
7
+ You have multiple scenarios that are almost identical. This is a sign that you should use a scenario outline to define the common steps once and reuse them with different inputs. This rule will check that you are using a scenario outline when you have multiple scenarios that are almost identical.
8
+
9
+ ## Bad
10
+
11
+ ```gherkin
12
+ Feature: logging in
13
+
14
+ Scenario: logging in with user1
15
+ Given I have visited the website
16
+ When I log in with "user1" and "password"
17
+ Then I will see my account
18
+
19
+ Scenario: logging in with user2
20
+ Given I have visited the website
21
+ When I log in with "user2" and "password"
22
+ Then I will see my account
23
+ ```
24
+
25
+ ## Good
26
+
27
+ ```gherkin
28
+ Feature: logging in
29
+
30
+ Scenario Outline: logging in
31
+ Given I have visited the website
32
+ When I log in with "<username>" and "<password>"
33
+ Then I will see my account
34
+
35
+ Examples:
36
+ | username | password |
37
+ | user1 | password |
38
+ | user2 | password |
39
+ ```
@@ -0,0 +1,33 @@
1
+ ---
2
+ title: "Running Chutney"
3
+ layout: single
4
+ permalink: /docs/running/
5
+ ---
6
+
7
+ Once you have [installed Chutney](/docs/installing/), you can run it from the command line.
8
+
9
+ ```bash
10
+ chutney
11
+ ```
12
+
13
+ This will run Chutney in the current directory where it will look for a folder called `features` and check all the `.feature` files in it. If you want to run Chutney on a specific file, you can specify that on the command line:
14
+
15
+ ```bash
16
+ chutney path/to/your/file.feature
17
+ ```
18
+
19
+ ## Results
20
+
21
+ Chutney will output a list of any issues it finds in your feature files. If it finds no issues, it will output a message that all your features are delicious.
22
+
23
+ For example:
24
+
25
+ ```text
26
+ foo.feature
27
+ MissingTestAction
28
+ Your test has no action step. All scenarios should have a 'When' step indicating the action being taken.
29
+ foo.feature:13
30
+ MissingScenarioName
31
+ This scenario is unnamed. You should name all scenarios.
32
+ foo.feature:13
33
+ ```
@@ -0,0 +1,25 @@
1
+ ---
2
+ permalink: /404.html
3
+ layout: default
4
+ ---
5
+
6
+ <style type="text/css" media="screen">
7
+ .container {
8
+ margin: 10px auto;
9
+ max-width: 600px;
10
+ text-align: center;
11
+ }
12
+ h1 {
13
+ margin: 30px 0;
14
+ font-size: 4em;
15
+ line-height: 1;
16
+ letter-spacing: -1px;
17
+ }
18
+ </style>
19
+
20
+ <div class="container">
21
+ <h1>404</h1>
22
+
23
+ <p><strong>Page not found :(</strong></p>
24
+ <p>The requested page could not be found.</p>
25
+ </div>
@@ -0,0 +1,22 @@
1
+ ---
2
+ title: "About"
3
+ layout: single
4
+ permalink: /pages/about/
5
+ author_profile: true
6
+ ---
7
+
8
+ Chutney is originally a fork of the abandoned [gherkin_lint](https://github.com/funkwerk/gherkin_lint). The original authors remain credited in the gemspec. It has been reworked and extended to support more rules and to be more flexible.
9
+
10
+ It is much beloved by me. Although it's a personal project, it's used extensively by my employer and influenced by the needs of my colleagues. I hope it will be useful to you as well. I am very open to ideas, feedback and contributions.
11
+
12
+ Chutney is licenced under the [MIT licence](https://raw.githubusercontent.com/BillyRuffian/chutney/refs/heads/master/LICENSE.txt). Do with it what you will and have fun.
13
+
14
+ A huge hat tip to Eric Kessler for his work on [cuke_modeler](https://github.com/enkessler/cuke_modeler) which is used to parse the Gherkin files (he also publishes the gherkin linter [cuke_linter](https://github.com/enkessler/cuke_linter) if chutney does not fit your needs).
15
+
16
+ ### What's the Billy Ruffian thing?
17
+
18
+ HMS Bellerophon was a 74-gun third-rate ship of the line of the Royal Navy. Launched in 1786, she served during the French Revolutionary and Napoleonic Wars, mostly on blockades or convoy escort duties. She fought in three fleet actions: the Glorious First of June, the Battle of the Nile and the Battle of Trafalgar. She became famous as the ship upon which Napoleon surrendered and which transported him into exile in 1815.
19
+
20
+ Her sailors, not being educated in the Classics, struggled to pronounce her name and so she became known as the Billy Ruffian and her crew as the "Billy Ruffians". The name stuck and was used as a nickname for the ship for the rest of her career.
21
+
22
+ Since no one in coffee shops can spell my name, I adopted 'Billy' which turned into 'Billy Ruffian'. It's also a bloody good story.
@@ -0,0 +1,40 @@
1
+ ---
2
+ # Feel free to add content and custom Front Matter to this file.
3
+ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
+
5
+ # layout: single
6
+ layout: splash
7
+ permalink: /
8
+ author_profile: false
9
+
10
+ feature_row:
11
+ - image_path: /assets/images/mr_pickle.png
12
+ alt: "A happy jar of pickles smiling at you"
13
+ title: "Best Practice Cucumber"
14
+ excerpt: "Love your documentation, and your documentation will love you back."
15
+ url: "/docs/installing/"
16
+ btn_label: "Get Started"
17
+ btn_class: "btn btn--success"
18
+ ---
19
+
20
+ {% include feature_row type="center" %}
21
+
22
+ You’re trying to follow BDD or ATDD principles, you’re writing executable specifications in gherkin using Cucumber, you’re trying to do the *right thing* but are you doing the *thing right?*
23
+
24
+ # Tests are your documentation
25
+
26
+ Requirements are your longest-lived asset. Your implementation might change, your tests might change, but your requirements (specifications) continue to exist. They should be clear, concise, and easy to understand. They should be easy to read, easy to write, and easy to maintain. They should be your documentation.
27
+
28
+ Cucumber makes it easy to write requirements in a human-readable format. It doesn't need any tool other than a text editor to write and read. It's a great tool to write requirements in a way that everyone can understand and that can be versioned and stored in a version control system with the rest of your code.
29
+
30
+ # When cucumbers go bad
31
+
32
+ Cucumber specifications can be a great asset, but they can also be a liability. In the exchange between business language and the language of testers and software developers, it's easy to lose the meaning of the requirements. It's easy to write specifications that are hard to read, hard to write, and hard to maintain.
33
+
34
+ Chutney helps you write better Cucumber specifications. It helps you write specifications that are clear, concise, and easy to understand. It helps you write specifications that are easy to read, easy to write, and easy to maintain. Be kind to your future self and your team. Love your documentation, and your documentation will love you back.
35
+
36
+ # What is Chutney?
37
+
38
+ Chutney is a Ruby tool that reads your Cucumber feature files and tells you how you can make them better. It's a linter for Cucumber. It will help you avoid common pitfalls and anti-patterns in your Cucumber feature files. It will help you write better Cucumber specifications.
39
+
40
+ Chutney is able to lint feature files in any spoken language supported by Cucumber.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chutney
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.7.0
4
+ version: 3.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nigel Brookes-Thomas
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2023-12-07 00:00:00.000000000 Z
14
+ date: 2024-09-26 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: amatch
@@ -33,14 +33,14 @@ dependencies:
33
33
  requirements:
34
34
  - - "~>"
35
35
  - !ruby/object:Gem::Version
36
- version: '3.3'
36
+ version: '3.21'
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - "~>"
42
42
  - !ruby/object:Gem::Version
43
- version: '3.3'
43
+ version: '3.21'
44
44
  - !ruby/object:Gem::Dependency
45
45
  name: i18n
46
46
  requirement: !ruby/object:Gem::Requirement
@@ -62,145 +62,47 @@ dependencies:
62
62
  - !ruby/object:Gem::Version
63
63
  version: 1.15.0
64
64
  - !ruby/object:Gem::Dependency
65
- name: pastel
65
+ name: language_server-protocol
66
66
  requirement: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - "~>"
69
69
  - !ruby/object:Gem::Version
70
- version: '0.7'
70
+ version: '3.17'
71
71
  type: :runtime
72
72
  prerelease: false
73
73
  version_requirements: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - "~>"
76
76
  - !ruby/object:Gem::Version
77
- version: '0.7'
77
+ version: '3.17'
78
78
  - !ruby/object:Gem::Dependency
79
- name: tty-pie
79
+ name: pastel
80
80
  requirement: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - "~>"
83
83
  - !ruby/object:Gem::Version
84
- version: '0.3'
84
+ version: '0.7'
85
85
  type: :runtime
86
86
  prerelease: false
87
87
  version_requirements: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: '0.3'
92
- - !ruby/object:Gem::Dependency
93
- name: coveralls
94
- requirement: !ruby/object:Gem::Requirement
95
- requirements:
96
- - - "~>"
97
- - !ruby/object:Gem::Version
98
- version: '0.8'
99
- type: :development
100
- prerelease: false
101
- version_requirements: !ruby/object:Gem::Requirement
102
- requirements:
103
- - - "~>"
104
- - !ruby/object:Gem::Version
105
- version: '0.8'
106
- - !ruby/object:Gem::Dependency
107
- name: cucumber
108
- requirement: !ruby/object:Gem::Requirement
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- version: '7.0'
113
- type: :development
114
- prerelease: false
115
- version_requirements: !ruby/object:Gem::Requirement
116
- requirements:
117
- - - ">="
118
- - !ruby/object:Gem::Version
119
- version: '7.0'
120
- - !ruby/object:Gem::Dependency
121
- name: pry-byebug
122
- requirement: !ruby/object:Gem::Requirement
123
- requirements:
124
- - - "~>"
125
- - !ruby/object:Gem::Version
126
- version: '3.0'
127
- type: :development
128
- prerelease: false
129
- version_requirements: !ruby/object:Gem::Requirement
130
- requirements:
131
- - - "~>"
132
- - !ruby/object:Gem::Version
133
- version: '3.0'
134
- - !ruby/object:Gem::Dependency
135
- name: rake
136
- requirement: !ruby/object:Gem::Requirement
137
- requirements:
138
- - - "~>"
139
- - !ruby/object:Gem::Version
140
- version: '13.0'
141
- type: :development
142
- prerelease: false
143
- version_requirements: !ruby/object:Gem::Requirement
144
- requirements:
145
- - - "~>"
146
- - !ruby/object:Gem::Version
147
- version: '13.0'
148
- - !ruby/object:Gem::Dependency
149
- name: rerun
150
- requirement: !ruby/object:Gem::Requirement
151
- requirements:
152
- - - "~>"
153
- - !ruby/object:Gem::Version
154
- version: '0.13'
155
- type: :development
156
- prerelease: false
157
- version_requirements: !ruby/object:Gem::Requirement
158
- requirements:
159
- - - "~>"
160
- - !ruby/object:Gem::Version
161
- version: '0.13'
162
- - !ruby/object:Gem::Dependency
163
- name: rspec-expectations
164
- requirement: !ruby/object:Gem::Requirement
165
- requirements:
166
- - - "~>"
167
- - !ruby/object:Gem::Version
168
- version: '3.0'
169
- type: :development
170
- prerelease: false
171
- version_requirements: !ruby/object:Gem::Requirement
172
- requirements:
173
- - - "~>"
174
- - !ruby/object:Gem::Version
175
- version: '3.0'
176
- - !ruby/object:Gem::Dependency
177
- name: rubocop
178
- requirement: !ruby/object:Gem::Requirement
179
- requirements:
180
- - - "~>"
181
- - !ruby/object:Gem::Version
182
- version: 1.50.2
183
- type: :development
184
- prerelease: false
185
- version_requirements: !ruby/object:Gem::Requirement
186
- requirements:
187
- - - "~>"
188
- - !ruby/object:Gem::Version
189
- version: 1.50.2
91
+ version: '0.7'
190
92
  - !ruby/object:Gem::Dependency
191
- name: rspec
93
+ name: tty-pie
192
94
  requirement: !ruby/object:Gem::Requirement
193
95
  requirements:
194
96
  - - "~>"
195
97
  - !ruby/object:Gem::Version
196
- version: '3.8'
197
- type: :development
98
+ version: '0.3'
99
+ type: :runtime
198
100
  prerelease: false
199
101
  version_requirements: !ruby/object:Gem::Requirement
200
102
  requirements:
201
103
  - - "~>"
202
104
  - !ruby/object:Gem::Version
203
- version: '3.8'
105
+ version: '0.3'
204
106
  description: A linter for your Cucumber features. Making sure you have nice, expressible
205
107
  Gherkin is essential is making sure you have a readable test-base. Chutney is designed
206
108
  to sniff out smells in your feature files. It supports any spoken language Cucumber
@@ -209,6 +111,7 @@ email:
209
111
  - nigel@brookes-thomas.co.uk
210
112
  executables:
211
113
  - chutney
114
+ - chutney-lsp
212
115
  extensions: []
213
116
  extra_rdoc_files: []
214
117
  files:
@@ -239,8 +142,10 @@ files:
239
142
  - docs/usage/selective_enablement.md
240
143
  - examples/emoji.feature
241
144
  - exe/chutney
145
+ - exe/chutney-lsp
242
146
  - img/chutney.svg
243
147
  - img/formatters.png
148
+ - img/happy_chutney.png
244
149
  - lib/chutney.rb
245
150
  - lib/chutney/.DS_Store
246
151
  - lib/chutney/configuration.rb
@@ -289,10 +194,67 @@ files:
289
194
  - lib/chutney/linter/use_background.rb
290
195
  - lib/chutney/linter/use_outline.rb
291
196
  - lib/chutney/locator.rb
197
+ - lib/chutney/lsp.rb
198
+ - lib/chutney/lsp/result.rb
199
+ - lib/chutney/lsp/server.rb
292
200
  - lib/chutney/version.rb
293
201
  - lib/config/locales/en.yml
294
202
  - spec/chutney_spec.rb
295
203
  - spec/spec_helper.rb
204
+ - usechutney.com/.gitignore
205
+ - usechutney.com/Gemfile
206
+ - usechutney.com/_config.yml
207
+ - usechutney.com/_data/navigation.yml
208
+ - usechutney.com/_data/ui-text.yml
209
+ - usechutney.com/_posts/2024-09-23-welcome-to-jekyll.markdown
210
+ - usechutney.com/assets/images/mr_pickle.png
211
+ - usechutney.com/assets/images/pug.png
212
+ - usechutney.com/docs/configuration/index.md
213
+ - usechutney.com/docs/disabling-rules/index.md
214
+ - usechutney.com/docs/installing/index.md
215
+ - usechutney.com/docs/language-server/index.md
216
+ - usechutney.com/docs/rules/avoid-full-stops/index.md
217
+ - usechutney.com/docs/rules/avoid-outline-for-single-example/index.md
218
+ - usechutney.com/docs/rules/avoid-scripting/index.md
219
+ - usechutney.com/docs/rules/avoid-splat-steps-in-background/index.md
220
+ - usechutney.com/docs/rules/avoid-splat-steps-in-scenarios/index.md
221
+ - usechutney.com/docs/rules/avoid-typographers-quotes/index.md
222
+ - usechutney.com/docs/rules/background-does-more-than-setup/index.md
223
+ - usechutney.com/docs/rules/background-requires-multiple-scenarios/index.md
224
+ - usechutney.com/docs/rules/bad-scenario-name/index.md
225
+ - usechutney.com/docs/rules/empty-feature-file/index.md
226
+ - usechutney.com/docs/rules/file-name-differs-feature-name/index.md
227
+ - usechutney.com/docs/rules/givens-after-background/index.md
228
+ - usechutney.com/docs/rules/inconsistent-quoting/index.md
229
+ - usechutney.com/docs/rules/invalid-step-flow/index.md
230
+ - usechutney.com/docs/rules/invalid_file_name/index.md
231
+ - usechutney.com/docs/rules/missing-example-name/index.md
232
+ - usechutney.com/docs/rules/missing-example-table/index.md
233
+ - usechutney.com/docs/rules/missing-feature-description/index.md
234
+ - usechutney.com/docs/rules/missing-feature-name/index.md
235
+ - usechutney.com/docs/rules/missing-scenario-name/index.md
236
+ - usechutney.com/docs/rules/missing-scenario-outline/index.md
237
+ - usechutney.com/docs/rules/missing-test-action/index.md
238
+ - usechutney.com/docs/rules/missing-test-verification/index.md
239
+ - usechutney.com/docs/rules/required-tag-starts-with/index.md
240
+ - usechutney.com/docs/rules/same-tag-different-case/index.md
241
+ - usechutney.com/docs/rules/same-tag-for-all-scenarios/index.md
242
+ - usechutney.com/docs/rules/scenario-names-match/index.md
243
+ - usechutney.com/docs/rules/tag-used-multiple-times/index.md
244
+ - usechutney.com/docs/rules/too-clumsy/index.md
245
+ - usechutney.com/docs/rules/too-long-step/index.md
246
+ - usechutney.com/docs/rules/too-many-different-tags/index.md
247
+ - usechutney.com/docs/rules/too-many-steps/index.md
248
+ - usechutney.com/docs/rules/too-many-tags/index.md
249
+ - usechutney.com/docs/rules/unique-scenario-names/index.md
250
+ - usechutney.com/docs/rules/unknown-variable/index.md
251
+ - usechutney.com/docs/rules/unused-variable/index.md
252
+ - usechutney.com/docs/rules/use-background/index.md
253
+ - usechutney.com/docs/rules/use-outline/index.md
254
+ - usechutney.com/docs/running/index.md
255
+ - usechutney.com/pages/404.html
256
+ - usechutney.com/pages/about/index.md
257
+ - usechutney.com/pages/index.markdown
296
258
  homepage: https://billyruffian.github.io/chutney/
297
259
  licenses:
298
260
  - MIT
@@ -308,14 +270,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
308
270
  requirements:
309
271
  - - ">="
310
272
  - !ruby/object:Gem::Version
311
- version: '2.6'
273
+ version: '3.2'
312
274
  required_rubygems_version: !ruby/object:Gem::Requirement
313
275
  requirements:
314
276
  - - ">="
315
277
  - !ruby/object:Gem::Version
316
278
  version: '0'
317
279
  requirements: []
318
- rubygems_version: 3.4.10
280
+ rubygems_version: 3.5.11
319
281
  signing_key:
320
282
  specification_version: 4
321
283
  summary: A linter for multi-lingual Gherkin