code_hunter 0.1.0 → 0.1.2
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.
data/README.md
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
# Code Hunter
|
2
|
-
Hunt out weak spots in your rails application with
|
2
|
+
Hunt out weak spots in your rails application with 3 static metrics tools:
|
3
3
|
|
4
4
|
* [Brakeman](https://github.com/presidentbeef/brakeman) - A static analysis security vulnerability scanner for Rails
|
5
5
|
* [RailsBestPractices](https://github.com/railsbp/rails_best_practices) - A code metric tool for rails projects
|
6
|
+
* [Pendaxes](https://github.com/cookpad/pendaxes) - A tool to detect pendings in spec files
|
6
7
|
|
7
8
|
## Installation
|
8
9
|
|
@@ -10,14 +10,17 @@ module CodeHunter
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def summarize
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
13
|
+
rows.map do |element|
|
14
|
+
if element.css(".warning_message").any?
|
15
|
+
{
|
16
|
+
:service => "brakeman",
|
17
|
+
:line => find_line(element),
|
18
|
+
:path => find_path(element),
|
19
|
+
:message => find_message(element),
|
20
|
+
:url => find_url(element),
|
21
|
+
}
|
22
|
+
end
|
23
|
+
end.compact
|
21
24
|
end
|
22
25
|
|
23
26
|
def find_line(element)
|
@@ -25,17 +28,25 @@ module CodeHunter
|
|
25
28
|
end
|
26
29
|
|
27
30
|
def find_message(element)
|
28
|
-
element.child.text.strip
|
31
|
+
element.css(".warning_message").first.child.text.strip
|
29
32
|
end
|
30
33
|
|
31
34
|
def find_path(element)
|
32
|
-
element.css("caption").text.strip
|
35
|
+
element.css(".warning_message").first.css("caption").text.strip
|
36
|
+
end
|
37
|
+
|
38
|
+
def find_url(element)
|
39
|
+
element.css("a").first.try(:attr, "href")
|
33
40
|
end
|
34
41
|
|
35
42
|
def warning_elements
|
36
43
|
tree.css(".warning_message")
|
37
44
|
end
|
38
45
|
|
46
|
+
def rows
|
47
|
+
tree.css("tr")
|
48
|
+
end
|
49
|
+
|
39
50
|
def tree
|
40
51
|
Nokogiri.HTML(content)
|
41
52
|
end
|
@@ -16,6 +16,7 @@ module CodeHunter
|
|
16
16
|
:line => find_line(element),
|
17
17
|
:path => find_path(element),
|
18
18
|
:message => find_message(element),
|
19
|
+
:url => find_url(element),
|
19
20
|
}
|
20
21
|
end
|
21
22
|
end
|
@@ -32,6 +33,10 @@ module CodeHunter
|
|
32
33
|
element.css(".message").text.strip
|
33
34
|
end
|
34
35
|
|
36
|
+
def find_url(element)
|
37
|
+
element.css("a").first.try(:attr, "href")
|
38
|
+
end
|
39
|
+
|
35
40
|
def warning_elements
|
36
41
|
tree.css(".result tbody tr")
|
37
42
|
end
|
data/lib/code_hunter/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: code_hunter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-02-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|