rake_check 0.1.11 → 0.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -9,4 +9,5 @@ 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
12
+ gem 'cucumber', :require => false
13
+ gem 'pry'
@@ -0,0 +1,64 @@
1
+ require 'colored'
2
+ ##
3
+ # CoffeeLint Checker looks for smells in your Coffeescript code
4
+ #
5
+ # @author dmasur
6
+ class CoffeeLintChecker
7
+ ##
8
+ # Gives the Checkresult
9
+ #
10
+ # @return [Hash] Checkresult
11
+ # @author dmasur
12
+ def result
13
+ @shell_output = begin
14
+ files = Dir["**/*.coffee"]
15
+ if files.empty?
16
+ ""
17
+ else
18
+ `coffeelint #{files.join(" ")}`
19
+ end
20
+ rescue Errno::ENOENT
21
+ "CoffeeLint not found"
22
+ end
23
+ { type: :coffeelint, check_output: @shell_output, status: status }
24
+ end
25
+
26
+ private
27
+
28
+ ##
29
+ # Gives the Check Status
30
+ #
31
+ # @return [String] Checkstatus
32
+ # @author dmasur
33
+ def status
34
+ return 'No CoffeeScript Files found' if @shell_output == ""
35
+ @violations = violation_count
36
+ if @violations > 0
37
+ print_violation
38
+ elsif @violations == 0
39
+ 'OK'.green
40
+ else
41
+ 'N/A'
42
+ end
43
+ end
44
+
45
+ def violation_count
46
+ @shell_output.scan(/(\d*) errors? and (\d*) warnings? in .+ files?/).flatten.
47
+ map(&:to_i).inject(0){ |sum, value| sum += value }
48
+ end
49
+
50
+ def print_violoations
51
+ color_violations
52
+ "#{@violations} Style Violations"
53
+ end
54
+ ##
55
+ # Color Code Validation Count
56
+ #
57
+ # @return [String] Colored Validation Count
58
+ # @author dmasur
59
+ def color_violations
60
+ color = :red
61
+ color = :yellow if @violations.between?(1, 9)
62
+ @violations = @violations.to_s.send color
63
+ end
64
+ end
@@ -20,34 +20,34 @@ class CucumberChecker
20
20
 
21
21
  private
22
22
 
23
- ##
24
- # Gives the Check Status
25
- #
26
- # @return [String] Checkstatus
27
- # @author dmasur
28
- def status
29
- if @shell_output.include? 'scenarios'
30
- regexp = /\d+ scenarios \((\d+) failed, \d+ passed\)/
31
- match_data = regexp.match(@shell_output)
32
- if match_data
33
- "#{match_data[1]} failed scenarios".red
34
- else
35
- "OK".green
36
- end
23
+ ##
24
+ # Gives the Check Status
25
+ #
26
+ # @return [String] Checkstatus
27
+ # @author dmasur
28
+ def status
29
+ if @shell_output.include? 'scenario'
30
+ regexp = /\d+ scenarios? \((\d+) failed, \d+ passed\)/
31
+ match_data = regexp.match(@shell_output)
32
+ if match_data
33
+ "#{match_data[1]} failed scenarios".red
37
34
  else
38
- 'N/A'
35
+ "OK".green
39
36
  end
37
+ else
38
+ 'N/A'
40
39
  end
40
+ end
41
41
 
42
- ##
43
- # Cucumber Output
44
- #
45
- # @author dmasur
46
- def output
47
- case status
48
- when "N/A" then ''
49
- when 'OK'.green then ''
50
- else @shell_output
51
- end
42
+ ##
43
+ # Cucumber Output
44
+ #
45
+ # @author dmasur
46
+ def output
47
+ case status
48
+ when "N/A" then ''
49
+ when 'OK'.green then ''
50
+ else @shell_output
52
51
  end
52
+ end
53
53
  end
@@ -6,6 +6,7 @@ require 'rake_check/yard_checker'
6
6
  require 'rake_check/cane_checker'
7
7
  require 'rake_check/cucumber_checker'
8
8
  require 'rake_check/brakeman_checker'
