reek 1.2.8 → 1.2.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. data/History.txt +4 -0
  2. data/README.md +40 -25
  3. data/Rakefile +2 -15
  4. data/bin/reek +1 -1
  5. data/features/{options.feature → command_line_interface/options.feature} +1 -3
  6. data/features/{stdin.feature → command_line_interface/stdin.feature} +2 -2
  7. data/features/{masking_smells.feature → configuration_files/masking_smells.feature} +23 -23
  8. data/features/{rake_task.feature → rake_task/rake_task.feature} +9 -9
  9. data/features/{reports.feature → reports/reports.feature} +10 -10
  10. data/features/{yaml.feature → reports/yaml.feature} +2 -2
  11. data/features/{api.feature → ruby_api/api.feature} +6 -6
  12. data/features/samples.feature +239 -247
  13. data/features/step_definitions/reek_steps.rb +15 -1
  14. data/features/support/env.rb +0 -1
  15. data/lib/reek.rb +1 -4
  16. data/lib/reek/cli/command_line.rb +6 -5
  17. data/lib/reek/cli/report.rb +1 -1
  18. data/lib/reek/core/hash_extensions.rb +29 -0
  19. data/lib/reek/core/method_context.rb +3 -16
  20. data/lib/reek/core/object_refs.rb +5 -22
  21. data/lib/reek/core/smell_repository.rb +65 -0
  22. data/lib/reek/core/sniffer.rb +7 -76
  23. data/lib/reek/core/warning_collector.rb +1 -5
  24. data/lib/reek/examiner.rb +3 -13
  25. data/lib/reek/rake/task.rb +10 -2
  26. data/lib/reek/smell_warning.rb +1 -0
  27. data/lib/reek/smells/smell_detector.rb +0 -3
  28. data/lib/reek/smells/uncommunicative_module_name.rb +6 -3
  29. data/lib/reek/smells/uncommunicative_variable_name.rb +1 -1
  30. data/lib/reek/source/config_file.rb +8 -2
  31. data/lib/reek/source/sexp_formatter.rb +1 -1
  32. data/lib/reek/source/source_repository.rb +31 -0
  33. data/lib/reek/source/tree_dresser.rb +1 -1
  34. data/lib/reek/spec/should_reek.rb +5 -2
  35. data/lib/reek/version.rb +3 -0
  36. data/lib/xp.reek +63 -0
  37. data/reek.gemspec +16 -28
  38. data/spec/gem/manifest_spec.rb +22 -0
  39. data/spec/gem/updates_spec.rb +26 -0
  40. data/spec/gem/yard_spec.rb +15 -0
  41. data/spec/matchers/smell_of_matcher.rb +0 -1
  42. data/spec/reek/cli/reek_command_spec.rb +1 -1
  43. data/spec/reek/core/method_context_spec.rb +2 -2
  44. data/spec/reek/core/object_refs_spec.rb +115 -118
  45. data/spec/reek/smell_warning_spec.rb +2 -2
  46. data/spec/reek/smells/uncommunicative_variable_name_spec.rb +3 -0
  47. data/spec/reek/source/sexp_formatter_spec.rb +19 -0
  48. data/spec/reek/spec/should_reek_spec.rb +21 -3
  49. data/tasks/deployment.rake +69 -0
  50. data/tasks/develop.rake +29 -0
  51. data/tasks/test.rake +1 -6
  52. metadata +200 -138
@@ -130,10 +130,10 @@ describe SmellWarning do
130
130
  it_should_behave_like 'common fields'
131
131
 
132
132
  it 'includes no subclass' do
