linters 1.0.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +8 -8
- data/LICENSE.txt +1 -1
- data/README.md +10 -5
- data/config/{settings.yml → linter_settings.yml} +5 -0
- data/lib/linters/configuration.rb +12 -2
- data/lib/linters/linter_settings.rb +1 -1
- data/lib/linters/version.rb +1 -1
- data/lib/tasks/linters.rake +1 -1
- data/linters.gemspec +10 -9
- metadata +17 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 97ba0bafaaff95dd94a4a09ad78167ccfddc394b5567c88ddf19d39deb5f3bc3
|
4
|
+
data.tar.gz: 0d10e647ad701f81ae51723c7ddf0f85011ae8020e2d061fb298539f1dfdb4ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d36c80e6a99968aa8c6661ee8e933f73695734fab3ab7c4c17c8571b08dc5967722b3c84d3588fa60367dbffc2aac25ec7e2e3ad0d0e02bbc89c38050fc97737
|
7
|
+
data.tar.gz: 897f957f4e263e3c3818bc2ffd0b94280d3e83ab0fe8927ea77e384fd029c9741e94e003e145fab0918591c59aedc2e9b0e86833b393b35cdd3b88e90b6c8ead
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
linters (1.
|
4
|
+
linters (1.1.1)
|
5
5
|
rake
|
6
6
|
|
7
7
|
GEM
|
@@ -36,7 +36,7 @@ GEM
|
|
36
36
|
ast (~> 2.4.0)
|
37
37
|
psych (3.1.0)
|
38
38
|
rainbow (3.0.0)
|
39
|
-
rake (
|
39
|
+
rake (13.0.3)
|
40
40
|
reek (5.4.0)
|
41
41
|
codeclimate-engine-rb (~> 0.4.0)
|
42
42
|
kwalify (~> 0.7.0)
|
@@ -81,13 +81,13 @@ PLATFORMS
|
|
81
81
|
|
82
82
|
DEPENDENCIES
|
83
83
|
bundler (~> 1.16)
|
84
|
-
bundler-audit (~> 0.6
|
85
|
-
byebug (~> 11.0
|
86
|
-
fasterer (~> 0.5
|
84
|
+
bundler-audit (~> 0.6)
|
85
|
+
byebug (~> 11.0)
|
86
|
+
fasterer (~> 0.5)
|
87
87
|
linters!
|
88
|
-
reek (~> 5.4
|
88
|
+
reek (~> 5.4)
|
89
89
|
rspec (~> 3.0)
|
90
|
-
rubocop (~> 0.71
|
90
|
+
rubocop (~> 0.71)
|
91
91
|
|
92
92
|
BUNDLED WITH
|
93
|
-
1.17.
|
93
|
+
1.17.3
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -49,13 +49,18 @@ Settings with default values:
|
|
49
49
|
Linters.configure do |config|
|
50
50
|
config.custom_linters = {}
|
51
51
|
config.linters = %i[rubocop reek bundle_audit fasterer]
|
52
|
-
config.settings_path = 'config/
|
52
|
+
config.settings_path = 'config/linter_settings.yml'
|
53
53
|
end
|
54
54
|
```
|
55
55
|
|
56
|
-
Default config/
|
56
|
+
Default config/linter_settings.yml:
|
57
57
|
|
58
58
|
```
|
59
|
+
checkers:
|
60
|
+
- rubocop
|
61
|
+
- reek
|
62
|
+
- bundle_audit
|
63
|
+
- fasterer
|
59
64
|
rubocop:
|
60
65
|
warnings_number: 0
|
61
66
|
reek:
|
@@ -74,7 +79,7 @@ If settings is absent that warnings_number equal zero.
|
|
74
79
|
config.custom_linters = {
|
75
80
|
name: {
|
76
81
|
command: 'execute command',
|
77
|
-
parse_output: 'parse output of the command for getting quantity of warnings'
|
82
|
+
parse_output: lambda { |output| 'parse output of the command for getting quantity of warnings' }
|
78
83
|
}
|
79
84
|
}
|
80
85
|
end
|
@@ -86,7 +91,7 @@ If settings is absent that warnings_number equal zero.
|
|
86
91
|
config.custom_linters = {
|
87
92
|
rubocop: {
|
88
93
|
command: 'your command',
|
89
|
-
parse_output: 'your parsing output'
|
94
|
+
parse_output: lambda { |output| 'your parsing output' }
|
90
95
|
}
|
91
96
|
}
|
92
97
|
end
|
@@ -104,7 +109,7 @@ If settings is absent that warnings_number equal zero.
|
|
104
109
|
|
105
110
|
## Contributing
|
106
111
|
|
107
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
112
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/skrinits/linters.
|
108
113
|
|
109
114
|
## License
|
110
115
|
|
@@ -3,10 +3,20 @@ module Linters
|
|
3
3
|
# :reek:Attribute
|
4
4
|
attr_accessor :custom_linters, :linters, :settings_path
|
5
5
|
|
6
|
+
DEFAULT_CHECKERS = %i[rubocop reek bundle_audit fasterer].freeze
|
7
|
+
|
6
8
|
def initialize
|
7
9
|
@custom_linters = {}
|
8
|
-
@
|
9
|
-
@
|
10
|
+
@settings_path = ENV.fetch('LINTERS_SETTING_PATH', 'config/linter_settings.yml')
|
11
|
+
@linters = ENV.fetch('LINTERS_CHECKERS', load_checkers(@settings_path))
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def load_checkers(path)
|
17
|
+
return DEFAULT_CHECKERS unless File.exist?(path)
|
18
|
+
|
19
|
+
(YAML.load_file(path)['linters']['checkers'] || DEFAULT_CHECKERS).map(&:to_sym)
|
10
20
|
end
|
11
21
|
end
|
12
22
|
end
|
data/lib/linters/version.rb
CHANGED
data/lib/tasks/linters.rake
CHANGED
@@ -2,7 +2,7 @@ require_relative '../linters'
|
|
2
2
|
|
3
3
|
namespace :linters do
|
4
4
|
desc 'Run linters or the linter with the specific name'
|
5
|
-
task :run, [
|
5
|
+
task :run, %i[name] do |_, args|
|
6
6
|
raise "Please, set the linter's name" if args.name.nil?
|
7
7
|
|
8
8
|
manager = Linters::Manager.new
|
data/linters.gemspec
CHANGED
@@ -5,12 +5,13 @@ require 'linters/version'
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'linters'
|
7
7
|
spec.version = Linters::VERSION
|
8
|
-
spec.authors = ['
|
9
|
-
spec.email = ['
|
8
|
+
spec.authors = ['skrinits']
|
9
|
+
spec.email = ['110100reg@gmail.com']
|
10
10
|
|
11
11
|
spec.summary = "Tool checks ruby applications using different code's analyzers."
|
12
|
-
spec.description = 'Check of ruby applications using rubocop, reek, brakeman, fasterer,
|
13
|
-
|
12
|
+
spec.description = 'Check of ruby applications using rubocop, reek, brakeman, fasterer,'\
|
13
|
+
' bundle_audit and the other custom linters'
|
14
|
+
spec.homepage = 'https://github.com/skrinits/linters'
|
14
15
|
spec.license = 'MIT'
|
15
16
|
|
16
17
|
# Specify which files should be added to the gem when it is released.
|
@@ -25,10 +26,10 @@ Gem::Specification.new do |spec|
|
|
25
26
|
spec.add_dependency 'rake'
|
26
27
|
|
27
28
|
spec.add_development_dependency 'bundler', '~> 1.16'
|
28
|
-
spec.add_development_dependency 'bundler-audit', '~> 0.6
|
29
|
-
spec.add_development_dependency 'byebug', '~> 11.0
|
30
|
-
spec.add_development_dependency 'fasterer', '~> 0.5
|
31
|
-
spec.add_development_dependency 'reek', '~> 5.4
|
29
|
+
spec.add_development_dependency 'bundler-audit', '~> 0.6'
|
30
|
+
spec.add_development_dependency 'byebug', '~> 11.0'
|
31
|
+
spec.add_development_dependency 'fasterer', '~> 0.5'
|
32
|
+
spec.add_development_dependency 'reek', '~> 5.4'
|
32
33
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
33
|
-
spec.add_development_dependency 'rubocop', '~> 0.71
|
34
|
+
spec.add_development_dependency 'rubocop', '~> 0.71'
|
34
35
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: linters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- skrinits
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -44,56 +44,56 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.6
|
47
|
+
version: '0.6'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.6
|
54
|
+
version: '0.6'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: byebug
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 11.0
|
61
|
+
version: '11.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 11.0
|
68
|
+
version: '11.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: fasterer
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.5
|
75
|
+
version: '0.5'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.5
|
82
|
+
version: '0.5'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: reek
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 5.4
|
89
|
+
version: '5.4'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 5.4
|
96
|
+
version: '5.4'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rspec
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,23 +114,22 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0.71
|
117
|
+
version: '0.71'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: 0.71
|
124
|
+
version: '0.71'
|
125
125
|
description: Check of ruby applications using rubocop, reek, brakeman, fasterer, bundle_audit
|
126
126
|
and the other custom linters
|
127
127
|
email:
|
128
|
-
-
|
128
|
+
- 110100reg@gmail.com
|
129
129
|
executables: []
|
130
130
|
extensions: []
|
131
131
|
extra_rdoc_files: []
|
132
132
|
files:
|
133
|
-
- ".byebug_history"
|
134
133
|
- ".gitignore"
|
135
134
|
- ".reek.yml"
|
136
135
|
- ".rspec"
|
@@ -143,7 +142,7 @@ files:
|
|
143
142
|
- Rakefile
|
144
143
|
- bin/console
|
145
144
|
- bin/setup
|
146
|
-
- config/
|
145
|
+
- config/linter_settings.yml
|
147
146
|
- lib/linters.rb
|
148
147
|
- lib/linters/builder.rb
|
149
148
|
- lib/linters/configuration.rb
|
@@ -154,7 +153,7 @@ files:
|
|
154
153
|
- lib/linters/version.rb
|
155
154
|
- lib/tasks/linters.rake
|
156
155
|
- linters.gemspec
|
157
|
-
homepage: https://github.com/
|
156
|
+
homepage: https://github.com/skrinits/linters
|
158
157
|
licenses:
|
159
158
|
- MIT
|
160
159
|
metadata: {}
|
@@ -173,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
173
172
|
- !ruby/object:Gem::Version
|
174
173
|
version: '0'
|
175
174
|
requirements: []
|
176
|
-
rubygems_version: 3.0.
|
175
|
+
rubygems_version: 3.0.8
|
177
176
|
signing_key:
|
178
177
|
specification_version: 4
|
179
178
|
summary: Tool checks ruby applications using different code's analyzers.
|