rake_check 0.0.1 → 0.1.0
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/.travis.yml +2 -1
- data/lib/rake_check/reek_checker.rb +30 -4
- data/lib/rake_check/version.rb +1 -1
- data/spec/lib/rake_check/reek_checker_spec.rb +4 -1
- data/spec/spec_helper.rb +0 -6
- metadata +19 -19
data/.travis.yml
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
require 'colored'
|
2
|
+
require 'yaml'
|
3
|
+
require 'reek'
|
2
4
|
##
|
3
5
|
# ReekChecker checks the Output of reek for Code Smells
|
4
6
|
#
|
@@ -17,6 +19,7 @@ class ReekChecker
|
|
17
19
|
end
|
18
20
|
|
19
21
|
private
|
22
|
+
##
|
20
23
|
# Gives the Check Status
|
21
24
|
#
|
22
25
|
# @return [String] Checkstatus
|
@@ -27,21 +30,44 @@ class ReekChecker
|
|
27
30
|
elsif not @shell_output.include? '---'
|
28
31
|
'N/A'.red
|
29
32
|
else
|
30
|
-
error_count =
|
33
|
+
error_count = parsed_output.count
|
31
34
|
"#{error_count} Codesmell".yellow
|
32
35
|
end
|
33
36
|
end
|
34
37
|
|
38
|
+
##
|
39
|
+
# Parse the Output through YAML
|
40
|
+
#
|
41
|
+
# @return [Array] SmellWarnings
|
42
|
+
# @author dmasur
|
43
|
+
def parsed_output
|
44
|
+
YAML::load(@shell_output)
|
45
|
+
end
|
46
|
+
|
47
|
+
##
|
48
|
+
# Format the SmellWarning for printing
|
49
|
+
#
|
50
|
+
# @return [String] Formated SmellWarning
|
51
|
+
# @author dmasur
|
52
|
+
def self.format_smell smell_warning
|
53
|
+
location = smell_warning.location
|
54
|
+
output = "#{smell_warning.smell["subclass"]}: "
|
55
|
+
output += "#{location["context"]}@#{location["lines"].join(", ")}"
|
56
|
+
return output
|
57
|
+
end
|
58
|
+
|
35
59
|
##
|
36
60
|
# Gives the check output
|
37
61
|
#
|
38
62
|
# @return [String] Output
|
39
63
|
# @author dmasur
|
40
64
|
def output
|
41
|
-
|
42
|
-
|
65
|
+
if @shell_output.include? '---'
|
66
|
+
parsed_output.map do |smell|
|
67
|
+
ReekChecker.format_smell smell
|
68
|
+
end.join("\n")
|
43
69
|
else
|
44
|
-
|
70
|
+
@shell_output
|
45
71
|
end
|
46
72
|
end
|
47
73
|
end
|
data/lib/rake_check/version.rb
CHANGED
@@ -13,6 +13,9 @@ describe ReekChecker do
|
|
13
13
|
shell_output = File.read(File.expand_path(File.dirname(__FILE__) +
|
14
14
|
'/../../files/reek_output.yaml'))
|
15
15
|
subject.stub('`' => shell_output)
|
16
|
-
|
16
|
+
check_output = "DuplicateMethodCall: ReekChecker#status@19, 20, 21, 22, 23\n"
|
17
|
+
check_output += "TooManyStatements: ReekChecker#status@17"
|
18
|
+
subject.result.should == { type: :reek,
|
19
|
+
check_output: check_output, status: "\e[33m2 Codesmell\e[0m" }
|
17
20
|
end
|
18
21
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,9 +1,3 @@
|
|
1
|
-
# This file was generated by the `rspec --init` command. Conventionally, all
|
2
|
-
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
3
|
-
# Require this file using `require "spec_helper.rb"` to ensure that it is only
|
4
|
-
# loaded once.
|
5
|
-
#
|
6
|
-
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
7
1
|
RSpec.configure do |config|
|
8
2
|
config.treat_symbols_as_metadata_keys_with_true_values = true
|
9
3
|
config.run_all_when_everything_filtered = true
|
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.0
|
4
|
+
version: 0.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-05-02 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &70195768050000 !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: *
|
24
|
+
version_requirements: *70195768050000
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: colored
|
27
|
-
requirement: &
|
27
|
+
requirement: &70195768049400 !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: *
|
35
|
+
version_requirements: *70195768049400
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &70195768048880 !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: *
|
46
|
+
version_requirements: *70195768048880
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: reek
|
49
|
-
requirement: &
|
49
|
+
requirement: &70195768048380 !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: *
|
57
|
+
version_requirements: *70195768048380
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: yard
|
60
|
-
requirement: &
|
60
|
+
requirement: &70195768047900 !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: *
|
68
|
+
version_requirements: *70195768047900
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rails_best_practices
|
71
|
-
requirement: &
|
71
|
+
requirement: &70195768063760 !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: *
|
79
|
+
version_requirements: *70195768063760
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: cane
|
82
|
-
requirement: &
|
82
|
+
requirement: &70195768063240 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70195768063240
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: redcarpet
|
93
|
-
requirement: &
|
93
|
+
requirement: &70195768062740 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,7 +98,7 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :runtime
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70195768062740
|
102
102
|
description: Checking the Project for Code Smells and bad documentation
|
103
103
|
email:
|
104
104
|
- dominik.masur@googlemail.com
|
@@ -145,7 +145,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
145
145
|
version: '0'
|
146
146
|
segments:
|
147
147
|
- 0
|
148
|
-
hash:
|
148
|
+
hash: 4254309684851123485
|
149
149
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
150
150
|
none: false
|
151
151
|
requirements:
|
@@ -154,7 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
154
154
|
version: '0'
|
155
155
|
segments:
|
156
156
|
- 0
|
157
|
-
hash:
|
157
|
+
hash: 4254309684851123485
|
158
158
|
requirements: []
|
159
159
|
rubyforge_project:
|
160
160
|
rubygems_version: 1.8.10
|