133
- @yaml.should match(/subclass:\s*""/)
133
+ @yaml.should match(/subclass: ["']{2}/)
134
134
  end
135
135
  it 'includes no source' do
136
- @yaml.should match(/source:\s*""/)
136
+ @yaml.should match(/source: ["']{2}/)
137
137
  end
138
138
  it 'includes empty parameters' do
139
139
  @yaml.should_not match(/parameter/)
@@ -30,6 +30,9 @@ describe UncommunicativeVariableName do
30
30
  it 'does not report one-word variable name' do
31
31
  'def help(fred) simple = jim(45) end'.should_not smell_of(UncommunicativeVariableName)
32
32
  end
33
+ it 'does not report single underscore as a variable name' do
34
+ 'def help(fred) _ = jim(45) end'.should_not smell_of(UncommunicativeVariableName)
35
+ end
33
36
  it 'reports one-letter variable name' do
34
37
  src = 'def simple(fred) x = jim(45) end'
35
38
  src.should smell_of(UncommunicativeVariableName,
@@ -0,0 +1,19 @@
1
+ require File.join(File.dirname(File.dirname(File.dirname(File.expand_path(__FILE__)))), 'spec_helper')
2
+ require File.join(File.dirname(File.dirname(File.dirname(File.dirname(File.expand_path(__FILE__))))), 'lib', 'reek', 'source', 'sexp_formatter')
3
+
4
+ include Reek::Source
5
+
6
+ describe SexpFormatter do
7
+ describe "::format" do
8
+ it 'formats a simple s-expression' do
9
+ result = SexpFormatter.format s(:lvar, :foo)
10
+ result.should == "foo"
11
+ end
12
+
13
+ it 'formats a more complex s-expression' do
14
+ result = SexpFormatter.format s(:call, nil, :foo, s(:arglist, s(:lvar, :bar)))
15
+ result.should == "foo(bar)"
16
+ end
17
+ end
18
+ end
19
+
@@ -21,7 +21,7 @@ describe ShouldReek, 'checking code in a string' do
21
21
 
22
22
  it 'reports the smells when should_not fails' do
23
23
  @matcher.matches?(@smelly_code)
24
- @matcher.failure_message_for_should_not.should match('UncommunicativeName')
24
+ @matcher.failure_message_for_should_not.should match('UncommunicativeVariableName')
25
25
  end
26
26
  end
27
27
 
@@ -42,7 +42,7 @@ describe ShouldReek, 'checking code in a Dir' do
42
42
 
43
43
  it 'reports the smells when should_not fails' do
44
44
  @matcher.matches?(@smelly_dir)
45
- @matcher.failure_message_for_should_not.should match('UncommunicativeName')
45
+ @matcher.failure_message_for_should_not.should match('UncommunicativeVariableName')
46
46
  end
47
47
  end
48
48
 
@@ -63,6 +63,24 @@ describe ShouldReek, 'checking code in a File' do
63
63
 
64
64
  it 'reports the smells when should_not fails' do
65
65
  @matcher.matches?(@smelly_file)
66
- @matcher.failure_message_for_should_not.should match('UncommunicativeName')
66
+ @matcher.failure_message_for_should_not.should match('UncommunicativeVariableName')
67
+ end
68
+ end
69
+
70
+ describe ShouldReek, 'configuration' do
71
+ before :each do
72
+ @smelly_file = File.new('spec/samples/redcloth.rb')
73
+ @clean_file = File.new('spec/samples/three_clean_files/clean_one.rb')
74
+ end
75
+ it 'can handle array of config files in ctor' do
76
+ expect{matcher = ShouldReek.new(Dir['spec/samples/*.reek'])}.to_not raise_error
77
+ end
78
+ it 'does not alter result for clean file' do
79
+ matcher = ShouldReek.new(Dir['spec/samples/*.reek'])
80
+ matcher.matches?(@clean_file).should be_false
81
+ end
82
+ it 'ignores smells according to config' do
83
+ matcher = ShouldReek.new(Dir['spec/samples/*.reek'])
84
+ matcher.matches?('def hash() md5 = Digest::MD5.new; end').should be_false
67
85
  end
68
86
  end
@@ -0,0 +1,69 @@
1
+ require 'rubygems'
2
+ require 'rubygems/package_task'
3
+ require 'yaml'
4
+ require 'reek'
5
+
6
+ GEMSPEC = "#{PROJECT_NAME}.gemspec"
7
+ HISTORY_FILE = 'History.txt'
8
+ README_FILE = 'README.md'
9
+
10
+ RELEASE_TIMESTAMP = "#{BUILD_DIR}/.last-release"
11
+
12
+ $gemspec = Gem::Specification.new do |s|
13
+ s.name = PROJECT_NAME
14
+ s.version = ::Reek::VERSION
15
+ s.summary = 'Code smell detector for Ruby'
16
+ s.description = <<-EOS
17
+ Reek is a tool that examines Ruby classes, modules and methods
18
+ and reports any code smells it finds.
19
+ EOS
20
+ s.author = 'Kevin Rutherford'
21
+ s.email = ['kevin@rutherford-software.com']
22
+ s.homepage = 'http://wiki.github.com/troessner/reek'
23
+ s.rubyforge_project = PROJECT_NAME
24
+ s.add_dependency('ruby_parser', '~> 2.0')
25
+ s.add_dependency('ruby2ruby', '~> 1.2')
26
+ s.add_dependency('sexp_processor', '~> 3.0')
27
+ s.files = File.read(GEM_MANIFEST).delete("\r").split(/\n/)
28
+ s.executables = s.files.grep(/^bin/) { |f| File.basename(f) }
29
+ s.bindir = 'bin'
30
+ s.require_paths = ['lib']
31
+ s.rdoc_options = ['--main', README_FILE]
32
+ s.extra_rdoc_files = s.files.grep(/(txt|rdoc)$/)
33
+ s.post_install_message = '
34
+ Thank you for downloading Reek. For info:
35
+ - see the reek wiki http://wiki.github.com/troessner/reek
36
+ - follow @rubyreek on twitter
37
+ '
38
+ end
39
+
40
+ class String
41
+ def touch(text)
42
+ File.open(self, 'w') { |ios| ios.puts text }
43
+ end
44
+ end
45
+
46
+ file GEMSPEC => [GEM_MANIFEST, README_FILE, HISTORY_FILE, VERSION_FILE, __FILE__] do
47
+ GEMSPEC.touch($gemspec.to_ruby)
48
+ end
49
+
50
+ namespace :build do
51
+ Gem::PackageTask.new($gemspec) do |task|
52
+ task.package_dir = PKG_DIR
53
+ task.need_tar = true
54
+ task.need_zip = false
55
+ end
56
+
57
+ task :package => [GEMSPEC]
58
+ end
59
+
60
+ task :release => ['test:release', 'build:package'] do
61
+ puts <<-EOS
62
+ 1) git commit -a -m "Release #{Reek::VERSION}"
63
+ 2) git tag -a "v#{Reek::VERSION}" -m "Release #{Reek::VERSION}"
64
+ 3) git push
65
+ 4) git push --tags
66
+ 5) gem push "#{PKG_DIR}/#{PROJECT_NAME}-#{Reek::VERSION}.gem"
67
+ EOS
68
+ RELEASE_TIMESTAMP.touch(::Reek::VERSION)
69
+ end
@@ -0,0 +1,29 @@
1
+ require 'rake/clean'
2
+ require 'reek/core/sniffer'
3
+ require 'yaml'
4
+
5
+ CONFIG_DIR = 'config'
6
+ CONFIG_FILE = "#{CONFIG_DIR}/defaults.reek"
7
+
8
+ CLOBBER.include(CONFIG_DIR)
9
+
10
+ directory CONFIG_DIR
11
+
12
+ file CONFIG_FILE => [CONFIG_DIR] do
13
+ config = {}
14
+ Reek::Core::SmellRepository.smell_classes.each do |klass|
15
+ config[klass.name.split(/::/)[-1]] = klass.default_config
16
+ end
17
+ $stderr.puts "Creating #{CONFIG_FILE}"
18
+ File.open(CONFIG_FILE, 'w') { |f| YAML.dump(config, f) }
19
+ end
20
+
21
+ task CONFIG_FILE => FileList['lib/reek/smells/*.rb']
22
+
23
+ task 'test:spec' => [CONFIG_FILE]
24
+ task 'test:slow' => [CONFIG_FILE]
25
+ task 'test:rcov' => [CONFIG_FILE]
26
+ task 'test:quality' => [CONFIG_FILE]
27
+ task 'test:features' => [CONFIG_FILE]
28
+ task 'reek' => [CONFIG_FILE]
29
+ task 'check:manifest' => [CONFIG_FILE]
data/tasks/test.rake CHANGED
@@ -35,17 +35,12 @@ namespace 'test' do
35
35
  t.rcov_dir = 'build/coverage'
