- fix for wrong line numbers, see #33
- support for ~/.excellent.yml - default configuration for all excellent runs that the local config file will override
- added .excellentignore file that can list paths to ignore
- Simplabs::Excellent::Checks::Rails::ValidationsCheck now supports the new ActiveRecord validations syntax (e.g. "validates :name, presence: true")
- now supporting config file .excellent.yml in current working directory to configure which specs to run/ not to run with thresholds, patterns etc.
- predefined globals will not be reported anymore (
$!, $ @,$&, $ `,$', $ +, $1,$2.., $ ~,$=, $ /,$, $ ,,$;, $ .,$<, $ >, $_,$0, $ *, $$,$?, $ :, $", $DEBUG, $FILENAME, $LOAD_PATH, $stdin, $stdout, $stderr,$VERBOSE, $ -0,$-a, $ -d,$-F, $ -i,$-I, $ -l,$-p, $ -v) - enabled previously disable checks again: AbcMetricMethodCheck, ControlCouplingCheck, CyclomaticComplexityBlockCheck, CyclomaticComplexityMethodCheck, ForLoopCheck, FlogBlockCheck, FlogClassCheck, FlogMethodCheck
- testing now uses Rspec 2
- internal cleanups/ simplifications
- fixed Simplabs::Excellent::Checks::Rails::CustomInitializeMethodCheck
- fixed Simplabs::Excellent::Checks::MethodNameCheck so it allows method names that exist in Ruby itself
- fixed Simplabs::Excellent::Checks::GlobalVariableCheck so it doesn't report false positives for rescue bodies
- made the parser more forgiving/stable in some situations
- fixed excellent for Ruby 2.0
- some internal cleanup
- support -v switch on command line
- fixed issue #24
- updated ruby_parser and sexp_processor dependencies
- fixed some wrong line number reports
- added Gemfile
- internal refactoring/cleanups
- better option parsing in the executable, (thanks trans, http://github.com/trans)
- added line count parser (not yet used), (thanks trans, http://github.com/trans)
- fixed handling of parser errors
- added missing dependency to facets gem
- added GlobalVariableCheck
- added Rails::CustomInitializeMethodCheck
- added Rails::ParamsHashInViewCheck
- added Rails::SessionHashInViewCheck
- removed duplication checks (they are just too coarse for dynamic languages like Ruby and especially Rails apps where you would call e.g. params all over the place)
- added Rails::ValidationsCheck to the default checks
- new check Rails::ValidationsCheck that reports ActiveRecord models that do not validate anything
- added DuplicationCheck to default checks
- split DuplicationCheck up into MethodDuplicationCheck and BlockDuplicationCheck
- added Rake Task (see Rakefile for example)
- Excellent not parses *.erb files
- added new check InstanceVarInPartialCheck
- FIX (forgot files in gemspec on 1.3.0)
- added formatters (currently text and HTML formatting is supported, see README)
- fixed specs
- renamed Error to Warning
- added documentation
- cleanup
- added 2 Rails specific checks, AttrAccessibleCheck and AttrProtectedCheck
- completely restructured, made everything running in the flow of the SexpProcessor
- added most tests from reek (except for UtilityFunction and FeatureEnvy)
- fixed some errors
- this is basically just a custom version of roodi, converted to ruby_parser to be 1.9 safe