rake_check 0.1.1 → 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/Gemfile +1 -0
- data/lib/rake_check/reek_checker.rb +10 -4
- data/lib/rake_check/rspec_checker.rb +3 -3
- data/lib/rake_check/tasks/check.rake +10 -7
- data/lib/rake_check/version.rb +1 -1
- data/spec/lib/rake_check/rspec_checker_spec.rb +7 -7
- metadata +14 -14
data/Gemfile
CHANGED
@@ -9,9 +9,7 @@ class ReekChecker
|
|
9
9
|
# @return [Hash] Checkresult
|
10
10
|
# @author dmasur
|
11
11
|
def result
|
12
|
-
|
13
|
-
require 'colored'
|
14
|
-
require 'yaml'
|
12
|
+
require_dependencies
|
15
13
|
shell_output = `reek app lib -y 2>/dev/null`
|
16
14
|
@shell_output = shell_output.split("\n").
|
17
15
|
delete_if{|line| line.include?('already initialized constant') }.join("\n")
|
@@ -19,6 +17,15 @@ class ReekChecker
|
|
19
17
|
end
|
20
18
|
|
21
19
|
private
|
20
|
+
##
|
21
|
+
# Require Dependencies
|
22
|
+
#
|
23
|
+
# @author dmasur
|
24
|
+
def require_dependencies
|
25
|
+
require 'reek'
|
26
|
+
require 'colored'
|
27
|
+
require 'yaml'
|
28
|
+
end
|
22
29
|
##
|
23
30
|
# Gives the Check Status
|
24
31
|
#
|
@@ -41,7 +48,6 @@ class ReekChecker
|
|
41
48
|
# @return [Array] SmellWarnings
|
42
49
|
# @author dmasur
|
43
50
|
def parsed_output
|
44
|
-
puts @shell_output
|
45
51
|
YAML::load(@shell_output)
|
46
52
|
end
|
47
53
|
|
@@ -9,9 +9,9 @@ class RspecChecker
|
|
9
9
|
#
|
10
10
|
# @return [Hash] Checkresult
|
11
11
|
# @author dmasur
|
12
|
-
def result
|
13
|
-
@shell_output = `export COVERAGE=true; rspec
|
14
|
-
{:type =>
|
12
|
+
def result directory="spec"
|
13
|
+
@shell_output = `export COVERAGE=true; rspec #{directory}; export COVERAGE=`
|
14
|
+
{:type => directory, :status => status + code_coverage, :check_output => output}
|
15
15
|
end
|
16
16
|
|
17
17
|
private
|
@@ -41,15 +41,18 @@ def print_summary results
|
|
41
41
|
results.each do |result|
|
42
42
|
type_name = result[:type].to_s
|
43
43
|
status = result[:status]
|
44
|
-
puts "
|
44
|
+
puts "#{type_name}:\t#{status}"
|
45
45
|
end
|
46
46
|
end
|
47
47
|
desc "Check Rails Best Practices and RSpec"
|
48
48
|
task :check do
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
49
|
+
results ||= []
|
50
|
+
Dir["spec*"].each do |spec_dir|
|
51
|
+
results << RspecChecker.new.result(spec_dir)
|
52
|
+
end
|
53
|
+
results << RbpChecker.new.result
|
54
|
+
results << YardChecker.new.result
|
55
|
+
results << ReekChecker.new.result
|
56
|
+
results << CaneChecker.new.result
|
57
|
+
print_check_result results
|
55
58
|
end
|
data/lib/rake_check/version.rb
CHANGED
@@ -3,20 +3,20 @@ require File.expand_path(File.dirname(__FILE__) + '/../../../lib/rake_check/rspe
|
|
3
3
|
describe RspecChecker do
|
4
4
|
it "gives N/A on Error" do
|
5
5
|
subject.stub('`' => 'Error')
|
6
|
-
subject.result.should == { type:
|
6
|
+
subject.result.should == { type: "spec", check_output: 'Error', status: 'N/A' }
|
7
7
|
end
|
8
8
|
it "gives OK with no Errors" do
|
9
9
|
subject.stub('`' => '6 examples, 0 failures')
|
10
|
-
subject.result.should == { type:
|
10
|
+
subject.result.should == { type: "spec", check_output: '', status: "\e[32mOK\e[0m" }
|
11
11
|
end
|
12
12
|
it "gives warning message with Errors" do
|
13
13
|
subject.stub('`' => '6 examples, 3 failures')
|
14
|
-
subject.result.should == { type:
|
14
|
+
subject.result.should == { type: "spec", check_output: '6 examples, 3 failures',
|
15
15
|
status: "\e[31m3 failures\e[0m" }
|
16
16
|
end
|
17
17
|
it "gives warning message with one Error" do
|
18
18
|
subject.stub('`' => '6 examples, 1 failure')
|
19
|
-
subject.result.should == { type:
|
19
|
+
subject.result.should == { type: "spec", check_output: '6 examples, 1 failure',
|
20
20
|
status: "\e[31m1 failure\e[0m" }
|
21
21
|
end
|
22
22
|
describe "Code Coverage" do
|
@@ -24,21 +24,21 @@ describe RspecChecker do
|
|
24
24
|
check_output = "6 examples, 0 failures
|
25
25
|
Coverage report generated for RSpec to /foo/bar/coverage. 38 / 38 LOC (93.90%) covered."
|
26
26
|
subject.stub('`' => check_output)
|
27
|
-
subject.result.should == { type:
|
27
|
+
subject.result.should == { type: "spec", check_output: '',
|
28
28
|
status: "\e[32mOK\e[0m with \e[32m93.9%\e[0m Code Coverage" }
|
29
29
|
end
|
30
30
|
it "is green over 70%" do
|
31
31
|
check_output = "6 examples, 0 failures
|
32
32
|
Coverage report generated for RSpec to /foo/bar/coverage. 38 / 38 LOC (73.90%) covered."
|
33
33
|
subject.stub('`' => check_output)
|
34
|
-
subject.result.should == { type:
|
34
|
+
subject.result.should == { type: "spec", check_output: '',
|
35
35
|
status: "\e[32mOK\e[0m with \e[33m73.9%\e[0m Code Coverage" }
|
36
36
|
end
|
37
37
|
it "is green over 10%" do
|
38
38
|
check_output = "6 examples, 0 failures
|
39
39
|
Coverage report generated for RSpec to /foo/bar/coverage. 38 / 38 LOC (13.90%) covered."
|
40
40
|
subject.stub('`' => check_output)
|
41
|
-
subject.result.should == { type:
|
41
|
+
subject.result.should == { type: "spec", check_output: '',
|
42
42
|
status: "\e[32mOK\e[0m with \e[31m13.9%\e[0m Code Coverage" }
|
43
43
|
end
|
44
44
|
end
|
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.1.
|
4
|
+
version: 0.1.2
|
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-05-
|
12
|
+
date: 2012-05-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &70203811968860 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70203811968860
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: colored
|
27
|
-
requirement: &
|
27
|
+
requirement: &70203811968160 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70203811968160
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &70203811967360 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70203811967360
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: reek
|
49
|
-
requirement: &
|
49
|
+
requirement: &70203811966280 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70203811966280
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: cane
|
60
|
-
requirement: &
|
60
|
+
requirement: &70203811965100 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70203811965100
|
69
69
|
description: Checking the Project for Code Smells and bad documentation
|
70
70
|
email:
|
71
71
|
- dominik.masur@googlemail.com
|
@@ -112,7 +112,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
112
112
|
version: '0'
|
113
113
|
segments:
|
114
114
|
- 0
|
115
|
-
hash:
|
115
|
+
hash: 3766777700523133814
|
116
116
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
117
|
none: false
|
118
118
|
requirements:
|
@@ -121,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
121
|
version: '0'
|
122
122
|
segments:
|
123
123
|
- 0
|
124
|
-
hash:
|
124
|
+
hash: 3766777700523133814
|
125
125
|
requirements: []
|
126
126
|
rubyforge_project:
|
127
127
|
rubygems_version: 1.8.10
|