36
36
  end
37
37
 
38
- desc 'Checks all supported versions of Ruby'
39
- task :multiruby do
40
- sh "multiruby -S rake spec"
41
- end
42
-
43
38
  Cucumber::Rake::Task.new(:features) do |t|
44
39
  t.cucumber_opts = "features --format progress --color"
45
40
  end
46
41
 
47
42
  desc 'Runs all unit tests and acceptance tests'
48
- task 'all' => ['test:spec', 'test:features', 'test:multiruby']
43
+ task 'all' => ['test:spec', 'test:features']
49
44
 
50
45
  task 'release' => ['test:gem', 'test:all']
51
46
  end
metadata CHANGED
@@ -1,29 +1,33 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reek
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 13
5
+ prerelease:
5
6
  segments:
6
7
  - 1
7
8
  - 2
8
- - 8
9
- version: 1.2.8
9
+ - 9
10
+ version: 1.2.9
10
11
  platform: ruby
11
12
  authors:
12
13
  - Kevin Rutherford
14
+ - Timo Roessner
15
+ - Matijs van Zuijlen
13
16
  autorequire:
14
17
  bindir: bin
15
18
  cert_chain: []
16
19
 
17
- date: 2010-04-26 00:00:00 +01:00
18
- default_executable:
20
+ date: 2010-04-26 00:00:00 Z
19
21
  dependencies:
