laerad 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 67f0cd23e8bb6d18e70e4c7d7ef6f1a443294de3b1ec80b081fc7e0321e5bd6c
4
- data.tar.gz: 2ee5ad08c5f5c54069057661d301ae558d46d3cea474a0fda1c731dd9a5b536c
3
+ metadata.gz: cc4aba5b10777aeac869643bacc35c67a718111bbf3fba0f9565adaf9ae7feda
4
+ data.tar.gz: 07f3e5a2e2bc0ce751b983ced23cd3f800e1b5b5faed771ab89eaf8cb1fd8f41
5
5
  SHA512:
6
- metadata.gz: b652cf01609f3263520349f0d88ea2e10f9107e48eb0c41e488a9e35511911215ec634f43e18768d769a2ea59421c74f1990c93bac488b780c69a17a783d8591
7
- data.tar.gz: e7e00385a9a339bd99ec3ff79b4c850b40d72553e87c54a61f5065cd6588bce8609fd7eb7fc03b64042da089c84f1b89383cf60fdf5485708cfb6872e6de224f
6
+ metadata.gz: 37fbe81640c7637723514412ba77b4a1e5179f33f8e632ff2d137c98177a7793731d8e4b7b4da629f2e1579e7a75c922cf417d40493c5cff5709af17a18b174c
7
+ data.tar.gz: b39c39ef6759a111cc777a649341cce2c30ab61d59aae267c310a08be76b3f055b96ff95ebb230acd0a8cc51f1387e3c699591c75f8f406b5541b2024be69c45
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Laerad
4
- VERSION = "0.1.2"
4
+ VERSION = "0.1.3"
5
5
  end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "pronto"
4
+ require "laerad"
5
+
6
+ module Pronto
7
+ class Laerad < Runner
8
+ def run
9
+ return [] unless @patches
10
+
11
+ @patches
12
+ .select { |patch| patch.delta.new_file[:path].end_with?(".rb") }
13
+ .flat_map { |patch| inspect(patch) }
14
+ end
15
+
16
+ private
17
+
18
+ def inspect(patch)
19
+ path = patch.delta.new_file[:path]
20
+ result = ::Laerad::FileAnalyzer.analyze(path)
21
+
22
+ result.variable_violations.filter_map do |violation|
23
+ line = patch.added_lines.find { |l| l.new_lineno == violation[:line] }
24
+ next unless line
25
+
26
+ Message.new(
27
+ path,
28
+ line,
29
+ :warning,
30
+ "#{violation[:name]} is a single-use variable",
31
+ nil,
32
+ self.class
33
+ )
34
+ end
35
+ end
36
+ end
37
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: laerad
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Giles Bowkett
@@ -51,6 +51,34 @@ dependencies:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
53
  version: '1.4'
54
+ - !ruby/object:Gem::Dependency
55
+ name: base64
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: pronto
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '0.11'
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '0.11'
54
82
  executables:
55
83
  - laerad
56
84
  extensions: []
@@ -66,6 +94,7 @@ files:
66
94
  - lib/laerad/runner.rb
67
95
  - lib/laerad/scope.rb
68
96
  - lib/laerad/version.rb
97
+ - lib/pronto/laerad.rb
69
98
  homepage: https://github.com/gilesbowkett/laerad
70
99
  licenses:
71
100
  - MIT