rake_check 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,7 +10,11 @@ class CaneChecker
10
10
  # @return [Hash] Checkresult
11
11
  # @author dmasur
12
12
  def result
13
- @shell_output = `cane`
13
+ @shell_output = begin
14
+ `cane`
15
+ rescue Errno::ENOENT
16
+ "Cane not found"
17
+ end
14
18
  { :type => :cane, :check_output => @shell_output, :status => status }
15
19
  end
16
20
 
@@ -39,10 +43,8 @@ class CaneChecker
39
43
  # @return [String] Colored Validation Count
40
44
  # @author dmasur
41
45
  def color_violations
42
- color = case @violations
43
- when 1..9 then :yellow
44
- else :red
45
- end
46
+ color = :red
47
+ color = :yellow if @violations.between?(1, 9)
46
48
  @violations = @violations.to_s.send color
47
49
  end
48
50
  end
@@ -10,7 +10,11 @@ class RbpChecker
10
10
  # @return [Hash] Checkresult
11
11
  # @author dmasur
12
12
  def result
13
- @shell_output = `rails_best_practices --silent --spec`
13
+ @shell_output = begin
14
+ `rails_best_practices --silent --spec`
15
+ rescue Errno::ENOENT
16
+ "Rails best practices not found"
17
+ end
14
18
  {:type => :rbp, :check_output => output, :status => status}
15
19
  end
16
20
 
@@ -21,8 +25,8 @@ class RbpChecker
21
25
  # @return [String] Checkoutput
22
26
  # @author dmasur
23
27
  def output
24
- case state
25
- when :good then ''
28
+ if state == :good
29
+ ''
26
30
  else
27
31
  regexp = /Please go to .* to see more useful Rails Best Practices./
28
32
  output_lines = @shell_output.gsub(regexp, '').split(/\n/)
@@ -36,8 +40,7 @@ class RbpChecker
36
40
  # @return [String] Checkstatus
37
41
  # @author dmasur
38
42
  def status
39
- tmp_state = state
40
- case tmp_state
43
+ case state
41
44
  when :good then 'OK'.green
42
45
  when :error then 'N/A'
43
46
  else error_message.red
@@ -50,8 +53,7 @@ class RbpChecker
50
53
  # @return [String] Errormessage
51
54
  # @author dmasur
52
55
  def error_message
53
- warning_count = /Found (\d+) warnings/.match(@shell_output)[1]
54
- "Found #{warning_count} warnings"
56
+ /Found \d+ warnings/.match(@shell_output)[0]
55
57
  end
56
58
 
57
59
  ##
@@ -10,8 +10,13 @@ class ReekChecker
10
10
  # @author dmasur
11
11
  def result
12
12
  require_dependencies
13
- shell_output = `reek app lib -y 2>/dev/null`
14
- @shell_output = shell_output.split("\n").
13
+
14
+ @shell_output = begin
15
+ `reek app lib -y 2>/dev/null`
16
+ rescue Errno::ENOENT
17
+ "Reek not found"
18
+ end
19
+ @shell_output = @shell_output.split("\n").
15
20
  delete_if{|line| line.include?('already initialized constant') }.join("\n")
16
21
  {:type => :reek, :check_output => output, :status => status}
17
22
  end
@@ -10,7 +10,11 @@ class RspecChecker
10
10
  # @return [Hash] Checkresult
11
11
  # @author dmasur
12
12
  def result directory="spec"
13
- @shell_output = `export COVERAGE=true; rspec #{directory}; export COVERAGE=`
13
+ @shell_output = begin
14
+ `export COVERAGE=true; rspec #{directory}; export COVERAGE=`
15
+ rescue Errno::ENOENT
16
+ "RSpec not found"
17
+ end
14
18
  {:type => directory, :status => status + code_coverage, :check_output => output}
15
19
  end
16
20
 
@@ -36,10 +40,7 @@ class RspecChecker
36
40
  # @return [String] Output
37
41
  # @author dmasur
38
42
  def output
39
- case @shell_output
40
- when / 0 failures/ then ''
41
- else @shell_output
42
- end
43
+ @shell_output =~ / 0 failures/ ? '' : @shell_output
43
44
  end
44
45
 
45
46
  ##
@@ -48,11 +49,11 @@ class RspecChecker
48
49
  # @return [String] Codecoverage
