rake_check 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -16,11 +16,15 @@ class CoffeeLintChecker
16
16
  rescue Errno::ENOENT
17
17
  "CoffeeLint not found"
18
18
  end
19
- { type: :coffeelint, check_output: @shell_output, status: status }
19
+ { type: :coffeelint, check_output: output, status: status }
20
20
  end
21
21
 
22
22
  private
23
23
 
24
+ def output
25
+ violation_count > 0 ? @shell_output : ''
26
+ end
27
+
24
28
  ##
25
29
  # Gives the Check Status
26
30
  #
@@ -39,7 +43,7 @@ class CoffeeLintChecker
39
43
  end
40
44
 
41
45
  def violation_count
42
- @shell_output.scan(/(\d*) errors? and (\d*) warnings? in .+ files?/).flatten.
46
+ @violations ||= @shell_output.scan(/(\d*) errors? and (\d*) warnings? in .+ files?/).flatten.
43
47
  map(&:to_i).inject(0){ |sum, value| sum += value }
44
48
  end
45
49
 
@@ -0,0 +1,61 @@
1
+ require 'colored'
2
+ ##
3
+ # Konacha Checker checks for konacha Errors in you Javascripttests
4
+ #
5
+ # @author dmasur
6
+ class KonachaChecker
7
+ ##
8
+ # Gives the Checkresult
9
+ #
10
+ # @return [Hash] Checkresult
11
+ # @author dmasur
12
+ def result
13
+ @shell_output = begin
14
+ `rake konacha:run`
15
+ rescue Errno::ENOENT
16
+ "Konacha not found"
17
+ end
18
+ { type: :konacha, check_output: output, status: status }
19
+ end
20
+
21
+ private
22
+
23
+ ##
24
+ # Gives the Check Status
25
+ #
26
+ # @return [String] Checkstatus
27
+ # @author dmasur
28
+ def status
29
+ @violations = violation_count
30
+ if @violations > 0
31
+ print_violations
32
+ elsif @violations == 0
33
+ 'OK'.green
34
+ else
35
+ 'N/A'
36
+ end
37
+ end
38
+
39
+ def output
40
+ violation_count > 0 ? @shell_output : ''
41
+ end
42
+
43
+ def violation_count
44
+ @violations ||= @shell_output.scan(/(\d*) examples, (\d*) failures?/).flatten.last.to_i
45
+ end
46
+
47
+ def print_violations
48
+ color_violations
49
+ "#{@violations} Javascript Errors"
50
+ end
51
+ ##
52
+ # Color Code Validation Count
53
+ #
54
+ # @return [String] Colored Validation Count
55
+ # @author dmasur
56
+ def color_violations
57
+ color = :red
58
+ color = :yellow if @violations.between?(1, 9)
59
+ @violations = @violations.to_s.send color
60
+ end
61
+ end
@@ -7,6 +7,7 @@ require 'rake_check/cane_checker'
7
7
  require 'rake_check/cucumber_checker'
8
8
  require 'rake_check/brakeman_checker'
9
9
  require 'rake_check/coffee_lint_checker'
10
+ require 'rake_check/konacha_checker'
10
11
  ##
11
12
  # Do exakt what it is called
12
13
  #
@@ -50,23 +51,25 @@ end
50
51
  desc "Check all Metric tools"
51
52
  task :check do
52
53
  results ||= []
53
- puts "[1/8] Testing Cucumber ..."
54
+ puts "[1/9] Testing Cucumber ..."
54
55
  results << CucumberChecker.new.result
55
- puts "[2/8] Testing RSpec ..."
56
+ puts "[2/9] Testing RSpec ..."
56
57
  Dir["spec*"].each do |spec_dir|
57
58
  results << RspecChecker.new.result(spec_dir)
58
59
  end
59
- puts "[3/8] Testing Rails Best Practices ..."
60
+ puts "[3/9] Testing Rails Best Practices ..."
60
61
  results << RbpChecker.new.result
61
- puts "[4/8] Testing Yard ..."
62
+ puts "[4/9] Testing Yard ..."
62
63
  results << YardChecker.new.result
63
- puts "[5/8] Testing Reek ..."
64
+ puts "[5/9] Testing Reek ..."
64
65
  results << ReekChecker.new.result
65
- puts "[6/8] Testing Cane ..."
66
+ puts "[6/9] Testing Cane ..."
66
67
  results << CaneChecker.new.result
67
- puts "[7/8] Testing Brakeman ..."
68
+ puts "[7/9] Testing Brakeman ..."
68
69
  results << BrakemanChecker.new.result
69
- puts "[8/8] Testing CoffeLint ..."
70
+ puts "[8/9] Testing CoffeLint ..."
70
71
  results << CoffeeLintChecker.new.result
72
+ puts "[9/9] Testing Konacha ..."
73
+ results << KonachaChecker.new.result
71
74
  print_check_result results
72
75
  end
@@ -3,5 +3,5 @@ module RakeCheck
3
3
  # The Version Constant
4
4
  #
5
5
  # @author dmasur
6
- VERSION = "0.2.2"
6
+ VERSION = "0.3.0"
7
7
  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.2.2
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-07-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70182320471720 !ruby/object:Gem::Requirement
16
+ requirement: &70184417362800 !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: *70182320471720
24
+ version_requirements: *70184417362800
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: colored
27
- requirement: &70182320489080 !ruby/object:Gem::Requirement
27
+ requirement: &70184417380400 !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: *70182320489080
35
+ version_requirements: *70184417380400
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &70182320487060 !ruby/object:Gem::Requirement
38
+ requirement: &70184417378080 !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: *70182320487060
46
+ version_requirements: *70184417378080
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: reek
49
- requirement: &70182320483640 !ruby/object:Gem::Requirement
49
+ requirement: &70184417375100 !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: *70182320483640
57
+ version_requirements: *70184417375100
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: cane
60
- requirement: &70182320503320 !ruby/object:Gem::Requirement
60
+ requirement: &70184417395000 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70182320503320
68
+ version_requirements: *70184417395000
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: cucumber
71
- requirement: &70182320500720 !ruby/object:Gem::Requirement
71
+ requirement: &70184417390940 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *70182320500720
79
+ version_requirements: *70184417390940
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: brakeman
82
- requirement: &70182320497500 !ruby/object:Gem::Requirement
82
+ requirement: &70184417389240 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: '0'
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *70182320497500
90
+ version_requirements: *70184417389240
91
91
  description: Checking the Project for Code Smells and bad documentation
92
92
  email:
93
93
  - dominik.masur@googlemail.com
@@ -110,6 +110,7 @@ files:
110
110
  - lib/rake_check/cane_checker.rb
111
111
  - lib/rake_check/coffee_lint_checker.rb
112
112
  - lib/rake_check/cucumber_checker.rb
113
+ - lib/rake_check/konacha_checker.rb
113
114
  - lib/rake_check/rbp_checker.rb
114
115
  - lib/rake_check/reek_checker.rb
115
116
  - lib/rake_check/rspec_checker.rb
@@ -144,7 +145,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
144
145
  version: '0'
145
146
  segments:
146
147
  - 0
147
- hash: 3312158330341215036
148
+ hash: -2624268959899313887
148
149
  required_rubygems_version: !ruby/object:Gem::Requirement
149
150
  none: false
150
151
  requirements:
@@ -153,7 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
154
  version: '0'
154
155
  segments:
155
156
  - 0
156
- hash: 3312158330341215036
157
+ hash: -2624268959899313887
157
158
  requirements: []
158
159
  rubyforge_project:
159
160
  rubygems_version: 1.8.10