reek 1.3.2 → 1.3.3
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.
- 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
|