20
22
  - !ruby/object:Gem::Dependency
21
23
  name: ruby_parser
22
24
  prerelease: false
23
25
  requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
24
27
  requirements:
25
28
  - - ~>
26
29
  - !ruby/object:Gem::Version
30
+ hash: 3
27
31
  segments:
28
32
  - 2
29
33
  - 0
@@ -34,34 +38,83 @@ dependencies:
34
38
  name: ruby2ruby
35
39
  prerelease: false
36
40
  requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - ~>
39
44
  - !ruby/object:Gem::Version
45
+ hash: 21
40
46
  segments:
41
47
  - 1
42
48
  - 2
43
- version: "1.2"
49
+ - 5
50
+ version: 1.2.5
44
51
  type: :runtime
45
52
  version_requirements: *id002
46
53
  - !ruby/object:Gem::Dependency
47
54
  name: sexp_processor
48
55
  prerelease: false
49
56
  requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
50
58
  requirements:
51
59
  - - ~>
52
60
  - !ruby/object:Gem::Version
61
+ hash: 7
53
62
  segments:
54
63
  - 3
55
64
  - 0
56
65
  version: "3.0"
57
66
  type: :runtime
58
67
  version_requirements: *id003
68
+ - !ruby/object:Gem::Dependency
69
+ name: rake
70
+ prerelease: false
71
+ requirement: &id004 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ hash: 3
77
+ segments:
78
+ - 0
79
+ version: "0"
80
+ type: :development
81
+ version_requirements: *id004
82
+ - !ruby/object:Gem::Dependency
83
+ name: cucumber
84
+ prerelease: false
85
+ requirement: &id005 !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ hash: 3
91
+ segments:
92
+ - 0
93
+ version: "0"
94
+ type: :development
95
+ version_requirements: *id005
96
+ - !ruby/object:Gem::Dependency
97
+ name: rspec
98
+ prerelease: false
99
+ requirement: &id006 !ruby/object:Gem::Requirement
100
+ none: false
101
+ requirements:
102
+ - - "="
103
+ - !ruby/object:Gem::Version
104
+ hash: 31
105
+ segments:
106
+ - 1
107
+ - 3
108
+ - 2
109
+ version: 1.3.2
110
+ type: :development
111
+ version_requirements: *id006
59
112
  description: |
60
113
  Reek is a tool that examines Ruby classes, modules and methods
61
114
  and reports any code smells it finds.
62
115
 
63
116
  email:
64
- - kevin@rutherford-software.com
117
+ - timo.roessner@googlemail.com
65
118
  executables:
66
119
  - reek
67
120
  extensions: []
@@ -77,198 +130,207 @@ files:
77
130
  - Rakefile
78
131
  - bin/reek
79
132
  - config/defaults.reek
80
- - features/api.feature
81
- - features/masking_smells.feature
82
- - features/options.feature
83
- - features/rake_task.feature
84
- - features/reports.feature
85
- - features/samples.feature
86
- - features/stdin.feature
133
+ - features/configuration_files/masking_smells.feature
134
+ - features/command_line_interface/stdin.feature
135
+ - features/command_line_interface/options.feature
136
+ - features/ruby_api/api.feature
137
+ - features/rake_task/rake_task.feature
87
138
  - features/step_definitions/reek_steps.rb
139
+ - features/samples.feature
88
140
  - features/support/env.rb