9
+ require 'rake_check/coffee_lint_checker'
9
10
  ##
10
11
  # Do exakt what it is called
11
12
  #
@@ -49,14 +50,23 @@ end
49
50
  desc "Check all Metric tools"
50
51
  task :check do
51
52
  results ||= []
53
+ puts "[1/8] Testing Cucumber ..."
52
54
  results << CucumberChecker.new.result
55
+ puts "[2/8] Testing RSpec ..."
53
56
  Dir["spec*"].each do |spec_dir|
54
57
  results << RspecChecker.new.result(spec_dir)
55
58
  end
59
+ puts "[3/8] Testing Rails Best Practices ..."
56
60
  results << RbpChecker.new.result
61
+ puts "[4/8] Testing Yard ..."
57
62
  results << YardChecker.new.result
63
+ puts "[5/8] Testing Reek ..."
58
64
  results << ReekChecker.new.result
65
+ puts "[6/8] Testing Cane ..."
59
66
  results << CaneChecker.new.result
67
+ puts "[7/8] Testing Brakeman ..."
60
68
  results << BrakemanChecker.new.result
69
+ puts "[8/8] Testing CoffeLint ..."
70
+ results << CoffeeLintChecker.new.result
61
71
  print_check_result results
62
72
  end
@@ -3,5 +3,5 @@ module RakeCheck
3
3
  # The Version Constant
4
4
  #
5
5
  # @author dmasur
6
- VERSION = "0.1.11"
6
+ VERSION = "0.2"
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.1.11
4
+ version: '0.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-06-27 00:00:00.000000000 Z
12
+ date: 2012-07-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70173332238860 !ruby/object:Gem::Requirement
16
+ requirement: &70250046191440 !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: *70173332238860
24
+ version_requirements: *70250046191440
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: colored
27
- requirement: &70173332256360 !ruby/object:Gem::Requirement
27
+ requirement: &70250046190480 !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: *70173332256360
35
+ version_requirements: *70250046190480
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &70173332254280 !ruby/object:Gem::Requirement
38
+ requirement: &70250046189760 !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: *70173332254280
46
+ version_requirements: *70250046189760
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: reek
49
- requirement: &70173332252020 !ruby/object:Gem::Requirement
49
+ requirement: &70250046188960 !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: *70173332252020
57
+ version_requirements: *70250046188960
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: cane
60
- requirement: &70173332250900 !ruby/object:Gem::Requirement
60
+ requirement: &70250046188480 !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: *70173332250900
68
+ version_requirements: *70250046188480
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: cucumber
71
- requirement: &70173332271060 !ruby/object:Gem::Requirement
71
+ requirement: &70250046187900 !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: *70173332271060
79
+ version_requirements: *70250046187900
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: brakeman
82
- requirement: &70173332268800 !ruby/object:Gem::Requirement
82
+ requirement: &70250046187020 !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: *70173332268800
90
+ version_requirements: *70250046187020
91
91
  description: Checking the Project for Code Smells and bad documentation
92
92
  email:
93
93
  - dominik.masur@googlemail.com
@@ -108,6 +108,7 @@ files:
108
108
  - lib/rake_check.rb
109
109
  - lib/rake_check/brakeman_checker.rb
110
110
  - lib/rake_check/cane_checker.rb
111
+ - lib/rake_check/coffee_lint_checker.rb
111
112
  - lib/rake_check/cucumber_checker.rb
112
113
  - lib/rake_check/rbp_checker.rb
113
114
  - lib/rake_check/reek_checker.rb
@@ -143,7 +144,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
143
144
  version: '0'
144
145
  segments:
145
146
  - 0
146
- hash: 4180142972084214426
147
+ hash: 1099975959558963648
147
148
  required_rubygems_version: !ruby/object:Gem::Requirement
148
149
  none: false
149
150
  requirements:
@@ -152,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
152
153
  version: '0'
153
154
  segments:
154
155
  - 0
155
- hash: 4180142972084214426
156
+ hash: 1099975959558963648
156
157
  requirements: []
157
158
  rubyforge_project:
158
159
  rubygems_version: 1.8.10