pronto-clippy 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/pronto/clippy/parser.rb +1 -1
- data/lib/pronto/clippy/version.rb +1 -1
- data/lib/pronto/clippy_runner.rb +19 -11
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eaf84449187646b216960f4f3c69e10423a9c2d9
|
4
|
+
data.tar.gz: 8bea12be7b33d56368c966ad616bde00fd4ed7ec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a61223f255912bd437f3cb72d2395cbd77870e1818baac85aaf84b9d551e2e3e3aa3e53174fa66692bfac2c9967469ad662c1c7cbba21cb27e73e4cc9f06ef9
|
7
|
+
data.tar.gz: edfdb52c1659ca2bc092d2004fc90d2d71faa8353be6022fbd80c2b21e87255f854d23a615934468981eafe4dce997f1f40a5876c6ad21e6374fd1fd64c34f49
|
data/lib/pronto/clippy/parser.rb
CHANGED
data/lib/pronto/clippy_runner.rb
CHANGED
@@ -3,32 +3,40 @@ require_relative 'clippy/wrapper'
|
|
3
3
|
|
4
4
|
module Pronto
|
5
5
|
class ClippyRunner < Runner
|
6
|
+
attr_reader :patches
|
7
|
+
|
6
8
|
def run
|
7
9
|
return [] unless @patches
|
8
10
|
|
9
|
-
@offences = Clippy::Wrapper.new.lint
|
10
11
|
|
11
|
-
|
12
|
+
patches
|
12
13
|
.reject { |patch| patch.additions.zero? }
|
13
14
|
.select { |patch| rust_file?(patch.new_file_full_path.to_s) }
|
14
15
|
.map { |patch| inspect(patch) }
|
15
16
|
end
|
16
17
|
|
18
|
+
def offences
|
19
|
+
@offences ||= Clippy::Wrapper.new.lint
|
20
|
+
end
|
21
|
+
|
17
22
|
private
|
18
23
|
|
19
24
|
def inspect(patch)
|
20
|
-
|
25
|
+
offences
|
21
26
|
.fetch(patch.new_file_full_path.to_s, [])
|
22
27
|
.inject([]) do |arr, offence|
|
23
|
-
|
24
|
-
|
25
|
-
|
28
|
+
line = contains?(patch, offence['spans'].first)
|
29
|
+
arr << new_message(offence, line) if line
|
30
|
+
arr
|
31
|
+
end
|
32
|
+
end
|
26
33
|
|
27
|
-
|
28
|
-
|
29
|
-
|
34
|
+
def contains?(patch, span)
|
35
|
+
line_start = span['line_start'].to_i
|
36
|
+
line_end = span['line_end'].to_i
|
30
37
|
|
31
|
-
|
38
|
+
patch.added_lines.find do |entry|
|
39
|
+
(line_start..line_end).cover?(entry.new_lineno)
|
32
40
|
end
|
33
41
|
end
|
34
42
|
|
@@ -36,7 +44,7 @@ module Pronto
|
|
36
44
|
path = line.patch.delta.new_file[:path]
|
37
45
|
Message.new(path,
|
38
46
|
line,
|
39
|
-
offence['level'],
|
47
|
+
offence['level'].to_sym,
|
40
48
|
offence['message'],
|
41
49
|
nil,
|
42
50
|
self.class)
|