89
- - features/yaml.feature
90
- - lib/reek.rb
91
- - lib/reek/cli/application.rb
92
- - lib/reek/cli/command_line.rb
93
- - lib/reek/cli/help_command.rb
94
- - lib/reek/cli/reek_command.rb
95
- - lib/reek/cli/report.rb
96
- - lib/reek/cli/version_command.rb
97
- - lib/reek/cli/yaml_command.rb
98
- - lib/reek/core/code_context.rb
99
- - lib/reek/core/code_parser.rb
100
- - lib/reek/core/method_context.rb
101
- - lib/reek/core/module_context.rb
102
- - lib/reek/core/object_refs.rb
103
- - lib/reek/core/singleton_method_context.rb
104
- - lib/reek/core/smell_configuration.rb
105
- - lib/reek/core/sniffer.rb
106
- - lib/reek/core/stop_context.rb
107
- - lib/reek/core/warning_collector.rb
108
- - lib/reek/examiner.rb
109
- - lib/reek/rake/task.rb
110
- - lib/reek/smell_warning.rb
111
- - lib/reek/smells.rb
112
- - lib/reek/smells/attribute.rb
113
- - lib/reek/smells/boolean_parameter.rb
114
- - lib/reek/smells/class_variable.rb
115
- - lib/reek/smells/control_couple.rb
116
- - lib/reek/smells/data_clump.rb
117
- - lib/reek/smells/duplication.rb
118
- - lib/reek/smells/feature_envy.rb
141
+ - features/reports/yaml.feature
142
+ - features/reports/reports.feature
143
+ - lib/xp.reek
144
+ - lib/reek/spec.rb
145
+ - lib/reek/source.rb
146
+ - lib/reek/spec/should_reek.rb
147
+ - lib/reek/spec/should_reek_of.rb
148
+ - lib/reek/spec/should_reek_only_of.rb
119
149
  - lib/reek/smells/irresponsible_module.rb
120
150
  - lib/reek/smells/large_class.rb
151
+ - lib/reek/smells/uncommunicative_variable_name.rb
152
+ - lib/reek/smells/feature_envy.rb
153
+ - lib/reek/smells/uncommunicative_method_name.rb
154
+ - lib/reek/smells/boolean_parameter.rb
121
155
  - lib/reek/smells/long_method.rb
122
- - lib/reek/smells/long_parameter_list.rb
123
- - lib/reek/smells/long_yield_list.rb
124
- - lib/reek/smells/nested_iterators.rb
125
- - lib/reek/smells/simulated_polymorphism.rb
156
+ - lib/reek/smells/duplication.rb
126
157
  - lib/reek/smells/smell_detector.rb
127
- - lib/reek/smells/uncommunicative_method_name.rb
158
+ - lib/reek/smells/control_couple.rb
128
159
  - lib/reek/smells/uncommunicative_module_name.rb
129
- - lib/reek/smells/uncommunicative_parameter_name.rb
130
- - lib/reek/smells/uncommunicative_variable_name.rb
160
+ - lib/reek/smells/nested_iterators.rb
161
+ - lib/reek/smells/long_parameter_list.rb
162
+ - lib/reek/smells/long_yield_list.rb
131
163
  - lib/reek/smells/utility_function.rb
132
- - lib/reek/source.rb
133
- - lib/reek/source/code_comment.rb
134
- - lib/reek/source/config_file.rb
135
- - lib/reek/source/core_extras.rb
136
- - lib/reek/source/reference_collector.rb
164
+ - lib/reek/smells/uncommunicative_parameter_name.rb
165
+ - lib/reek/smells/simulated_polymorphism.rb
166
+ - lib/reek/smells/data_clump.rb
167
+ - lib/reek/smells/attribute.rb
168
+ - lib/reek/smells/class_variable.rb
169
+ - lib/reek/examiner.rb
170
+ - lib/reek/version.rb
171
+ - lib/reek/core/smell_repository.rb
172
+ - lib/reek/core/method_context.rb
173
+ - lib/reek/core/sniffer.rb
174
+ - lib/reek/core/warning_collector.rb
175
+ - lib/reek/core/code_parser.rb
176
+ - lib/reek/core/object_refs.rb
177
+ - lib/reek/core/module_context.rb
178
+ - lib/reek/core/smell_configuration.rb
179
+ - lib/reek/core/hash_extensions.rb
180
+ - lib/reek/core/singleton_method_context.rb
181
+ - lib/reek/core/code_context.rb
182
+ - lib/reek/core/stop_context.rb
183
+ - lib/reek/rake/task.rb
184
+ - lib/reek/cli/report.rb
185
+ - lib/reek/cli/command_line.rb
186
+ - lib/reek/cli/version_command.rb
187
+ - lib/reek/cli/reek_command.rb
188
+ - lib/reek/cli/yaml_command.rb
189
+ - lib/reek/cli/application.rb
190
+ - lib/reek/cli/help_command.rb
137
191
  - lib/reek/source/sexp_formatter.rb
