rake_check 0.1.11 → 0.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 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