rake_check 0.3.0 → 0.3.1
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/.gitignore +3 -0
- data/lib/rake_check/brakeman_checker.rb +1 -1
- data/lib/rake_check/coffee_lint_checker.rb +1 -1
- data/lib/rake_check/cucumber_checker.rb +6 -1
- data/lib/rake_check/konacha_checker.rb +6 -2
- data/lib/rake_check/tasks/check.rake +30 -22
- data/lib/rake_check/version.rb +1 -1
- data/spec/lib/rake_check/brakeman_checker_spec.rb +3 -2
- data/spec/lib/rake_check/cucumber_checker_spec.rb +3 -0
- metadata +54 -19
data/.gitignore
CHANGED
@@ -15,7 +15,7 @@ class BrakemanChecker
|
|
15
15
|
begin
|
16
16
|
@tracker = Brakeman.run('.')
|
17
17
|
rescue SystemExit
|
18
|
-
return { type: :brakeman, check_output: "", status: "Rails App not found" }
|
18
|
+
return { type: :brakeman, check_output: "", status: "Rails App not found".green }
|
19
19
|
end
|
20
20
|
{ type: :brakeman, check_output: output, status: status }
|
21
21
|
end
|
@@ -31,7 +31,7 @@ class CoffeeLintChecker
|
|
31
31
|
# @return [String] Checkstatus
|
32
32
|
# @author dmasur
|
33
33
|
def status
|
34
|
-
return '
|
34
|
+
return 'Not found'.green if @shell_output.include? "0 files"
|
35
35
|
@violations = violation_count
|
36
36
|
if @violations > 0
|
37
37
|
print_violations
|
@@ -10,8 +10,13 @@ class CucumberChecker
|
|
10
10
|
# @return [Hash] Checkresult
|
11
11
|
# @author dmasur
|
12
12
|
def result
|
13
|
+
|
13
14
|
@shell_output = begin
|
14
|
-
|
15
|
+
if Dir["features"].empty?
|
16
|
+
return { type: :cucumber, check_output: '', status: "Not found".green }
|
17
|
+
else
|
18
|
+
`export COVERAGE=true; cucumber features; export COVERAGE=;`
|
19
|
+
end
|
15
20
|
rescue Errno::ENOENT
|
16
21
|
"Cucumber not found"
|
17
22
|
end
|
@@ -11,11 +11,15 @@ class KonachaChecker
|
|
11
11
|
# @author dmasur
|
12
12
|
def result
|
13
13
|
@shell_output = begin
|
14
|
-
`rake konacha:run`
|
14
|
+
`rake konacha:run 2>&1`
|
15
15
|
rescue Errno::ENOENT
|
16
16
|
"Konacha not found"
|
17
17
|
end
|
18
|
-
|
18
|
+
if @shell_output.include?("Don't know how to build task 'konacha:run'")
|
19
|
+
{ type: :konacha, check_output: '', status: 'Not found'.green }
|
20
|
+
else
|
21
|
+
{ type: :konacha, check_output: output, status: status }
|
22
|
+
end
|
19
23
|
end
|
20
24
|
|
21
25
|
private
|
@@ -8,6 +8,7 @@ require 'rake_check/cucumber_checker'
|
|
8
8
|
require 'rake_check/brakeman_checker'
|
9
9
|
require 'rake_check/coffee_lint_checker'
|
10
10
|
require 'rake_check/konacha_checker'
|
11
|
+
require 'benchmark'
|
11
12
|
##
|
12
13
|
# Do exakt what it is called
|
13
14
|
#
|
@@ -43,33 +44,40 @@ end
|
|
43
44
|
# @author dmasur
|
44
45
|
def print_summary(results)
|
45
46
|
result = results.map do |result|
|
46
|
-
"#{result[:type]}§#{result[:status]}"
|
47
|
+
"#{result[:type].to_s.capitalize}§#{result[:status]}"
|
47
48
|
end
|
48
49
|
puts `echo "#{result.join("\n")}" | column -t -s§`
|
49
50
|
end
|
50
|
-
|
51
|
+
def execute(klass, argument=nil)
|
52
|
+
@index += 1
|
53
|
+
name = klass.to_s.gsub("Checker", '')
|
54
|
+
name = [name, argument].compact.join(' ')
|
55
|
+
print "[#{@index}/9] Testing #{name} "
|
56
|
+
checker = klass.new
|
57
|
+
time = Benchmark.measure do
|
58
|
+
@results << if argument
|
59
|
+
checker.result(argument)
|
60
|
+
else
|
61
|
+
checker.result
|
62
|
+
end
|
63
|
+
end
|
64
|
+
print "(#{time.total.round(2)} sec): "
|
65
|
+
puts @results.last[:status]
|
66
|
+
end
|
51
67
|
desc "Check all Metric tools"
|
52
68
|
task :check do
|
53
|
-
results
|
54
|
-
|
55
|
-
|
56
|
-
puts "[2/9] Testing RSpec ..."
|
69
|
+
@results = []
|
70
|
+
@index = 0
|
71
|
+
execute CucumberChecker
|
57
72
|
Dir["spec*"].each do |spec_dir|
|
58
|
-
|
73
|
+
execute RspecChecker, spec_dir
|
59
74
|
end
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
results
|
68
|
-
puts "[7/9] Testing Brakeman ..."
|
69
|
-
results << BrakemanChecker.new.result
|
70
|
-
puts "[8/9] Testing CoffeLint ..."
|
71
|
-
results << CoffeeLintChecker.new.result
|
72
|
-
puts "[9/9] Testing Konacha ..."
|
73
|
-
results << KonachaChecker.new.result
|
74
|
-
print_check_result results
|
75
|
+
execute RbpChecker
|
76
|
+
execute YardChecker
|
77
|
+
execute ReekChecker
|
78
|
+
execute CaneChecker
|
79
|
+
execute BrakemanChecker
|
80
|
+
execute CoffeeLintChecker
|
81
|
+
execute KonachaChecker
|
82
|
+
print_check_result @results
|
75
83
|
end
|
data/lib/rake_check/version.rb
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../../../lib/rake_check/brakeman_checker')
|
2
|
+
require_relative '../../spec_helper'
|
2
3
|
|
3
4
|
describe BrakemanChecker do
|
4
5
|
let(:tracker) { stub("Tracker", checks: stub("Checks", warnings: [])) }
|
5
6
|
it "gives N/A on no Rails Apps" do
|
6
|
-
|
7
|
+
Brakeman.should_receive(:run)
|
8
|
+
subject.result.should == { type: :brakeman, check_output: '', status: 'N/A' }
|
7
9
|
end
|
8
10
|
it "gives OK with no Errors" do
|
9
11
|
Brakeman.should_receive(:run).and_return tracker
|
10
|
-
subject.stub(:`)
|
11
12
|
subject.result.should == { type: :brakeman,
|
12
13
|
check_output: '',
|
13
14
|
status: "\e[32m0\e[0m Warnings" }
|
@@ -2,16 +2,19 @@ require File.expand_path(File.dirname(__FILE__) + '/../../../lib/rake_check/cucu
|
|
2
2
|
|
3
3
|
describe CucumberChecker do
|
4
4
|
it "gives N/A on Error" do
|
5
|
+
Dir.stub(:[] => [stub])
|
5
6
|
subject.stub(:`).and_return('Error')
|
6
7
|
subject.result.should == { type: :cucumber, check_output: '', status: 'N/A' }
|
7
8
|
end
|
8
9
|
it "gives OK with no Errors" do
|
10
|
+
Dir.stub :[] => [stub]
|
9
11
|
subject.stub(:`).and_return('8 scenarios (8 passed)')
|
10
12
|
subject.result.should == { type: :cucumber,
|
11
13
|
check_output: '',
|
12
14
|
status: "\e[32mOK\e[0m" }
|
13
15
|
end
|
14
16
|
it "is red on Error" do
|
17
|
+
Dir.stub :[] => [stub]
|
15
18
|
subject.stub(:`).and_return('8 scenarios (1 failed, 7 passed)')
|
16
19
|
subject.result.should == { type: :cucumber,
|
17
20
|
check_output: '8 scenarios (1 failed, 7 passed)',
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rake_check
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-07-
|
12
|
+
date: 2012-07-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: colored
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '0'
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: rake
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: '0'
|
44
54
|
type: :runtime
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: reek
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: '0'
|
55
70
|
type: :runtime
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: cane
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,10 +85,15 @@ dependencies:
|
|
65
85
|
version: '0'
|
66
86
|
type: :runtime
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: cucumber
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
99
|
- - ! '>='
|
@@ -76,10 +101,15 @@ dependencies:
|
|
76
101
|
version: '0'
|
77
102
|
type: :runtime
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
80
110
|
- !ruby/object:Gem::Dependency
|
81
111
|
name: brakeman
|
82
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
83
113
|
none: false
|
84
114
|
requirements:
|
85
115
|
- - ! '>='
|
@@ -87,7 +117,12 @@ dependencies:
|
|
87
117
|
version: '0'
|
88
118
|
type: :runtime
|
89
119
|
prerelease: false
|
90
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
91
126
|
description: Checking the Project for Code Smells and bad documentation
|
92
127
|
email:
|
93
128
|
- dominik.masur@googlemail.com
|
@@ -145,7 +180,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
145
180
|
version: '0'
|
146
181
|
segments:
|
147
182
|
- 0
|
148
|
-
hash: -
|
183
|
+
hash: -1356481860266727982
|
149
184
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
150
185
|
none: false
|
151
186
|
requirements:
|
@@ -154,10 +189,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
154
189
|
version: '0'
|
155
190
|
segments:
|
156
191
|
- 0
|
157
|
-
hash: -
|
192
|
+
hash: -1356481860266727982
|
158
193
|
requirements: []
|
159
194
|
rubyforge_project:
|
160
|
-
rubygems_version: 1.8.
|
195
|
+
rubygems_version: 1.8.24
|
161
196
|
signing_key:
|
162
197
|
specification_version: 3
|
163
198
|
summary: Checking the Project for Code Smells and bad documentation
|