138
- - lib/reek/source/source_code.rb
192
+ - lib/reek/source/source_repository.rb
193
+ - lib/reek/source/reference_collector.rb
139
194
  - lib/reek/source/source_file.rb
140
195
  - lib/reek/source/source_locator.rb
196
+ - lib/reek/source/code_comment.rb
197
+ - lib/reek/source/core_extras.rb
198
+ - lib/reek/source/source_code.rb
141
199
  - lib/reek/source/tree_dresser.rb
142
- - lib/reek/spec.rb
143
- - lib/reek/spec/should_reek.rb
144
- - lib/reek/spec/should_reek_of.rb
145
- - lib/reek/spec/should_reek_only_of.rb
146
- - reek.gemspec
147
- - spec/matchers/smell_of_matcher.rb
148
- - spec/reek/cli/help_command_spec.rb
149
- - spec/reek/cli/reek_command_spec.rb
150
- - spec/reek/cli/report_spec.rb
151
- - spec/reek/cli/version_command_spec.rb
152
- - spec/reek/cli/yaml_command_spec.rb
153
- - spec/reek/core/code_context_spec.rb
154
- - spec/reek/core/code_parser_spec.rb
155
- - spec/reek/core/config_spec.rb
156
- - spec/reek/core/method_context_spec.rb
157
- - spec/reek/core/module_context_spec.rb
158
- - spec/reek/core/object_refs_spec.rb
159
- - spec/reek/core/singleton_method_context_spec.rb
160
- - spec/reek/core/smell_configuration_spec.rb
161
- - spec/reek/core/stop_context_spec.rb
162
- - spec/reek/core/warning_collector_spec.rb
200
+ - lib/reek/source/config_file.rb
201
+ - lib/reek/smell_warning.rb
202
+ - lib/reek/smells.rb
203
+ - lib/reek.rb
204
+ - spec/reek/spec/should_reek_spec.rb
205
+ - spec/reek/spec/should_reek_of_spec.rb
206
+ - spec/reek/spec/should_reek_only_of_spec.rb
163
207
  - spec/reek/examiner_spec.rb
164
- - spec/reek/smell_warning_spec.rb
165
- - spec/reek/smells/attribute_spec.rb
166
- - spec/reek/smells/behaves_like_variable_detector.rb
167
- - spec/reek/smells/boolean_parameter_spec.rb
168
- - spec/reek/smells/class_variable_spec.rb
169
- - spec/reek/smells/control_couple_spec.rb
170
- - spec/reek/smells/data_clump_spec.rb
171
208
  - spec/reek/smells/duplication_spec.rb
172
- - spec/reek/smells/feature_envy_spec.rb
173
- - spec/reek/smells/irresponsible_module_spec.rb
174
- - spec/reek/smells/large_class_spec.rb
175
- - spec/reek/smells/long_method_spec.rb
176
- - spec/reek/smells/long_parameter_list_spec.rb
177
- - spec/reek/smells/long_yield_list_spec.rb
178
- - spec/reek/smells/nested_iterators_spec.rb
179
- - spec/reek/smells/simulated_polymorphism_spec.rb
209
+ - spec/reek/smells/uncommunicative_module_name_spec.rb
180
210
  - spec/reek/smells/smell_detector_shared.rb
211
+ - spec/reek/smells/nested_iterators_spec.rb
212
+ - spec/reek/smells/long_yield_list_spec.rb
213
+ - spec/reek/smells/data_clump_spec.rb
181
214
  - spec/reek/smells/uncommunicative_method_name_spec.rb
182
- - spec/reek/smells/uncommunicative_module_name_spec.rb
183
- - spec/reek/smells/uncommunicative_parameter_name_spec.rb
215
+ - spec/reek/smells/long_parameter_list_spec.rb
184
216
  - spec/reek/smells/uncommunicative_variable_name_spec.rb
