Hi,
Reek version 1.2.0 has been released!
Reek detects smells in Ruby code. It can be used as a stand-alone
command, or as a Rake task, or as an expectation in Rspec examples.
Changes in this release:
Major Changes
- Reek passes all its tests under ruby 1.8.6, 1.8.7 and 1.9.1 (fixed
#16) - New smell – Data Clump:
** Looks within a class for 3 or more methods taking the same 2 or
more parameters - New smell – Simulated Polymorphism:
** Currently only performs basic check for multiple tests of same value - Reek’s output reports are now formatted differently:
** Reek is no longer silent about smell-free source code
** Output now reports on all files examined, even if they have no smells
** Smell warnings are indented in the report; file summary headers are
not
** Reports for multiple sources are run together; no more blank lines
** Reports in spec matcher failures are quiet (fixed #38) - The smells masked by *.reek config files can now be seen:
** The header for each source file now counts masked smells
** The --show-all (-a) option shows masked warnings in the report - The spec matchers are now accessed by requiring ‘reek/adapters/spec’
Minor Changes
- Reek’s RDoc is now hosted at
http://rdoc.info/projects/kevinrutherford/reek - If a dir is passed on the command-line all **/*.rb files below it
are examined (fixed #41) - Duplication warnings now report the number of identical calls
- FeatureEnvy no longer ignores :self when passed as a method parameter
- LargeClass is disabled when checking in-memory classes (fixed #28)
- LongParameterList accepts upto 5 parameters for #initialize methods
- Several changes to the LongMethod counting algorithm:
** LongMethod now counts statements deeper into each method (fixed #25)
** LongMethod no longer counts control structures, only their contained
stmts
** See http://wiki.github.com/kevinrutherford/reek/long-method for
details - UncommunicativeName warns about any name ending in a number (fixed
#18) - UtilityFunction has been relaxed somewhat:
** no longer reports methods that call ‘super’ (fixed #39)
** no longer reports simple helper methods
** can be configured based on number of calls out - Now reports an error for corrupt config files
- Empty config files are ignored
- Smells can be configured with scope-specific overrides for any config
item
More information:
Cheers,
Kevin