chutney 3.0.0.beta.1 → 3.0.0.beta.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -0
- data/chutney.gemspec +6 -3
- data/exe/chutney +18 -0
- data/lib/chutney.rb +1 -1
- data/lib/chutney/configuration.rb +6 -2
- data/lib/chutney/formatter/rainbow_formatter.rb +4 -3
- data/lib/chutney/version.rb +1 -1
- metadata +6 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c99f32f7cba016b8d419d1867c5005b448e05939565afff74db238c68222f2d9
|
4
|
+
data.tar.gz: 9f21a905656a69d4bbfc7288b7abcec37e36e3fb5950c852aa8c6e4183e52cd9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a4339e31214900e809bdbdaf968a2d21af9bc7526365cd2f00a17745b10272947114c018e6b182c6679769636ffc127d6880d69dbbbb8dc66f0d5f5762a410d
|
7
|
+
data.tar.gz: b755781258f1781e4586a77f639682b7ebb0a584d50aa0c001a7eca5c5e8b0c16487b2d1dd1978e97744c5f7ec163ea169ae8d9c6114e1ed22cda716e3173a34
|
data/README.md
CHANGED
@@ -20,3 +20,7 @@
|
|
20
20
|
</div>
|
21
21
|
|
22
22
|
Read the documentation [here](https://billyruffian.github.io/chutney/).
|
23
|
+
|
24
|
+
## Notes
|
25
|
+
|
26
|
+
Chutney 3+ (in beta) has replaced its direct dependency on Cucumber and instead uses the excellent [cuke_modeller](https://github.com/enkessler/cuke_modeler) to parse your feature files.
|
data/chutney.gemspec
CHANGED
@@ -15,8 +15,12 @@ Gem::Specification.new do |spec|
|
|
15
15
|
spec.email = ['nigel@brookes-thomas.co.uk']
|
16
16
|
|
17
17
|
spec.summary = 'A linter for multi-lingual Gherkin'
|
18
|
-
spec.description = 'A linter for your Cucumber features. '
|
19
|
-
|
18
|
+
spec.description = 'A linter for your Cucumber features. ' \
|
19
|
+
'Making sure you have nice, expressible Gherkin is ' \
|
20
|
+
'essential is making sure you have a readable test-base. ' \
|
21
|
+
'Chutney is designed to sniff out smells in your feature ' \
|
22
|
+
'files. ' \
|
23
|
+
'It supports any spoken language Cucumber supports.'
|
20
24
|
|
21
25
|
spec.homepage = 'https://billyruffian.github.io/chutney/'
|
22
26
|
spec.license = 'MIT'
|
@@ -46,7 +50,6 @@ Gem::Specification.new do |spec|
|
|
46
50
|
|
47
51
|
spec.add_runtime_dependency 'amatch', '~> 0.4.0'
|
48
52
|
spec.add_runtime_dependency 'cuke_modeler', '~> 3.3'
|
49
|
-
spec.add_runtime_dependency 'gherkin', '>= 5.1.0', '< 9.1'
|
50
53
|
spec.add_runtime_dependency 'i18n', '~> 1.8.2'
|
51
54
|
spec.add_runtime_dependency 'pastel', '~> 0.7'
|
52
55
|
spec.add_runtime_dependency 'tty-pie', '~> 0.3'
|
data/exe/chutney
CHANGED
@@ -19,6 +19,24 @@ OptionParser.new do |opts|
|
|
19
19
|
|
20
20
|
formatters << formatter
|
21
21
|
end
|
22
|
+
|
23
|
+
opts.on('-l',
|
24
|
+
'--linters',
|
25
|
+
'List the linter status by this configuration and exit') do
|
26
|
+
pastel = Pastel.new
|
27
|
+
chutney_config = Chutney::ChutneyLint.new.configuration
|
28
|
+
max_name_length = chutney_config.keys.map(&:length).max + 1
|
29
|
+
chutney_config.each do |linter, value|
|
30
|
+
print pastel.cyan(linter.ljust(max_name_length))
|
31
|
+
|
32
|
+
if value['Enabled']
|
33
|
+
puts pastel.green('enabled')
|
34
|
+
else
|
35
|
+
puts pastel.red('disabled')
|
36
|
+
end
|
37
|
+
end
|
38
|
+
exit
|
39
|
+
end
|
22
40
|
end.parse!
|
23
41
|
|
24
42
|
formatters << 'RainbowFormatter' if formatters.empty?
|
data/lib/chutney.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
3
2
|
require 'delegate'
|
3
|
+
|
4
4
|
module Chutney
|
5
5
|
# gherkin_lint configuration object
|
6
6
|
class Configuration < SimpleDelegator
|
@@ -20,7 +20,11 @@ module Chutney
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def load_user_configuration
|
23
|
-
|
23
|
+
config_files = ['chutney.yml', '.chutney.yml'].map do |fname|
|
24
|
+
Dir.glob(File.join(Dir.pwd, '**', fname))
|
25
|
+
end.flatten
|
26
|
+
|
27
|
+
config_file = config_files.first
|
24
28
|
merge_config(config_file) if !config_file.nil? && File.exist?(config_file)
|
25
29
|
end
|
26
30
|
|
@@ -18,7 +18,7 @@ module Chutney
|
|
18
18
|
linter.filter { |l| !l[:issues].empty? }.each do |linter_with_issues|
|
19
19
|
|
20
20
|
put_linter(linter_with_issues)
|
21
|
-
linter_with_issues[:issues].each { |i| put_issue(i) }
|
21
|
+
linter_with_issues[:issues].each { |i| put_issue(file, i) }
|
22
22
|
end
|
23
23
|
end
|
24
24
|
put_summary
|
@@ -32,8 +32,9 @@ module Chutney
|
|
32
32
|
puts @pastel.red(" #{linter[:linter]}")
|
33
33
|
end
|
34
34
|
|
35
|
-
def put_issue(issue)
|
36
|
-
puts " #{
|
35
|
+
def put_issue(file, issue)
|
36
|
+
puts " #{issue[:message]}"
|
37
|
+
puts " #{@pastel.dim file.to_s}:#{@pastel.dim(issue.dig(:location, :line))}"
|
37
38
|
end
|
38
39
|
|
39
40
|
def put_summary
|
data/lib/chutney/version.rb
CHANGED
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.0.0.beta.
|
4
|
+
version: 3.0.0.beta.2
|
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: 2020-09-
|
14
|
+
date: 2020-09-17 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: amatch
|
@@ -41,26 +41,6 @@ dependencies:
|
|
41
41
|
- - "~>"
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: '3.3'
|
44
|
-
- !ruby/object:Gem::Dependency
|
45
|
-
name: gherkin
|
46
|
-
requirement: !ruby/object:Gem::Requirement
|
47
|
-
requirements:
|
48
|
-
- - ">="
|
49
|
-
- !ruby/object:Gem::Version
|
50
|
-
version: 5.1.0
|
51
|
-
- - "<"
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '9.1'
|
54
|
-
type: :runtime
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
requirements:
|
58
|
-
- - ">="
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: 5.1.0
|
61
|
-
- - "<"
|
62
|
-
- !ruby/object:Gem::Version
|
63
|
-
version: '9.1'
|
64
44
|
- !ruby/object:Gem::Dependency
|
65
45
|
name: i18n
|
66
46
|
requirement: !ruby/object:Gem::Requirement
|
@@ -215,8 +195,10 @@ dependencies:
|
|
215
195
|
- - "~>"
|
216
196
|
- !ruby/object:Gem::Version
|
217
197
|
version: '3.8'
|
218
|
-
description: A linter for your Cucumber features.
|
219
|
-
|
198
|
+
description: A linter for your Cucumber features. Making sure you have nice, expressible
|
199
|
+
Gherkin is essential is making sure you have a readable test-base. Chutney is designed
|
200
|
+
to sniff out smells in your feature files. It supports any spoken language Cucumber
|
201
|
+
supports.
|
220
202
|
email:
|
221
203
|
- nigel@brookes-thomas.co.uk
|
222
204
|
executables:
|