217
+ - spec/reek/smells/boolean_parameter_spec.rb
218
+ - spec/reek/smells/behaves_like_variable_detector.rb
219
+ - spec/reek/smells/class_variable_spec.rb
220
+ - spec/reek/smells/feature_envy_spec.rb
221
+ - spec/reek/smells/simulated_polymorphism_spec.rb
222
+ - spec/reek/smells/long_method_spec.rb
223
+ - spec/reek/smells/attribute_spec.rb
224
+ - spec/reek/smells/irresponsible_module_spec.rb
225
+ - spec/reek/smells/control_couple_spec.rb
185
226
  - spec/reek/smells/utility_function_spec.rb
186
- - spec/reek/source/code_comment_spec.rb
187
- - spec/reek/source/object_source_spec.rb
227
+ - spec/reek/smells/uncommunicative_parameter_name_spec.rb
228
+ - spec/reek/smells/large_class_spec.rb
229
+ - spec/reek/core/module_context_spec.rb
230
+ - spec/reek/core/code_context_spec.rb
231
+ - spec/reek/core/smell_configuration_spec.rb
232
+ - spec/reek/core/object_refs_spec.rb
233
+ - spec/reek/core/method_context_spec.rb
234
+ - spec/reek/core/singleton_method_context_spec.rb
235
+ - spec/reek/core/warning_collector_spec.rb
236
+ - spec/reek/core/code_parser_spec.rb
237
+ - spec/reek/core/stop_context_spec.rb
238
+ - spec/reek/core/config_spec.rb
239
+ - spec/reek/cli/reek_command_spec.rb
240
+ - spec/reek/cli/help_command_spec.rb
241
+ - spec/reek/cli/version_command_spec.rb
242
+ - spec/reek/cli/report_spec.rb
243
+ - spec/reek/cli/yaml_command_spec.rb
244
+ - spec/reek/source/sexp_formatter_spec.rb
188
245
  - spec/reek/source/reference_collector_spec.rb
189
- - spec/reek/source/source_code_spec.rb
246
+ - spec/reek/source/code_comment_spec.rb
190
247
  - spec/reek/source/tree_dresser_spec.rb
191
- - spec/reek/spec/should_reek_of_spec.rb
192
- - spec/reek/spec/should_reek_only_of_spec.rb
193
- - spec/reek/spec/should_reek_spec.rb
248
+ - spec/reek/source/source_code_spec.rb
249
+ - spec/reek/source/object_source_spec.rb
250
+ - spec/reek/smell_warning_spec.rb
251
+ - spec/spec.opts
252
+ - spec/samples/demo/demo.rb
253
+ - spec/samples/three_clean_files/clean_one.rb
254
+ - spec/samples/three_clean_files/clean_three.rb
255
+ - spec/samples/three_clean_files/clean_two.rb
256
+ - spec/samples/overrides/upper.reek
257
+ - spec/samples/overrides/masked/dirty.rb
258
+ - spec/samples/overrides/masked/lower.reek
259
+ - spec/samples/empty_config_file/dirty.rb
260
+ - spec/samples/empty_config_file/empty.reek
194
261
  - spec/samples/all_but_one_masked/clean_one.rb
195
262
  - spec/samples/all_but_one_masked/dirty.rb
196
263
  - spec/samples/all_but_one_masked/masked.reek
264
+ - spec/samples/corrupt_config_file/dirty.rb
265
+ - spec/samples/corrupt_config_file/corrupt.reek
266
+ - spec/samples/optparse.rb
267
+ - spec/samples/exceptions.reek
268
+ - spec/samples/not_quite_masked/dirty.rb
269
+ - spec/samples/not_quite_masked/masked.reek
270
+ - spec/samples/mask_some/dirty.rb
271
+ - spec/samples/mask_some/some.reek
272
+ - spec/samples/inline.rb
197
273
  - spec/samples/clean_due_to_masking/clean_one.rb
198
274
  - spec/samples/clean_due_to_masking/clean_three.rb
199
275
  - spec/samples/clean_due_to_masking/clean_two.rb
276
+ - spec/samples/clean_due_to_masking/masked.reek
200
277
  - spec/samples/clean_due_to_masking/dirty_one.rb
201
278
  - spec/samples/clean_due_to_masking/dirty_two.rb
