rake_check 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -9,3 +9,4 @@ gem 'yard', :require => false
9
9
  gem 'cane', :require => false
10
10
  gem 'redcarpet', :require => false
11
11
  gem 'reek', :require => false
12
+ gem 'cucumber', :require => false
@@ -9,9 +9,7 @@ class ReekChecker
9
9
  # @return [Hash] Checkresult
10
10
  # @author dmasur
11
11
  def result
12
- require 'reek'
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 spec spec_no_rails; export COVERAGE=`
14
- {:type => :rspec, :status => status + code_coverage, :check_output => output}
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 "puts #{type_name}:\t#{status}"
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
- rspec = RspecChecker.new.result
50
- rbp = RbpChecker.new.result
51
- yard = YardChecker.new.result
52
- reek = ReekChecker.new.result
53
- cane = CaneChecker.new.result
54
- print_check_result [rspec, rbp, yard, reek, cane]
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
@@ -3,5 +3,5 @@ module RakeCheck
3
3
  # The Version Constant
4
4
  #
5
5
  # @author dmasur
6
- VERSION = "0.1.1"
6
+ VERSION = "0.1.2"
7
7
  end
@@ -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: :rspec, check_output: 'Error', status: 'N/A' }
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: :rspec, check_output: '', status: "\e[32mOK\e[0m" }
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: :rspec, check_output: '6 examples, 3 failures',
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: :rspec, check_output: '6 examples, 1 failure',
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: :rspec, check_output: '',
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: :rspec, check_output: '',
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: :rspec, check_output: '',
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.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-09 00:00:00.000000000 Z
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: &70213128680300 !ruby/object:Gem::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: *70213128680300
24
+ version_requirements: *70203811968860
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: colored
27
- requirement: &70213128678900 !ruby/object:Gem::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: *70213128678900
35
+ version_requirements: *70203811968160
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &70213128678240 !ruby/object:Gem::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: *70213128678240
46
+ version_requirements: *70203811967360
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: reek
49
- requirement: &70213128677780 !ruby/object:Gem::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: *70213128677780
57
+ version_requirements: *70203811966280
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: cane
60
- requirement: &70213128677300 !ruby/object:Gem::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: *70213128677300
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: 3126639798450896785
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: 3126639798450896785
124
+ hash: 3766777700523133814
125
125
  requirements: []
126
126
  rubyforge_project:
127
127
  rubygems_version: 1.8.10