reek 1.3.2 → 1.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +5 -0
- data/features/command_line_interface/smells_count.feature +50 -0
- data/features/configuration_files/masking_smells.feature +0 -10
- data/features/reports/reports.feature +6 -4
- data/features/ruby_api/api.feature +0 -1
- data/features/samples.feature +0 -3
- data/lib/reek/cli/application.rb +7 -0
- data/lib/reek/cli/reek_command.rb +5 -3
- data/lib/reek/version.rb +1 -1
- data/reek.gemspec +1 -1
- data/spec/reek/cli/help_command_spec.rb +1 -1
- data/spec/reek/cli/reek_command_spec.rb +1 -1
- data/spec/reek/cli/version_command_spec.rb +1 -1
- data/spec/reek/cli/yaml_command_spec.rb +2 -2
- data/spec/reek/core/code_context_spec.rb +5 -5
- data/spec/reek/core/method_context_spec.rb +1 -1
- data/spec/reek/smells/smell_detector_shared.rb +1 -1
- data/spec/reek/smells/too_many_statements_spec.rb +1 -1
- data/spec/reek/source/source_code_spec.rb +1 -1
- data/spec/reek/spec/should_reek_only_of_spec.rb +1 -1
- metadata +139 -132
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 35357c69cff741c516e6859a55939a19fa860cd5
|
4
|
+
data.tar.gz: d51ca3ff8ae7661304f767e30177b45555789ed9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 47cf34fb7015f78bf8667e16c932068e4eba33b14d12a51c08a34ffd45a2bd4781bbed6f57fcb27e9c2b55a179851873baf4f46ec63cede7041015b4e6999fe3
|
7
|
+
data.tar.gz: 73820da254c9c7f50aa6408442dd0cc04489713d37bc4d44f8d4b8cca1b576a5b00fc37804ef5ecdf702d94be1b729a323adabc31edd23d87744043f3b7c5263
|
data/CHANGELOG
CHANGED
@@ -0,0 +1,50 @@
|
|
1
|
+
@smells_count
|
2
|
+
Feature: Reports total number of code smells
|
3
|
+
In order to monitor the total number of smells
|
4
|
+
Reek outputs the total number of smells among all files inspected.
|
5
|
+
|
6
|
+
Scenario: Does not output total number of smells when inspecting single file
|
7
|
+
When I run reek spec/samples/not_quite_masked/dirty.rb
|
8
|
+
Then the exit status indicates smells
|
9
|
+
And it reports:
|
10
|
+
"""
|
11
|
+
spec/samples/not_quite_masked/dirty.rb -- 5 warnings:
|
12
|
+
Dirty has the variable name '@s' (UncommunicativeVariableName)
|
13
|
+
Dirty#a calls @s.title twice (DuplicateMethodCall)
|
14
|
+
Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
|
15
|
+
Dirty#a contains iterators nested 2 deep (NestedIterators)
|
16
|
+
Dirty#a has the name 'a' (UncommunicativeMethodName)
|
17
|
+
"""
|
18
|
+
|
19
|
+
Scenario: Output total number of smells when inspecting multiple files
|
20
|
+
When I run reek spec/samples/two_smelly_files
|
21
|
+
Then the exit status indicates smells
|
22
|
+
And it reports:
|
23
|
+
"""
|
24
|
+
spec/samples/two_smelly_files/dirty_one.rb -- 6 warnings:
|
25
|
+
Dirty has the variable name '@s' (UncommunicativeVariableName)
|
26
|
+
Dirty#a calls @s.title twice (DuplicateMethodCall)
|
27
|
+
Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
|
28
|
+
Dirty#a contains iterators nested 2 deep (NestedIterators)
|
29
|
+
Dirty#a has the name 'a' (UncommunicativeMethodName)
|
30
|
+
Dirty#a has the variable name 'x' (UncommunicativeVariableName)
|
31
|
+
spec/samples/two_smelly_files/dirty_two.rb -- 6 warnings:
|
32
|
+
Dirty has the variable name '@s' (UncommunicativeVariableName)
|
33
|
+
Dirty#a calls @s.title twice (DuplicateMethodCall)
|
34
|
+
Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
|
35
|
+
Dirty#a contains iterators nested 2 deep (NestedIterators)
|
36
|
+
Dirty#a has the name 'a' (UncommunicativeMethodName)
|
37
|
+
Dirty#a has the variable name 'x' (UncommunicativeVariableName)
|
38
|
+
12 total warnings
|
39
|
+
"""
|
40
|
+
|
41
|
+
Scenario: Output total number of smells even if total equals 0
|
42
|
+
When I run reek spec/samples/three_clean_files
|
43
|
+
Then it succeeds
|
44
|
+
And it reports:
|
45
|
+
"""
|
46
|
+
spec/samples/three_clean_files/clean_one.rb -- 0 warnings
|
47
|
+
spec/samples/three_clean_files/clean_three.rb -- 0 warnings
|
48
|
+
spec/samples/three_clean_files/clean_two.rb -- 0 warnings
|
49
|
+
0 total warnings
|
50
|
+
"""
|
@@ -16,7 +16,6 @@ Feature: Masking smells using config files
|
|
16
16
|
Dirty#a contains iterators nested 2 deep (NestedIterators)
|
17
17
|
Dirty#a has the name 'a' (UncommunicativeMethodName)
|
18
18
|
Dirty#a has the variable name 'x' (UncommunicativeVariableName)
|
19
|
-
|
20
19
|
"""
|
21
20
|
|
22
21
|
Scenario: corrupt config file prevents normal output
|
@@ -32,7 +31,6 @@ Feature: Masking smells using config files
|
|
32
31
|
Dirty#a contains iterators nested 2 deep (NestedIterators)
|
33
32
|
Dirty#a has the name 'a' (UncommunicativeMethodName)
|
34
33
|
Dirty#a has the variable name 'x' (UncommunicativeVariableName)
|
35
|
-
|
36
34
|
"""
|
37
35
|
And it reports an error
|
38
36
|
|
@@ -45,7 +43,6 @@ Feature: Masking smells using config files
|
|
45
43
|
Dirty#a calls @s.title twice (DuplicateMethodCall)
|
46
44
|
Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
|
47
45
|
Dirty#a contains iterators nested 2 deep (NestedIterators)
|
48
|
-
|
49
46
|
"""
|
50
47
|
And it reports the error "Error: No such file - no_such_file.rb"
|
51
48
|
|
@@ -58,7 +55,6 @@ Feature: Masking smells using config files
|
|
58
55
|
Dirty#a calls @s.title twice (DuplicateMethodCall)
|
59
56
|
Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
|
60
57
|
Dirty#a contains iterators nested 2 deep (NestedIterators)
|
61
|
-
|
62
58
|
"""
|
63
59
|
|
64
60
|
Scenario: non-masked smells are only counted once
|
@@ -72,7 +68,6 @@ Feature: Masking smells using config files
|
|
72
68
|
Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
|
73
69
|
Dirty#a contains iterators nested 2 deep (NestedIterators)
|
74
70
|
Dirty#a has the name 'a' (UncommunicativeMethodName)
|
75
|
-
|
76
71
|
"""
|
77
72
|
|
78
73
|
@overrides
|
@@ -84,7 +79,6 @@ Feature: Masking smells using config files
|
|
84
79
|
spec/samples/overrides/masked/dirty.rb -- 2 warnings:
|
85
80
|
Dirty#a calls @s.title twice (DuplicateMethodCall)
|
86
81
|
Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
|
87
|
-
|
88
82
|
"""
|
89
83
|
|
90
84
|
Scenario: allow masking some calls for duplication smell
|
@@ -95,7 +89,6 @@ Feature: Masking smells using config files
|
|
95
89
|
spec/samples/mask_some/dirty.rb -- 2 warnings:
|
96
90
|
Dirty#a calls @s.title twice (DuplicateMethodCall)
|
97
91
|
Dirty#a contains iterators nested 2 deep (NestedIterators)
|
98
|
-
|
99
92
|
"""
|
100
93
|
|
101
94
|
@comments
|
@@ -106,7 +99,6 @@ Feature: Masking smells using config files
|
|
106
99
|
"""
|
107
100
|
spec/samples/inline_config/dirty.rb -- 1 warning:
|
108
101
|
Dirty#a calls @s.title twice (DuplicateMethodCall)
|
109
|
-
|
110
102
|
"""
|
111
103
|
|
112
104
|
Scenario: supports a config file
|
@@ -116,7 +108,6 @@ Feature: Masking smells using config files
|
|
116
108
|
"""
|
117
109
|
spec/samples/masked/dirty.rb -- 1 warning:
|
118
110
|
Dirty#a contains iterators nested 2 deep (NestedIterators)
|
119
|
-
|
120
111
|
"""
|
121
112
|
|
122
113
|
Scenario: supports multiple config files
|
@@ -125,5 +116,4 @@ Feature: Masking smells using config files
|
|
125
116
|
And it reports:
|
126
117
|
"""
|
127
118
|
spec/samples/masked/dirty.rb -- 0 warnings
|
128
|
-
|
129
119
|
"""
|
@@ -23,7 +23,7 @@ Feature: Correctly formatted reports
|
|
23
23
|
Dirty#a contains iterators nested 2 deep (NestedIterators)
|
24
24
|
Dirty#a has the name 'a' (UncommunicativeMethodName)
|
25
25
|
Dirty#a has the variable name 'x' (UncommunicativeVariableName)
|
26
|
-
|
26
|
+
12 total warnings
|
27
27
|
"""
|
28
28
|
|
29
29
|
Examples:
|
@@ -39,7 +39,7 @@ Feature: Correctly formatted reports
|
|
39
39
|
spec/samples/three_clean_files/clean_one.rb -- 0 warnings
|
40
40
|
spec/samples/three_clean_files/clean_three.rb -- 0 warnings
|
41
41
|
spec/samples/three_clean_files/clean_two.rb -- 0 warnings
|
42
|
-
|
42
|
+
0 total warnings
|
43
43
|
"""
|
44
44
|
|
45
45
|
Examples:
|
@@ -50,7 +50,10 @@ Feature: Correctly formatted reports
|
|
50
50
|
Scenario Outline: --quiet turns off headers for fragrant files
|
51
51
|
When I run reek <option> spec/samples/three_clean_files/*.rb
|
52
52
|
Then it succeeds
|
53
|
-
And
|
53
|
+
And it reports:
|
54
|
+
"""
|
55
|
+
0 total warnings
|
56
|
+
"""
|
54
57
|
|
55
58
|
Examples:
|
56
59
|
| option |
|
@@ -70,7 +73,6 @@ Feature: Correctly formatted reports
|
|
70
73
|
[6, 8]:Dirty#a calls puts(@s.title) twice (DuplicateMethodCall)
|
71
74
|
[7]:Dirty#a contains iterators nested 2 deep (NestedIterators)
|
72
75
|
[5]:Dirty#a has the name 'a' (UncommunicativeMethodName)
|
73
|
-
|
74
76
|
"""
|
75
77
|
|
76
78
|
Examples:
|
data/features/samples.feature
CHANGED
@@ -51,7 +51,6 @@ Feature: Basic smell detection
|
|
51
51
|
Module#inline calls Inline.const_get(lang) twice (DuplicateMethodCall)
|
52
52
|
Module#inline has approx 11 statements (TooManyStatements)
|
53
53
|
Module#inline is controlled by argument options (ControlParameter)
|
54
|
-
|
55
54
|
"""
|
56
55
|
|
57
56
|
Scenario: Correct smells from optparse.rb
|
@@ -169,7 +168,6 @@ Feature: Basic smell detection
|
|
169
168
|
OptionParser::Switch::OptionalArgument#parse is controlled by argument arg (ControlParameter)
|
170
169
|
OptionParser::Switch::PlacedArgument#parse has approx 6 statements (TooManyStatements)
|
171
170
|
OptionParser::Switch::RequiredArgument#parse is controlled by argument arg (ControlParameter)
|
172
|
-
|
173
171
|
"""
|
174
172
|
|
175
173
|
Scenario: Correct smells from redcloth.rb
|
@@ -279,5 +277,4 @@ Feature: Basic smell detection
|
|
279
277
|
RedCloth#textile_popup_help has the parameter name 'windowH' (UncommunicativeParameterName)
|
280
278
|
RedCloth#textile_popup_help has the parameter name 'windowW' (UncommunicativeParameterName)
|
281
279
|
RedCloth#to_html has approx 24 statements (TooManyStatements)
|
282
|
-
|
283
280
|
"""
|
data/lib/reek/cli/application.rb
CHANGED
@@ -41,6 +41,13 @@ module Reek
|
|
41
41
|
def report_smells
|
42
42
|
@status = STATUS_SMELLS
|
43
43
|
end
|
44
|
+
|
45
|
+
def output_smells_total(total_smells_count)
|
46
|
+
total_smells_message = "#{total_smells_count} total warning"
|
47
|
+
total_smells_message += 's' unless total_smells_count == 1
|
48
|
+
total_smells_message += "\n"
|
49
|
+
output total_smells_message
|
50
|
+
end
|
44
51
|
end
|
45
52
|
end
|
46
53
|
end
|
@@ -19,17 +19,19 @@ module Reek
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def execute(view)
|
22
|
-
|
22
|
+
total_smells_count = 0
|
23
23
|
@sources.each do |source|
|
24
24
|
examiner = Examiner.new(source, @config_files)
|
25
|
-
|
25
|
+
total_smells_count += examiner.smells_count
|
26
26
|
view.output @reporter.report(examiner)
|
27
27
|
end
|
28
|
-
if
|
28
|
+
if total_smells_count > 0
|
29
29
|
view.report_smells
|
30
30
|
else
|
31
31
|
view.report_success
|
32
32
|
end
|
33
|
+
|
34
|
+
view.output_smells_total(total_smells_count) if @sources.count > 1
|
33
35
|
end
|
34
36
|
end
|
35
37
|
end
|
data/lib/reek/version.rb
CHANGED
data/reek.gemspec
CHANGED
@@ -26,7 +26,7 @@ and reports any code smells it finds.
|
|
26
26
|
s.rubygems_version = %q{1.3.6}
|
27
27
|
s.summary = %q{Code smell detector for Ruby}
|
28
28
|
|
29
|
-
s.add_runtime_dependency(%q<ruby_parser>, ["
|
29
|
+
s.add_runtime_dependency(%q<ruby_parser>, [">= 3.1.1", "~> 3.1"])
|
30
30
|
s.add_runtime_dependency(%q<sexp_processor>)
|
31
31
|
s.add_runtime_dependency(%q<ruby2ruby>, ["~> 2.0.2"])
|
32
32
|
|
@@ -10,10 +10,10 @@ describe CodeContext do
|
|
10
10
|
before :each do
|
11
11
|
@exp_name = 'random_name' # SMELL: could use a String.random here
|
12
12
|
@full_name = "::::::::::::::::::::#{@exp_name}"
|
13
|
-
@exp =
|
14
|
-
@exp.
|
15
|
-
@exp.
|
16
|
-
@exp.
|
13
|
+
@exp = double('exp')
|
14
|
+
allow(@exp).to receive(:name).and_return(@exp_name)
|
15
|
+
allow(@exp).to receive(:full_name).and_return(@full_name)
|
16
|
+
allow(@exp).to receive(:comments).and_return('')
|
17
17
|
@ctx = CodeContext.new(nil, @exp)
|
18
18
|
end
|
19
19
|
it 'gets its short name from the exp' do
|
@@ -35,7 +35,7 @@ describe CodeContext do
|
|
35
35
|
context 'when there is an outer' do
|
36
36
|
before :each do
|
37
37
|
@outer_name = 'another_random sting'
|
38
|
-
outer =
|
38
|
+
outer = double('outer')
|
39
39
|
outer.should_receive(:full_name).at_least(:once).and_return(@outer_name)
|
40
40
|
outer.should_receive(:config).and_return({})
|
41
41
|
@ctx = CodeContext.new(outer, @exp)
|
@@ -6,7 +6,7 @@ include Reek::Core
|
|
6
6
|
|
7
7
|
describe MethodContext, 'matching' do
|
8
8
|
before :each do
|
9
|
-
exp =
|
9
|
+
exp = double('exp').as_null_object
|
10
10
|
exp.should_receive(:full_name).at_least(:once).and_return('mod')
|
11
11
|
@element = MethodContext.new(StopContext.new, exp)
|
12
12
|
end
|
@@ -6,7 +6,7 @@ include Reek::Core
|
|
6
6
|
shared_examples_for 'SmellDetector' do
|
7
7
|
context 'exception matching follows the context' do
|
8
8
|
before :each do
|
9
|
-
@ctx =
|
9
|
+
@ctx = double('context')
|
10
10
|
# @ctx.should_receive(:exp).and_return(nil)
|
11
11
|
@ctx.should_receive(:config).and_return({})
|
12
12
|
end
|
@@ -230,7 +230,7 @@ describe TooManyStatements do
|
|
230
230
|
context 'when the method has 30 statements' do
|
231
231
|
before :each do
|
232
232
|
@num_statements = 30
|
233
|
-
ctx =
|
233
|
+
ctx = double('method_context').as_null_object
|
234
234
|
ctx.should_receive(:num_statements).and_return(@num_statements)
|
235
235
|
ctx.should_receive(:config).and_return({})
|
236
236
|
@smells = @detector.examine_context(ctx)
|
@@ -9,7 +9,7 @@ describe SourceCode do
|
|
9
9
|
before :each do
|
10
10
|
@catcher = StringIO.new
|
11
11
|
@old_err_io = (SourceCode.err_io = @catcher)
|
12
|
-
parser =
|
12
|
+
parser = double('parser')
|
13
13
|
@error_message = 'Error message'
|
14
14
|
parser.should_receive(:parse).and_raise(SyntaxError.new(@error_message))
|
15
15
|
@source_name = 'Test source'
|
@@ -9,7 +9,7 @@ describe ShouldReekOnlyOf do
|
|
9
9
|
@expected_smell_class = :NestedIterators
|
10
10
|
@expected_context_name = 'SmellyClass#big_method'
|
11
11
|
@matcher = ShouldReekOnlyOf.new(@expected_smell_class, [/#{@expected_context_name}/])
|
12
|
-
@examiner =
|
12
|
+
@examiner = double('examiner').as_null_object
|
13
13
|
@examiner.should_receive(:smells).and_return {smells}
|
14
14
|
@match = @matcher.matches_examiner?(@examiner)
|
15
15
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reek
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Rutherford
|
@@ -10,22 +10,28 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-08-
|
13
|
+
date: 2013-08-27 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: ruby_parser
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: 3.1.1
|
22
|
+
- - ~>
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: '3.1'
|
22
25
|
type: :runtime
|
23
26
|
prerelease: false
|
24
27
|
version_requirements: !ruby/object:Gem::Requirement
|
25
28
|
requirements:
|
26
|
-
- -
|
29
|
+
- - '>='
|
27
30
|
- !ruby/object:Gem::Version
|
28
31
|
version: 3.1.1
|
32
|
+
- - ~>
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '3.1'
|
29
35
|
- !ruby/object:Gem::Dependency
|
30
36
|
name: sexp_processor
|
31
37
|
requirement: !ruby/object:Gem::Requirement
|
@@ -157,179 +163,180 @@ files:
|
|
157
163
|
- Rakefile
|
158
164
|
- bin/reek
|
159
165
|
- config/defaults.reek
|
166
|
+
- features/ruby_api/api.feature
|
167
|
+
- features/command_line_interface/smells_count.feature
|
168
|
+
- features/command_line_interface/stdin.feature
|
169
|
+
- features/command_line_interface/options.feature
|
170
|
+
- features/step_definitions/reek_steps.rb
|
160
171
|
- features/support/env.rb
|
161
|
-
- features/configuration_files/masking_smells.feature
|
162
172
|
- features/samples.feature
|
163
|
-
- features/reports/yaml.feature
|
164
173
|
- features/reports/reports.feature
|
165
|
-
- features/
|
166
|
-
- features/
|
167
|
-
- features/step_definitions/reek_steps.rb
|
174
|
+
- features/reports/yaml.feature
|
175
|
+
- features/configuration_files/masking_smells.feature
|
168
176
|
- features/rake_task/rake_task.feature
|
169
|
-
-
|
177
|
+
- lib/reek.rb
|
178
|
+
- lib/reek/spec.rb
|
170
179
|
- lib/reek/spec/should_reek_of.rb
|
171
180
|
- lib/reek/spec/should_reek_only_of.rb
|
172
181
|
- lib/reek/spec/should_reek.rb
|
173
|
-
- lib/reek/source/source_code.rb
|
174
|
-
- lib/reek/source/code_comment.rb
|
175
|
-
- lib/reek/source/source_file.rb
|
176
|
-
- lib/reek/source/config_file.rb
|
177
|
-
- lib/reek/source/tree_dresser.rb
|
178
|
-
- lib/reek/source/source_locator.rb
|
179
|
-
- lib/reek/source/reference_collector.rb
|
180
|
-
- lib/reek/source/sexp_formatter.rb
|
181
|
-
- lib/reek/source/core_extras.rb
|
182
|
-
- lib/reek/source/source_repository.rb
|
183
|
-
- lib/reek/core/object_refs.rb
|
184
|
-
- lib/reek/core/module_context.rb
|
185
|
-
- lib/reek/core/smell_repository.rb
|
186
|
-
- lib/reek/core/warning_collector.rb
|
187
|
-
- lib/reek/core/method_context.rb
|
188
|
-
- lib/reek/core/code_parser.rb
|
189
|
-
- lib/reek/core/hash_extensions.rb
|
190
|
-
- lib/reek/core/stop_context.rb
|
191
|
-
- lib/reek/core/singleton_method_context.rb
|
192
|
-
- lib/reek/core/code_context.rb
|
193
|
-
- lib/reek/core/sniffer.rb
|
194
|
-
- lib/reek/core/smell_configuration.rb
|
195
|
-
- lib/reek/spec.rb
|
196
|
-
- lib/reek/source.rb
|
197
|
-
- lib/reek/examiner.rb
|
198
|
-
- lib/reek/rake/task.rb
|
199
|
-
- lib/reek/smells.rb
|
200
|
-
- lib/reek/version.rb
|
201
182
|
- lib/reek/cli/version_command.rb
|
202
183
|
- lib/reek/cli/application.rb
|
203
|
-
- lib/reek/cli/report.rb
|
204
|
-
- lib/reek/cli/reek_command.rb
|
205
|
-
- lib/reek/cli/yaml_command.rb
|
206
184
|
- lib/reek/cli/command_line.rb
|
185
|
+
- lib/reek/cli/yaml_command.rb
|
207
186
|
- lib/reek/cli/help_command.rb
|
208
|
-
- lib/reek/
|
187
|
+
- lib/reek/cli/report.rb
|
188
|
+
- lib/reek/cli/reek_command.rb
|
189
|
+
- lib/reek/examiner.rb
|
190
|
+
- lib/reek/rake/task.rb
|
191
|
+
- lib/reek/smell_warning.rb
|
192
|
+
- lib/reek/version.rb
|
193
|
+
- lib/reek/smells/boolean_parameter.rb
|
194
|
+
- lib/reek/smells/uncommunicative_parameter_name.rb
|
195
|
+
- lib/reek/smells/unused_parameters.rb
|
209
196
|
- lib/reek/smells/long_yield_list.rb
|
210
|
-
- lib/reek/smells/
|
197
|
+
- lib/reek/smells/attribute.rb
|
211
198
|
- lib/reek/smells/uncommunicative_method_name.rb
|
212
|
-
- lib/reek/smells/
|
199
|
+
- lib/reek/smells/repeated_conditional.rb
|
200
|
+
- lib/reek/smells/nil_check.rb
|
213
201
|
- lib/reek/smells/class_variable.rb
|
214
|
-
- lib/reek/smells/
|
202
|
+
- lib/reek/smells/long_parameter_list.rb
|
203
|
+
- lib/reek/smells/feature_envy.rb
|
204
|
+
- lib/reek/smells/irresponsible_module.rb
|
215
205
|
- lib/reek/smells/utility_function.rb
|
216
|
-
- lib/reek/smells/
|
206
|
+
- lib/reek/smells/data_clump.rb
|
217
207
|
- lib/reek/smells/too_many_methods.rb
|
218
|
-
- lib/reek/smells/
|
219
|
-
- lib/reek/smells/nil_check.rb
|
220
|
-
- lib/reek/smells/attribute.rb
|
208
|
+
- lib/reek/smells/uncommunicative_variable_name.rb
|
221
209
|
- lib/reek/smells/uncommunicative_module_name.rb
|
222
|
-
- lib/reek/smells/
|
223
|
-
- lib/reek/smells/
|
210
|
+
- lib/reek/smells/nested_iterators.rb
|
211
|
+
- lib/reek/smells/control_parameter.rb
|
212
|
+
- lib/reek/smells/too_many_instance_variables.rb
|
224
213
|
- lib/reek/smells/smell_detector.rb
|
225
|
-
- lib/reek/smells/feature_envy.rb
|
226
|
-
- lib/reek/smells/too_many_statements.rb
|
227
|
-
- lib/reek/smells/uncommunicative_variable_name.rb
|
228
|
-
- lib/reek/smells/unused_parameters.rb
|
229
214
|
- lib/reek/smells/duplicate_method_call.rb
|
230
|
-
- lib/reek/smells/
|
231
|
-
- lib/reek/
|
232
|
-
- lib/reek.rb
|
233
|
-
-
|
234
|
-
-
|
215
|
+
- lib/reek/smells/too_many_statements.rb
|
216
|
+
- lib/reek/smells.rb
|
217
|
+
- lib/reek/source/config_file.rb
|
218
|
+
- lib/reek/source/source_code.rb
|
219
|
+
- lib/reek/source/sexp_formatter.rb
|
220
|
+
- lib/reek/source/source_repository.rb
|
221
|
+
- lib/reek/source/reference_collector.rb
|
222
|
+
- lib/reek/source/core_extras.rb
|
223
|
+
- lib/reek/source/source_file.rb
|
224
|
+
- lib/reek/source/code_comment.rb
|
225
|
+
- lib/reek/source/source_locator.rb
|
226
|
+
- lib/reek/source/tree_dresser.rb
|
227
|
+
- lib/reek/source.rb
|
228
|
+
- lib/reek/core/smell_configuration.rb
|
229
|
+
- lib/reek/core/method_context.rb
|
230
|
+
- lib/reek/core/code_parser.rb
|
231
|
+
- lib/reek/core/module_context.rb
|
232
|
+
- lib/reek/core/stop_context.rb
|
233
|
+
- lib/reek/core/code_context.rb
|
234
|
+
- lib/reek/core/sniffer.rb
|
235
|
+
- lib/reek/core/hash_extensions.rb
|
236
|
+
- lib/reek/core/smell_repository.rb
|
237
|
+
- lib/reek/core/object_refs.rb
|
238
|
+
- lib/reek/core/singleton_method_context.rb
|
239
|
+
- lib/reek/core/warning_collector.rb
|
240
|
+
- spec/matchers/smell_of_matcher.rb
|
241
|
+
- spec/spec_helper.rb
|
235
242
|
- spec/reek/spec/should_reek_of_spec.rb
|
236
|
-
- spec/reek/spec/should_reek_only_of_spec.rb
|
237
243
|
- spec/reek/spec/should_reek_spec.rb
|
238
|
-
- spec/reek/
|
239
|
-
- spec/reek/source/reference_collector_spec.rb
|
240
|
-
- spec/reek/source/code_comment_spec.rb
|
241
|
-
- spec/reek/source/source_code_spec.rb
|
242
|
-
- spec/reek/source/sexp_formatter_spec.rb
|
243
|
-
- spec/reek/source/tree_dresser_spec.rb
|
244
|
-
- spec/reek/core/module_context_spec.rb
|
245
|
-
- spec/reek/core/singleton_method_context_spec.rb
|
246
|
-
- spec/reek/core/code_parser_spec.rb
|
247
|
-
- spec/reek/core/code_context_spec.rb
|
248
|
-
- spec/reek/core/warning_collector_spec.rb
|
249
|
-
- spec/reek/core/object_refs_spec.rb
|
250
|
-
- spec/reek/core/smell_configuration_spec.rb
|
251
|
-
- spec/reek/core/stop_context_spec.rb
|
252
|
-
- spec/reek/core/config_spec.rb
|
253
|
-
- spec/reek/core/method_context_spec.rb
|
254
|
-
- spec/reek/smell_warning_spec.rb
|
244
|
+
- spec/reek/spec/should_reek_only_of_spec.rb
|
255
245
|
- spec/reek/examiner_spec.rb
|
256
|
-
- spec/reek/cli/yaml_command_spec.rb
|
257
|
-
- spec/reek/cli/reek_command_spec.rb
|
258
246
|
- spec/reek/cli/help_command_spec.rb
|
247
|
+
- spec/reek/cli/reek_command_spec.rb
|
248
|
+
- spec/reek/cli/yaml_command_spec.rb
|
259
249
|
- spec/reek/cli/report_spec.rb
|
260
250
|
- spec/reek/cli/version_command_spec.rb
|
261
|
-
- spec/reek/smells/
|
262
|
-
- spec/reek/smells/
|
263
|
-
- spec/reek/smells/too_many_methods_spec.rb
|
264
|
-
- spec/reek/smells/too_many_statements_spec.rb
|
251
|
+
- spec/reek/smells/boolean_parameter_spec.rb
|
252
|
+
- spec/reek/smells/uncommunicative_method_name_spec.rb
|
265
253
|
- spec/reek/smells/uncommunicative_module_name_spec.rb
|
266
|
-
- spec/reek/smells/
|
267
|
-
- spec/reek/smells/long_parameter_list_spec.rb
|
268
|
-
- spec/reek/smells/control_parameter_spec.rb
|
269
|
-
- spec/reek/smells/behaves_like_variable_detector.rb
|
254
|
+
- spec/reek/smells/too_many_statements_spec.rb
|
270
255
|
- spec/reek/smells/class_variable_spec.rb
|
256
|
+
- spec/reek/smells/long_yield_list_spec.rb
|
257
|
+
- spec/reek/smells/control_parameter_spec.rb
|
258
|
+
- spec/reek/smells/unused_parameters_spec.rb
|
259
|
+
- spec/reek/smells/uncommunicative_parameter_name_spec.rb
|
260
|
+
- spec/reek/smells/long_parameter_list_spec.rb
|
271
261
|
- spec/reek/smells/attribute_spec.rb
|
272
|
-
- spec/reek/smells/uncommunicative_variable_name_spec.rb
|
273
262
|
- spec/reek/smells/data_clump_spec.rb
|
274
|
-
- spec/reek/smells/uncommunicative_parameter_name_spec.rb
|
275
263
|
- spec/reek/smells/feature_envy_spec.rb
|
276
264
|
- spec/reek/smells/smell_detector_shared.rb
|
277
|
-
- spec/reek/smells/
|
278
|
-
- spec/reek/smells/repeated_conditional_spec.rb
|
279
|
-
- spec/reek/smells/uncommunicative_method_name_spec.rb
|
265
|
+
- spec/reek/smells/utility_function_spec.rb
|
280
266
|
- spec/reek/smells/nested_iterators_spec.rb
|
281
|
-
- spec/reek/smells/long_yield_list_spec.rb
|
282
267
|
- spec/reek/smells/duplicate_method_call_spec.rb
|
283
|
-
- spec/reek/smells/boolean_parameter_spec.rb
|
284
268
|
- spec/reek/smells/too_many_instance_variables_spec.rb
|
285
|
-
- spec/
|
286
|
-
- spec/
|
287
|
-
- spec/
|
269
|
+
- spec/reek/smells/too_many_methods_spec.rb
|
270
|
+
- spec/reek/smells/behaves_like_variable_detector.rb
|
271
|
+
- spec/reek/smells/repeated_conditional_spec.rb
|
272
|
+
- spec/reek/smells/nil_check_spec.rb
|
273
|
+
- spec/reek/smells/irresponsible_module_spec.rb
|
274
|
+
- spec/reek/smells/uncommunicative_variable_name_spec.rb
|
275
|
+
- spec/reek/smell_warning_spec.rb
|
276
|
+
- spec/reek/source/reference_collector_spec.rb
|
277
|
+
- spec/reek/source/tree_dresser_spec.rb
|
278
|
+
- spec/reek/source/sexp_formatter_spec.rb
|
279
|
+
- spec/reek/source/code_comment_spec.rb
|
280
|
+
- spec/reek/source/object_source_spec.rb
|
281
|
+
- spec/reek/source/source_code_spec.rb
|
282
|
+
- spec/reek/core/object_refs_spec.rb
|
283
|
+
- spec/reek/core/warning_collector_spec.rb
|
284
|
+
- spec/reek/core/stop_context_spec.rb
|
285
|
+
- spec/reek/core/config_spec.rb
|
286
|
+
- spec/reek/core/code_parser_spec.rb
|
287
|
+
- spec/reek/core/smell_configuration_spec.rb
|
288
|
+
- spec/reek/core/module_context_spec.rb
|
289
|
+
- spec/reek/core/method_context_spec.rb
|
290
|
+
- spec/reek/core/code_context_spec.rb
|
291
|
+
- spec/reek/core/singleton_method_context_spec.rb
|
292
|
+
- spec/gem/updates_spec.rb
|
293
|
+
- spec/gem/yard_spec.rb
|
294
|
+
- spec/samples/three_clean_files/clean_one.rb
|
288
295
|
- spec/samples/three_clean_files/clean_two.rb
|
289
296
|
- spec/samples/three_clean_files/clean_three.rb
|
290
|
-
- spec/samples/
|
291
|
-
- spec/samples/
|
292
|
-
- spec/samples/
|
293
|
-
- spec/samples/clean_due_to_masking/clean_two.rb
|
294
|
-
- spec/samples/clean_due_to_masking/dirty_two.rb
|
295
|
-
- spec/samples/clean_due_to_masking/clean_three.rb
|
296
|
-
- spec/samples/clean_due_to_masking/clean_one.rb
|
297
|
-
- spec/samples/not_quite_masked/dirty.rb
|
298
|
-
- spec/samples/not_quite_masked/masked.reek
|
299
|
-
- spec/samples/not_quite_masked/smelly.rb
|
300
|
-
- spec/samples/optparse.rb
|
301
|
-
- spec/samples/all_but_one_masked/dirty.rb
|
302
|
-
- spec/samples/all_but_one_masked/masked.reek
|
303
|
-
- spec/samples/all_but_one_masked/clean_one.rb
|
304
|
-
- spec/samples/demo/demo.rb
|
305
|
-
- spec/samples/exceptions.reek
|
306
|
-
- spec/samples/masked_by_dotfile/dirty.rb
|
307
|
-
- spec/samples/inline.rb
|
308
|
-
- spec/samples/redcloth.rb
|
297
|
+
- spec/samples/config/allow_duplication.reek
|
298
|
+
- spec/samples/config/deeper_nested_iterators.reek
|
299
|
+
- spec/samples/overrides/upper.reek
|
309
300
|
- spec/samples/overrides/masked/dirty.rb
|
310
301
|
- spec/samples/overrides/masked/lower.reek
|
311
|
-
- spec/samples/
|
312
|
-
- spec/samples/
|
313
|
-
- spec/samples/
|
314
|
-
- spec/samples/masked
|
315
|
-
- spec/samples/
|
316
|
-
- spec/samples/config/deeper_nested_iterators.reek
|
317
|
-
- spec/samples/config/allow_duplication.reek
|
318
|
-
- spec/samples/corrupt_config_file/dirty.rb
|
302
|
+
- spec/samples/masked_by_dotfile/dirty.rb
|
303
|
+
- spec/samples/demo/demo.rb
|
304
|
+
- spec/samples/redcloth.rb
|
305
|
+
- spec/samples/inline_config/masked.reek
|
306
|
+
- spec/samples/inline_config/dirty.rb
|
319
307
|
- spec/samples/corrupt_config_file/corrupt.reek
|
308
|
+
- spec/samples/corrupt_config_file/dirty.rb
|
320
309
|
- spec/samples/empty_config_file/dirty.rb
|
321
310
|
- spec/samples/empty_config_file/empty.reek
|
311
|
+
- spec/samples/masked/masked.reek
|
312
|
+
- spec/samples/masked/dirty.rb
|
313
|
+
- spec/samples/all_but_one_masked/masked.reek
|
314
|
+
- spec/samples/all_but_one_masked/clean_one.rb
|
315
|
+
- spec/samples/all_but_one_masked/dirty.rb
|
316
|
+
- spec/samples/inline.rb
|
317
|
+
- spec/samples/mask_some/dirty.rb
|
318
|
+
- spec/samples/mask_some/some.reek
|
319
|
+
- spec/samples/not_quite_masked/masked.reek
|
320
|
+
- spec/samples/not_quite_masked/dirty.rb
|
321
|
+
- spec/samples/not_quite_masked/smelly.rb
|
322
|
+
- spec/samples/exceptions.reek
|
323
|
+
- spec/samples/mixed_results/dirty_two.rb
|
322
324
|
- spec/samples/mixed_results/dirty_one.rb
|
325
|
+
- spec/samples/mixed_results/clean_one.rb
|
323
326
|
- spec/samples/mixed_results/clean_two.rb
|
324
|
-
- spec/samples/mixed_results/dirty_two.rb
|
325
327
|
- spec/samples/mixed_results/clean_three.rb
|
326
|
-
- spec/samples/
|
327
|
-
- spec/samples/
|
328
|
-
- spec/samples/
|
329
|
-
- spec/
|
328
|
+
- spec/samples/clean_due_to_masking/dirty_two.rb
|
329
|
+
- spec/samples/clean_due_to_masking/masked.reek
|
330
|
+
- spec/samples/clean_due_to_masking/dirty_one.rb
|
331
|
+
- spec/samples/clean_due_to_masking/clean_one.rb
|
332
|
+
- spec/samples/clean_due_to_masking/clean_two.rb
|
333
|
+
- spec/samples/clean_due_to_masking/clean_three.rb
|
334
|
+
- spec/samples/optparse.rb
|
335
|
+
- spec/samples/two_smelly_files/dirty_two.rb
|
336
|
+
- spec/samples/two_smelly_files/dirty_one.rb
|
330
337
|
- tasks/test.rake
|
331
|
-
- tasks/develop.rake
|
332
338
|
- tasks/reek.rake
|
339
|
+
- tasks/develop.rake
|
333
340
|
- reek.gemspec
|
334
341
|
homepage: http://wiki.github.com/troessner/reek
|
335
342
|
licenses: []
|
@@ -352,7 +359,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
352
359
|
version: '0'
|
353
360
|
requirements: []
|
354
361
|
rubyforge_project: reek
|
355
|
-
rubygems_version: 2.0.
|
362
|
+
rubygems_version: 2.0.3
|
356
363
|
signing_key:
|
357
364
|
specification_version: 4
|
358
365
|
summary: Code smell detector for Ruby
|