202
- - spec/samples/clean_due_to_masking/masked.reek
203
- - spec/samples/config/allow_duplication.reek
204
- - spec/samples/config/deeper_nested_iterators.reek
205
- - spec/samples/corrupt_config_file/corrupt.reek
206
- - spec/samples/corrupt_config_file/dirty.rb
207
- - spec/samples/demo/demo.rb
208
- - spec/samples/empty_config_file/dirty.rb
209
- - spec/samples/empty_config_file/empty.reek
210
- - spec/samples/exceptions.reek
211
- - spec/samples/inline_config/dirty.rb
212
- - spec/samples/inline_config/masked.reek
213
- - spec/samples/inline.rb
214
- - spec/samples/mask_some/dirty.rb
215
- - spec/samples/mask_some/some.reek
216
- - spec/samples/masked/dirty.rb
217
- - spec/samples/masked/masked.reek
279
+ - spec/samples/redcloth.rb
218
280
  - spec/samples/mixed_results/clean_one.rb
219
281
  - spec/samples/mixed_results/clean_three.rb
220
282
  - spec/samples/mixed_results/clean_two.rb
221
283
  - spec/samples/mixed_results/dirty_one.rb
222
284
  - spec/samples/mixed_results/dirty_two.rb
223
- - spec/samples/not_quite_masked/dirty.rb
224
- - spec/samples/not_quite_masked/masked.reek
225
- - spec/samples/optparse.rb
226
- - spec/samples/overrides/masked/dirty.rb
227
- - spec/samples/overrides/masked/lower.reek
228
- - spec/samples/overrides/upper.reek
229
- - spec/samples/redcloth.rb
230
- - spec/samples/three_clean_files/clean_one.rb
231
- - spec/samples/three_clean_files/clean_three.rb
232
- - spec/samples/three_clean_files/clean_two.rb
285
+ - spec/samples/config/allow_duplication.reek
286
+ - spec/samples/config/deeper_nested_iterators.reek
233
287
  - spec/samples/two_smelly_files/dirty_one.rb
234
288
  - spec/samples/two_smelly_files/dirty_two.rb
235
- - spec/spec.opts
289
+ - spec/samples/masked/dirty.rb
290
+ - spec/samples/masked/masked.reek
291
+ - spec/samples/inline_config/dirty.rb
292
+ - spec/samples/inline_config/masked.reek
293
+ - spec/gem/yard_spec.rb
294
+ - spec/gem/manifest_spec.rb
295
+ - spec/gem/updates_spec.rb
236
296
  - spec/spec_helper.rb
237
- - tasks/reek.rake
297
+ - spec/matchers/smell_of_matcher.rb
238
298
  - tasks/test.rake
239
- has_rdoc: true
240
- homepage: http://wiki.github.com/kevinrutherford/reek
299
+ - tasks/deployment.rake
300
+ - tasks/develop.rake
301
+ - tasks/reek.rake
302
+ - reek.gemspec
303
+ homepage: http://wiki.github.com/troessner/reek
241
304
  licenses: []
242
305
 
243
- post_install_message: |
244
-
245
- Thank you for downloading Reek. For info:
246
- - see the reek wiki http://wiki.github.com/kevinrutherford/reek
247
- - follow @rubyreek on twitter
248
-
306
+ post_install_message: Thank you for downloading Reek. For info see the reek wiki http://wiki.github.com/troessner/reek
249
307
  rdoc_options:
250
308
  - --main
251
309
  - README.md
252
310
  require_paths:
253
311
  - lib
254
312
  required_ruby_version: !ruby/object:Gem::Requirement
313
+ none: false
255
314
  requirements:
256
315
  - - ">="
257
316
  - !ruby/object:Gem::Version
317
+ hash: 3
258
318
  segments:
259
319
  - 0
260
320
  version: "0"
261
321
  required_rubygems_version: !ruby/object:Gem::Requirement
322
+ none: false
262
323
  requirements:
263
324
  - - ">="
264
325
  - !ruby/object:Gem::Version
326
+ hash: 3
265
327
  segments:
266
328
  - 0
267
329
  version: "0"
268
330
  requirements: []
269
331
 
270
332
  rubyforge_project: reek
271
- rubygems_version: 1.3.6
333
+ rubygems_version: 1.8.24
272
334
  signing_key:
273
335
  specification_version: 3
274
336
  summary: Code smell detector for Ruby