49
50
  def code_coverage
50
51
  if @shell_output.include?('Coverage report generated')
51
- @coverage = /LOC \((\d+\.\d+)%\) covered/.match(@shell_output)[1].to_f
52
+ @coverage = /LOC \(([\d.]+)%\) covered/.match(@shell_output)[1].to_f
52
53
  color_coverage
53
54
  " with #{@coverage} Code Coverage"
54
55
  else
55
- ""
56
+ ''
56
57
  end
57
58
  end
58
59
 
@@ -39,12 +39,11 @@ end
39
39
  # @author dmasur
40
40
  def print_summary results
41
41
  results.each do |result|
42
- type_name = result[:type].to_s
43
- status = result[:status]
44
- puts "#{type_name}:\t#{status}"
42
+ puts "#{result[:type]}:\t#{result[:status]}"
45
43
  end
46
44
  end
47
- desc "Check Rails Best Practices and RSpec"
45
+
46
+ desc "Check all Metric tools"
48
47
  task :check do
49
48
  results ||= []
50
49
  Dir["spec*"].each do |spec_dir|
@@ -3,5 +3,5 @@ module RakeCheck
3
3
  # The Version Constant
4
4
  #
5
5
  # @author dmasur
6
- VERSION = "0.1.2"
6
+ VERSION = "0.1.3"
7
7
  end
@@ -10,7 +10,11 @@ class YardChecker
10
10
  # @return [Hash] Checkresult
11
11
  # @author dmasur
12
12
  def result
13
- @shell_output = `yardoc`
13
+ @shell_output = begin
14
+ `yardoc`
15
+ rescue Errno::ENOENT
16
+ "Yardoc not found"
17
+ end
14
18
  {:type => :yard, :check_output => output, :status => status}
15
19
  end
16
20
 
@@ -58,10 +62,6 @@ class YardChecker
58
62
  # @return [String] Output
59
63
  # @author dmasur
60
64
  def output
61
- if @shell_output.include? 'documented'
62
- ''
63
- else
64
- @shell_output
65
- end
65
+ @shell_output.include?('documented') ? '' : @shell_output
66
66
  end
67
67
  end
data/rake_check.gemspec CHANGED
@@ -19,5 +19,4 @@ Gem::Specification.new do |gem|
19
19
  gem.add_dependency "colored"
20
20
  gem.add_dependency "rake"
21
21
  gem.add_dependency "reek"
22
- gem.add_dependency "cane"
23
22
  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.2
4
+ version: 0.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-05-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70203811968860 !ruby/object:Gem::Requirement
16
+ requirement: &70265476630660 !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: *70203811968860
24
+ version_requirements: *70265476630660
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: colored
27
- requirement: &70203811968160 !ruby/object:Gem::Requirement
27
+ requirement: &70265476629760 !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: *70203811968160
35
+ version_requirements: *70265476629760
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &70203811967360 !ruby/object:Gem::Requirement
38
+ requirement: &70265476629220 !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: *70203811967360
46
+ version_requirements: *70265476629220
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: reek
49
- requirement: &70203811966280 !ruby/object:Gem::Requirement
49
+ requirement: &70265476628500 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,18 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70203811966280
58
- - !ruby/object:Gem::Dependency
59
- name: cane
60
- requirement: &70203811965100 !ruby/object:Gem::Requirement
61
- none: false
62
- requirements:
63
- - - ! '>='
64
- - !ruby/object:Gem::Version
65
- version: '0'
66
- type: :runtime
67
- prerelease: false
68
- version_requirements: *70203811965100
57
+ version_requirements: *70265476628500
69
58
  description: Checking the Project for Code Smells and bad documentation
70
59
  email:
71
60
  - dominik.masur@googlemail.com
@@ -112,7 +101,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
112
101
  version: '0'
113
102
  segments:
114
103
  - 0
115
- hash: 3766777700523133814
104
+ hash: -1137789811781084893
116
105
  required_rubygems_version: !ruby/object:Gem::Requirement
117
106
  none: false
118
107
  requirements:
@@ -121,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
110
  version: '0'
122
111
  segments:
123
112
  - 0
124
- hash: 3766777700523133814
113
+ hash: -1137789811781084893
125
114
  requirements: []
126
115
  rubyforge_project:
127
116
  rubygems_version: 1.8.10