cuke_linter 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '02379fe769af15463f334b6762e9ced230bdc612b4243e44d180afa40dd9fce4'
4
- data.tar.gz: 042acec109e1ac3fd283ac115019946038a9ec6bc6716a3636cb215f6fec4513
3
+ metadata.gz: a58ecea412dacacc176aff36844a22a2be89b6e8fb530140c4a4c9af6f68b33d
4
+ data.tar.gz: 6c59e3ef19cecf4f8348ffbb4b6e5f64b230bd38c569c776dda1afe0b214c856
5
5
  SHA512:
6
- metadata.gz: 42c283c86a2617818efdb8585281075397b9e6c4f14688f43baab1733259811c5c9b0e5c76987446fd32705003d41ab5efc9a789aeb0c5332b89880bc15aea83
7
- data.tar.gz: eb53e88817540ff8fc3bdea75e9f36d0930407ed9ce301695382cf74f583f6a60bac2b215ca6a03ed21d46146734dac6c650f95451ce77f95bce3d627420a385
6
+ metadata.gz: 163ed0e7cc11da407ce4af1a275f2cd51d0513caacdd007395af27782a111af83baa72928a85c7ba13b6a47d332564a71da906d068293f0d5cb4a5074c27d563
7
+ data.tar.gz: 0d8098a3e266207030fa8bfcd573344aacf849eda5f33a308a3ecea3f4931ff6fb3f8dd86b62afcf76116ba30e5b2fad468d8ad287d8cb45aa1a3f6819c41c62
data/CHANGELOG.md CHANGED
@@ -8,6 +8,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8
8
 
9
9
  Nothing yet...
10
10
 
11
+ ## [1.2.1] - 2021-06-13
12
+
13
+ ### Fixed
14
+ - Updated the minimum required Ruby version to `2.1`. The gem has never had `2.0` compatible code (due to using
15
+ named parameters without default values), so it's easier to just officially drop `2.0` 'support' than to change
16
+ the API to enable a use case that was never used anyway.
17
+
11
18
  ## [1.2.0] - 2021-01-08
12
19
 
13
20
  ### Added
@@ -169,7 +176,8 @@ Nothing yet...
169
176
  - Custom linters, formatters, and command line usability
170
177
 
171
178
 
172
- [Unreleased]: https://github.com/enkessler/cuke_linter/compare/v1.2.0...HEAD
179
+ [Unreleased]: https://github.com/enkessler/cuke_linter/compare/v1.2.1...HEAD
180
+ [1.2.1]: https://github.com/enkessler/cuke_linter/compare/v1.2.0...v1.2.1
173
181
  [1.2.0]: https://github.com/enkessler/cuke_linter/compare/v1.1.0...v1.2.0
174
182
  [1.1.0]: https://github.com/enkessler/cuke_linter/compare/v1.0.1...v1.1.0
