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 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