kevinrutherford-reek 1.1.3.13 → 1.1.3.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. data/History.txt +8 -2
  2. data/config/defaults.reek +13 -2
  3. data/features/masking_smells.feature +29 -1
  4. data/features/samples.feature +17 -4
  5. data/lib/reek/adapters/object_source.rb +2 -1
  6. data/lib/reek/class_context.rb +7 -0
  7. data/lib/reek/code_parser.rb +3 -1
  8. data/lib/reek/configuration.rb +51 -0
  9. data/lib/reek/detector_stack.rb +1 -3
  10. data/lib/reek/exceptions.reek +3 -0
  11. data/lib/reek/smell_warning.rb +10 -2
  12. data/lib/reek/smells/duplication.rb +4 -2
  13. data/lib/reek/smells/large_class.rb +8 -4
  14. data/lib/reek/smells/long_method.rb +4 -6
  15. data/lib/reek/smells/long_parameter_list.rb +11 -3
  16. data/lib/reek/smells/simulated_polymorphism.rb +58 -0
  17. data/lib/reek/smells/smell_detector.rb +53 -51
  18. data/lib/reek/smells/uncommunicative_name.rb +13 -9
  19. data/lib/reek/sniffer.rb +4 -0
  20. data/lib/reek.rb +1 -1
  21. data/reek.gemspec +3 -3
  22. data/spec/reek/adapters/report_spec.rb +5 -4
  23. data/spec/reek/class_context_spec.rb +21 -0
  24. data/spec/reek/configuration_spec.rb +12 -0
  25. data/spec/reek/smell_warning_spec.rb +30 -2
  26. data/spec/reek/smells/duplication_spec.rb +2 -1
  27. data/spec/reek/smells/feature_envy_spec.rb +15 -0
  28. data/spec/reek/smells/large_class_spec.rb +21 -20
  29. data/spec/reek/smells/simulated_polymorphism_spec.rb +50 -0
  30. data/spec/reek/smells/smell_detector_spec.rb +5 -5
  31. data/spec/reek/smells/uncommunicative_name_spec.rb +14 -0
  32. data/spec/samples/exceptions.reek +4 -0
  33. data/spec/samples/overrides/masked/dirty.rb +7 -0
  34. data/spec/samples/overrides/masked/lower.reek +5 -0
  35. data/spec/samples/overrides/upper.reek +5 -0
  36. data/tasks/test.rake +6 -1
  37. metadata +12 -3
@@ -0,0 +1,4 @@
1
+ ---
2
+ UncommunicativeName:
3
+ accept:
4
+ - md5
@@ -0,0 +1,7 @@
1
+ class Dirty
2
+ def a
3
+ puts @s.title
4
+ @s.map {|x| x.each {|key| key += 3}}
5
+ puts @s.title
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ ---
2
+ Duplication:
3
+ enabled: true
4
+ UncommunicativeName:
5
+ enabled: false
@@ -0,0 +1,5 @@
1
+ ---
2
+ Duplication:
3
+ enabled: false
4
+ NestedIterators:
5
+ enabled: false
data/tasks/test.rake CHANGED
@@ -27,12 +27,17 @@ namespace 'test' do
27
27
  t.rcov_dir = 'build/coverage'
28
28
  end
29
29
 
30
+ desc 'Checks all supported versions of Ruby'
31
+ task :multiruby do
32
+ sh "multiruby -S rake spec"
33
+ end
34
+
30
35
  Cucumber::Rake::Task.new(:features) do |t|
31
36
  t.cucumber_opts = "features --format progress --no-color"
32
37
  end
33
38
 
34
39
  desc 'Runs all unit tests, acceptance tests and quality checks'
35
- task 'all' => ['test:spec', 'test:features', 'test:quality']
40
+ task 'all' => ['test:spec', 'test:features', 'test:quality', 'test:multiruby']
36
41
  end
37
42
 
38
43
  task 'clobber_rcov' => 'test:clobber_rcov'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kevinrutherford-reek
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3.13
4
+ version: 1.1.3.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Rutherford
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-07-26 00:00:00 -07:00
12
+ date: 2009-08-20 00:00:00 -07:00
13
13
  default_executable: reek
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -81,6 +81,7 @@ files:
81
81
  - lib/reek/code_context.rb
82
82
  - lib/reek/code_parser.rb
83
83
  - lib/reek/command_line.rb
84
+ - lib/reek/configuration.rb
84
85
  - lib/reek/detector_stack.rb
85
86
  - lib/reek/exceptions.reek
86
87
  - lib/reek/if_context.rb
@@ -99,6 +100,7 @@ files:
99
100
  - lib/reek/smells/long_parameter_list.rb
100
101
  - lib/reek/smells/long_yield_list.rb
101
102
  - lib/reek/smells/nested_iterators.rb
103
+ - lib/reek/smells/simulated_polymorphism.rb
102
104
  - lib/reek/smells/smell_detector.rb
103
105
  - lib/reek/smells/uncommunicative_name.rb
104
106
  - lib/reek/smells/utility_function.rb
@@ -116,6 +118,7 @@ files:
116
118
  - spec/reek/code_context_spec.rb
117
119
  - spec/reek/code_parser_spec.rb
118
120
  - spec/reek/config_spec.rb
121
+ - spec/reek/configuration_spec.rb
119
122
  - spec/reek/if_context_spec.rb
120
123
  - spec/reek/method_context_spec.rb
121
124
  - spec/reek/module_context_spec.rb
@@ -131,6 +134,7 @@ files:
131
134
  - spec/reek/smells/long_method_spec.rb
132
135
  - spec/reek/smells/long_parameter_list_spec.rb
133
136
  - spec/reek/smells/nested_iterators_spec.rb
137
+ - spec/reek/smells/simulated_polymorphism_spec.rb
134
138
  - spec/reek/smells/smell_detector_spec.rb
135
139
  - spec/reek/smells/uncommunicative_name_spec.rb
136
140
  - spec/reek/smells/utility_function_spec.rb
@@ -148,6 +152,7 @@ files:
148
152
  - spec/samples/corrupt_config_file/dirty.rb
149
153
  - spec/samples/empty_config_file/dirty.rb
150
154
  - spec/samples/empty_config_file/empty.reek
155
+ - spec/samples/exceptions.reek
151
156
  - spec/samples/inline.rb
152
157
  - spec/samples/masked/dirty.rb
153
158
  - spec/samples/masked/masked.reek
@@ -159,6 +164,9 @@ files:
159
164
  - spec/samples/not_quite_masked/dirty.rb
160
165
  - spec/samples/not_quite_masked/masked.reek
161
166
  - spec/samples/optparse.rb
167
+ - spec/samples/overrides/masked/dirty.rb
168
+ - spec/samples/overrides/masked/lower.reek
169
+ - spec/samples/overrides/upper.reek
162
170
  - spec/samples/redcloth.rb
163
171
  - spec/samples/three_clean_files/clean_one.rb
164
172
  - spec/samples/three_clean_files/clean_three.rb
@@ -171,6 +179,7 @@ files:
171
179
  - tasks/test.rake
172
180
  has_rdoc: false
173
181
  homepage: http://wiki.github.com/kevinrutherford/reek
182
+ licenses:
174
183
  post_install_message: |
175
184
 
176
185
  For more information on reek, see http://wiki.github.com/kevinrutherford/reek
@@ -195,7 +204,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
195
204
  requirements: []
196
205
 
197
206
  rubyforge_project: reek
198
- rubygems_version: 1.2.0
207
+ rubygems_version: 1.3.5
199
208
  signing_key:
200
209
  specification_version: 3
201
210
  summary: Code smell detector for Ruby