175
183
  [1.0.1]: https://github.com/enkessler/cuke_linter/compare/v1.0.0...v1.0.1
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2018-2020 Eric Kessler
3
+ Copyright (c) 2018-2021 Eric Kessler
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -4,12 +4,11 @@ Basic stuff:
4
4
  [![Downloads](https://img.shields.io/gem/dt/cuke_linter.svg)](https://rubygems.org/gems/cuke_linter)
5
5
 
6
6
  User stuff:
7
- [![Cucumber Docs](http://img.shields.io/badge/Documentation-Features-green.svg)](https://app.cucumber.pro/projects/cuke_linter)
7
+ [![Cucumber Docs](http://img.shields.io/badge/Documentation-Features-green.svg)](https://github.com/enkessler/cuke_linter/tree/master/testing/cucumber/features)
8
8
  [![Yard Docs](http://img.shields.io/badge/Documentation-API-blue.svg)](https://www.rubydoc.info/gems/cuke_linter)
9
9
 
10
10
  Developer stuff:
11
- [![Build Status](https://travis-ci.org/enkessler/cuke_linter.svg?branch=master)](https://travis-ci.org/enkessler/cuke_linter)
12
- [![Build Status](https://ci.appveyor.com/api/projects/status/g5o70u747x073evy/branch/master?svg=true)](https://ci.appveyor.com/project/enkessler/cuke-linter/branch/master)
11
+ [![Build Status](https://github.com/enkessler/cuke_linter/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/enkessler/cuke_linter/actions/workflows/ci.yml)
13
12
  [![Coverage Status](https://coveralls.io/repos/github/enkessler/cuke_linter/badge.svg?branch=master)](https://coveralls.io/github/enkessler/cuke_linter?branch=master)
14
13
  [![Maintainability](https://api.codeclimate.com/v1/badges/d1b86760e59a457c8e73/maintainability)](https://codeclimate.com/github/enkessler/cuke_linter/maintainability)
15
14
  [![Inline docs](http://inch-ci.org/github/enkessler/cuke_linter.svg?branch=master)](https://inch-ci.org/github/enkessler/cuke_linter?branch=master)
data/cuke_linter.gemspec CHANGED
@@ -9,13 +9,24 @@ Gem::Specification.new do |spec|
9
9
  spec.email = ['morrow748@gmail.com']
10
10
 
11
11
  spec.summary = 'Lints feature files used by Cucumber and other similar frameworks.'
12
+ spec.description = ["This gem provides linters for detecting common 'smells' in `.feature` files. ",
13
+ 'In addition to the provided linters, custom linters can be made in order to ',
14
+ 'create custom linting rules.'].join
12
15
  spec.homepage = 'https://github.com/enkessler/cuke_linter'
13
16
  spec.license = 'MIT'
14
17
 
18
+ spec.metadata = {
19
+ 'bug_tracker_uri' => 'https://github.com/enkessler/cuke_linter/issues',
20
+ 'changelog_uri' => 'https://github.com/enkessler/cuke_linter/blob/master/CHANGELOG.md',
21
+ 'documentation_uri' => 'https://www.rubydoc.info/gems/cuke_linter',
22
+ 'homepage_uri' => 'https://github.com/enkessler/cuke_linter',
23
+ 'source_code_uri' => 'https://github.com/enkessler/cuke_linter'
24
+ }
25
+
15
26
 
16
27
  # Specify which files should be added to the gem when it is released.
17
28
  # 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
29
+ spec.files = Dir.chdir(File.expand_path('', __dir__)) do
19
30
  source_controlled_files = `git ls-files -z`.split("\x0")
20
31
  source_controlled_files.keep_if { |file| file =~ %r{^(lib|exe|testing/cucumber/features)} }
21
32
  source_controlled_files + ['README.md', 'LICENSE.txt', 'CHANGELOG.md', 'cuke_linter.gemspec']
@@ -24,13 +35,12 @@ Gem::Specification.new do |spec|
24
35
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
36
  spec.require_paths = ['lib']
26
37
 
27
- spec.required_ruby_version = '>= 2.0', '< 4.0'
38
+ spec.required_ruby_version = '>= 2.1', '< 4.0'
28
39
 
29
40
  spec.add_runtime_dependency 'cuke_modeler', '>= 1.5', '< 4.0'
30
41
 
31
42
  spec.add_development_dependency 'bundler', '< 3.0'
32
- spec.add_development_dependency 'childprocess', '~> 3.0'
33
- spec.add_development_dependency 'coveralls', '< 1.0.0'
43
+ spec.add_development_dependency 'childprocess', '< 4.0'
34
44
  spec.add_development_dependency 'cucumber', '< 5.0'
35
45
  spec.add_development_dependency 'cuke_slicer', '>= 2.0.2', '< 3.0'
36
46
  spec.add_development_dependency 'ffi', '~> 1.0'
@@ -39,6 +49,10 @@ Gem::Specification.new do |spec|
39
49
  spec.add_development_dependency 'rake', '~> 12.0'
40
50
  spec.add_development_dependency 'require_all', '~> 2.0'
41
51
  spec.add_development_dependency 'rspec', '~> 3.0'
42
- spec.add_development_dependency 'rubocop', '< 1.0.0'
43
- spec.add_development_dependency 'simplecov', '<= 0.16.1' # Coveralls gem does not support any newer version than this
52
+ # RuboCop drops Ruby 2.1 support after this version and we need
53
+ # to maintain Ruby 2.1 compatibility when writing code for this gem
54
+ spec.add_development_dependency 'rubocop', '<= 0.57.2'
55
+ spec.add_development_dependency 'simplecov', '< 1.0'
56
+ spec.add_development_dependency 'simplecov-lcov', '< 1.0'
57
+ spec.add_development_dependency 'yard', '< 1.0'
44
58
  end
@@ -1,4 +1,4 @@
1
1
  module CukeLinter
2
2
  # The release version of this gem
3
- VERSION = '1.2.0'.freeze
3
+ VERSION = '1.2.1'.freeze
4
4
  end
@@ -101,7 +101,8 @@ Feature: Using cuke_linter on the command line
101
101
 
102
102
  Scenario: Specifying a formatter to use
103
103
 
104
- Note: The file containing the formatter class will have to be explicitly loaded if not using one of the built in formatters
104
+ Note: The file containing the formatter class will have to be explicitly loaded if not using one
105
+ of the built in formatters
105
106
 
106
107
  Given the following feature file "some.feature":
107
108
  """
@@ -134,7 +135,9 @@ Feature: Using cuke_linter on the command line
134
135
 
135
136
  Scenario: Redirecting output for specific formatters
136
137
 
137
- Note: Formatters match to output locations in the same order that they are specified. Formatters that do not have their output location specified will output to STDOUT. Output locations that are not matched to a formatter will use the default formatter.
138
+ Note: Formatters match to output locations in the same order that they are specified. Formatters
139
+ that do not have their output location specified will output to STDOUT. Output locations
140
+ that are not matched to a formatter will use the default formatter.
138
141
 
139
142
  Given the following feature file "some.feature":
140
143
  """
@@ -1,6 +1,8 @@
1
1
  Feature: Configuration of linters
2
2
 
3
- Instead of having to modify the linting object directly in a script at runtime, a configuration file can be used so that specific linters can be configured in a more convenient, static manner. Some configurable properties are available across all linters while some are linter specific.
3
+ Instead of having to modify the linting object directly in a script at runtime, a configuration file can
4
+ be used so that specific linters can be configured in a more convenient, static manner. Some configurable
5
+ properties are available across all linters while some are linter specific.
4
6
 
5
7
 
6
8
  Scenario: Disabling a linter
@@ -20,7 +22,8 @@ Feature: Configuration of linters
20
22
 
21
23
  Scenario: Setting a common configuration for all linters
22
24
 
23
- Note: Any property could be set for all linters, but disabling them (and then re-enabling a select few) is one of the few things that you are likely to want to do to all linters.
25
+ Note: Any property could be set for all linters, but disabling them (and then re-enabling a select few) is
26
+ one of the few things that you are likely to want to do to all linters.
24
27
 
25
28
  Given a linter registered as "AlwaysFindsAProblem"
26
29
  And the following configuration file:
@@ -4,12 +4,17 @@ Feature: Locally scoping linters
4
4
  I want to be able to limit the scope of linters for certain portions of the documentation
5
5
  So that exceptions to rules can be made
6
6
 
7
- In addition to using configurations to change whether or not a given linter is used when linting, linters can be enabled/disabled for specific portions of a `.feature` file. To enable/disable one (or more) linters, add a comment line before the portion of the file where the change should apply. Add a comment with the opposite change at the point in the file when the default behavior should resume. Unless so countermanded, changes remain in effect for the remainder of the feature file.
7
+ In addition to using configurations to change whether or not a given linter is used when linting, linters
8
+ can be enabled/disabled for specific portions of a `.feature` file. To enable/disable one (or more) linters,
9
+ add a comment line before the portion of the file where the change should apply. Add a comment with the
10
+ opposite change at the point in the file when the default behavior should resume. Unless so countermanded,
11
+ changes remain in effect for the remainder of the feature file.
8
12
 
9
13
 
10
14
  Scenario: Enabling/disabling a linter within a feature file
11
15
 
12
- Note: This example disables linters that are enabled by default but enabling a linter that is disabled by default works in the same manner
16
+ Note: This example disables linters that are enabled by default but enabling a linter that is disabled by
17
+ default works in the same manner
13
18
 
14
19
  Given the default linters are being used
15
20
  And a feature file model based on the following text:
@@ -1,6 +1,7 @@
1
1
  Feature: Using a configuration
2
2
 
3
- Configuration can be done during a script or through a configuration file. This file can be explicitly provided or a default configuration file will be used.
3
+ Configuration can be done during a script or through a configuration file. This file can be explicitly
4
+ provided or a default configuration file will be used.
4
5
 
5
6
 
6
7
  Scenario: Providing a configuration directly
@@ -1,6 +1,8 @@
1
1
  Feature: Custom linters
2
2
 
3
- In addition to the linters provided by CukeLinter, custom linters can be used. A linter is essentially any object that provides a few needed methods. In order to simplify the creation of custom linters, a base linter class is available that provides these needed methods.
3
+ In addition to the linters provided by CukeLinter, custom linters can be used. A linter is
4
+ essentially any object that provides a few needed methods. In order to simplify the creation
5
+ of custom linters, a base linter class is available that provides these needed methods.
4
6
 
5
7
 
6
8
  Scenario: Creating a custom linter object
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cuke_linter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Kessler
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-08 00:00:00.000000000 Z
11
+ date: 2021-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cuke_modeler
@@ -46,32 +46,18 @@ dependencies:
46
46
  version: '3.0'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: childprocess
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: '3.0'
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - "~>"
59
- - !ruby/object:Gem::Version
60
- version: '3.0'
61
- - !ruby/object:Gem::Dependency
62
- name: coveralls
63
49
  requirement: !ruby/object:Gem::Requirement
64
50
  requirements:
65
51
  - - "<"
66
52
  - !ruby/object:Gem::Version
67
- version: 1.0.0
53
+ version: '4.0'
68
54
  type: :development
69
55
  prerelease: false
70
56
  version_requirements: !ruby/object:Gem::Requirement
71
57
  requirements:
72
58
  - - "<"
73
59
  - !ruby/object:Gem::Version
74
- version: 1.0.0
60
+ version: '4.0'
75
61
  - !ruby/object:Gem::Dependency
76
62
  name: cucumber
77
63
  requirement: !ruby/object:Gem::Requirement
@@ -192,33 +178,63 @@ dependencies:
192
178
  version: '3.0'
193
179
  - !ruby/object:Gem::Dependency
194
180
  name: rubocop
181
+ requirement: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - "<="
184
+ - !ruby/object:Gem::Version
185
+ version: 0.57.2
186
+ type: :development
187
+ prerelease: false
188
+ version_requirements: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - "<="
191
+ - !ruby/object:Gem::Version
192
+ version: 0.57.2
193
+ - !ruby/object:Gem::Dependency
194
+ name: simplecov
195
195
  requirement: !ruby/object:Gem::Requirement
196
196
  requirements:
197
197
  - - "<"
198
198
  - !ruby/object:Gem::Version
199
- version: 1.0.0
199
+ version: '1.0'
200
200
  type: :development
201
201
  prerelease: false
202
202
  version_requirements: !ruby/object:Gem::Requirement
203
203
  requirements:
204
204
  - - "<"
205
205
  - !ruby/object:Gem::Version
206
- version: 1.0.0
206
+ version: '1.0'
207
207
  - !ruby/object:Gem::Dependency
208
- name: simplecov
208
+ name: simplecov-lcov
209
209
  requirement: !ruby/object:Gem::Requirement
210
210
  requirements:
211
- - - "<="
211
+ - - "<"
212
212
  - !ruby/object:Gem::Version
213
- version: 0.16.1
213
+ version: '1.0'
214
214
  type: :development
215
215
  prerelease: false
216
216
  version_requirements: !ruby/object:Gem::Requirement
217
217
  requirements:
218
- - - "<="
218
+ - - "<"
219
+ - !ruby/object:Gem::Version
220
+ version: '1.0'
221
+ - !ruby/object:Gem::Dependency
222
+ name: yard
223
+ requirement: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - "<"
226
+ - !ruby/object:Gem::Version
227
+ version: '1.0'
228
+ type: :development
229
+ prerelease: false
230
+ version_requirements: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - "<"
219
233
  - !ruby/object:Gem::Version
220
- version: 0.16.1
221
- description:
234
+ version: '1.0'
235
+ description: This gem provides linters for detecting common 'smells' in `.feature`
236
+ files. In addition to the provided linters, custom linters can be made in order
237
+ to create custom linting rules.
222
238
  email:
223
239
  - morrow748@gmail.com
224
240
  executables:
@@ -299,7 +315,12 @@ files:
299
315
  homepage: https://github.com/enkessler/cuke_linter
300
316
  licenses:
301
317
  - MIT
302
- metadata: {}
318
+ metadata:
319
+ bug_tracker_uri: https://github.com/enkessler/cuke_linter/issues
320
+ changelog_uri: https://github.com/enkessler/cuke_linter/blob/master/CHANGELOG.md
321
+ documentation_uri: https://www.rubydoc.info/gems/cuke_linter
322
+ homepage_uri: https://github.com/enkessler/cuke_linter
323
+ source_code_uri: https://github.com/enkessler/cuke_linter
303
324
  post_install_message:
304
325
  rdoc_options: []
305
326
  require_paths:
@@ -308,7 +329,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
308
329
  requirements:
309
330
  - - ">="
310
331
  - !ruby/object:Gem::Version
311
- version: '2.0'
332
+ version: '2.1'
312
333
  - - "<"
313
334
  - !ruby/object:Gem::Version
314
335
  version: '4.0'