Preek
For a pretty colorful output of Reek, which is an awesome gem!
This is just something I came up with while learning Thor.
To make your refactoring life easier you can also use Guard::Preek!
Installation
$ gem install preek
From source
$ git clone git@github.com:joenas/preek.git
$ cd preek
$ rake install
Usage
CLI
Usage:
preek FILE(S)|DIR
Options:
-i, [--irresponsible] # Include IrresponsibleModule smell in output.
-c, [--compact] # Compact output.
-v, [--verbose] # Report files with no smells
Commands:
preek git # Run Preek on git changes
preek help [COMMAND] # Describe available commands or one specific command
preek smell FILE(S)|DIR # Pretty format Reek output
preek version # Shows version
At the moment it only supports files, not stuff like this:
$ echo "def x() true end" | reek
Ruby
# Convenience method, prints all smells in files
filenames = Dir['**/*.rb']
Preek::Smell(filenames)
# To exclude certain smell classes
excludes = %w(IrresponsibleModule)
Preek::Smell(filenames, excludes)
Git
To run preek on your code before commit, place this in .git/hooks/pre-commit
#!/bin/sh
exec bundle exec preek git
0
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request