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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1a338252f57ae1f1a0a900faf8d0e90bde20545b
4
- data.tar.gz: b3a5757e5b1bd95b40981258c2b32ef356488004
3
+ metadata.gz: 35357c69cff741c516e6859a55939a19fa860cd5
4
+ data.tar.gz: d51ca3ff8ae7661304f767e30177b45555789ed9
5
5
  SHA512:
6
- metadata.gz: 79b07042b5798fb49fbeeaf3de39785345ddc6b7d9ce219a588f213136063be2e242f687ed70e1ac7cde9a378186f52899ad38b69ce6d704493cf22d183e524a
7
- data.tar.gz: e79e4e27c15f357b7cfbd6001e9ec0ceaec237c3ccfc896da902aea1825f561365a75c01ed194948460a222aadebc0de928f8a9b3e07e9d28bdd5565265da604
6
+ metadata.gz: 47cf34fb7015f78bf8667e16c932068e4eba33b14d12a51c08a34ffd45a2bd4781bbed6f57fcb27e9c2b55a179851873baf4f46ec63cede7041015b4e6999fe3
7
+ data.tar.gz: 73820da254c9c7f50aa6408442dd0cc04489713d37bc4d44f8d4b8cca1b576a5b00fc37804ef5ecdf702d94be1b729a323adabc31edd23d87744043f3b7c5263
data/CHANGELOG CHANGED
@@ -1,3 +1,8 @@
1
+ == 1.3.3
2
+
3
+ * (bf4) Loosen ruby_parser version dependency
4
+ * (gilles-leblanc) Added total warning count
5
+
1
6
  == 1.3.2
2
7
 
3
8
  * (mvz) Allow duplicate calls to variable-like methods
@@ -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 stdout equals ""
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:
@@ -20,5 +20,4 @@ Feature: The Reek API maintains backwards compatibility
20
20
  Dirty#awful has unused parameter 'offset' (UnusedParameters)
21
21
  Dirty#awful has unused parameter 'x' (UnusedParameters)
22
22
  Dirty#awful has unused parameter 'y' (UnusedParameters)
23
-
24
23
  """
@@ -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
  """
@@ -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
- had_smells = false
22
+ total_smells_count = 0
23
23
  @sources.each do |source|
24
24
  examiner = Examiner.new(source, @config_files)
25
- had_smells ||= examiner.smelly?
25
+ total_smells_count += examiner.smells_count
26
26
  view.output @reporter.report(examiner)
27
27
  end
28
- if had_smells
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
@@ -1,3 +1,3 @@
1
1
  module Reek
2
- VERSION = '1.3.2'
2
+ VERSION = '1.3.3'
3
3
  end
@@ -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>, ["~> 3.1.1"])
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
 
@@ -7,7 +7,7 @@ describe HelpCommand do
7
7
  before :each do
8
8
  @text = 'Piece of interesting text'
9
9
  @cmd = HelpCommand.new(@text)
10
- @view = mock('view').as_null_object
10
+ @view = double('view').as_null_object
11
11
  @view.should_not_receive(:report_smells)
12
12
  end
13
13
 
@@ -8,7 +8,7 @@ include Reek::Cli
8
8
 
9
9
  describe ReekCommand do
10
10
  before :each do
11
- @view = mock('view').as_null_object
11
+ @view = double('view').as_null_object
12
12
  end
13
13
 
14
14
  context 'with smells' do
@@ -8,7 +8,7 @@ describe VersionCommand do
8
8
  before :each do
9
9
  @text = 'Piece of interesting text'
10
10
  @cmd = VersionCommand.new(@text)
11
- @view = mock('view').as_null_object
11
+ @view = double('view').as_null_object
12
12
  @view.should_not_receive(:report_smells)
13
13
  end
14
14
 
@@ -6,8 +6,8 @@ include Reek::Cli
6
6
 
7
7
  describe YamlCommand do
8
8
  before :each do
9
- @view = mock('view').as_null_object
10
- @examiner = mock('examiner')
9
+ @view = double('view').as_null_object
10
+ @examiner = double('examiner')
11
11
  end
12
12
 
13
13
  context 'with no smells' do
@@ -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 = mock('exp')
14
- @exp.should_receive(:name).any_number_of_times.and_return(@exp_name)
15
- @exp.should_receive(:full_name).any_number_of_times.and_return(@full_name)
16
- @exp.should_receive(:comments).any_number_of_times.and_return('')
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 = mock('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 = mock('exp').as_null_object
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 = mock('context')
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 = mock('method_context').as_null_object
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 = mock('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 = mock('examiner').as_null_object
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.2
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-09 00:00:00.000000000 Z
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/command_line_interface/options.feature
166
- - features/command_line_interface/stdin.feature
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
- - features/ruby_api/api.feature
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/smells/irresponsible_module.rb
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/nested_iterators.rb
197
+ - lib/reek/smells/attribute.rb
211
198
  - lib/reek/smells/uncommunicative_method_name.rb
212
- - lib/reek/smells/boolean_parameter.rb
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/control_parameter.rb
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/too_many_instance_variables.rb
206
+ - lib/reek/smells/data_clump.rb
217
207
  - lib/reek/smells/too_many_methods.rb
218
- - lib/reek/smells/long_parameter_list.rb
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/repeated_conditional.rb
223
- - lib/reek/smells/uncommunicative_parameter_name.rb
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/data_clump.rb
231
- - lib/reek/smell_warning.rb
232
- - lib/reek.rb
233
- - spec/gem/yard_spec.rb
234
- - spec/gem/updates_spec.rb
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/source/object_source_spec.rb
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/unused_parameters_spec.rb
262
- - spec/reek/smells/irresponsible_module_spec.rb
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/utility_function_spec.rb
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/nil_check_spec.rb
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/spec_helper.rb
286
- - spec/samples/inline_config/dirty.rb
287
- - spec/samples/inline_config/masked.reek
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/three_clean_files/clean_one.rb
291
- - spec/samples/clean_due_to_masking/dirty_one.rb
292
- - spec/samples/clean_due_to_masking/masked.reek
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/overrides/upper.reek
312
- - spec/samples/two_smelly_files/dirty_one.rb
313
- - spec/samples/two_smelly_files/dirty_two.rb
314
- - spec/samples/masked/dirty.rb
315
- - spec/samples/masked/masked.reek
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/mixed_results/clean_one.rb
327
- - spec/samples/mask_some/dirty.rb
328
- - spec/samples/mask_some/some.reek
329
- - spec/matchers/smell_of_matcher.rb
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.6
362
+ rubygems_version: 2.0.3
356
363
  signing_key:
357
364
  specification_version: 4
358
365
  summary: Code smell detector for Ruby