- Bugfix: Allow multiple spaces before class name. (#34)
- Bugfix: Remove wacky broken conditional in AbcCheck. (#33)
- Doc: Better guidance on class level comments. (#35)
- Bugfix: Stricter magic comment regex to avoid false positives (#31)
- Bugfix: parallel option can be set in rake tasks
- Gracefully handle ambiguous options like
-abc-max
(#27) - Provide the
--parallel
option to use all processors. This will be faster on larger projects, but slower on smaller ones (#28)
- Support for user-defined checks (#30)
- ABC check labels
MyClass = Struct.new {}
andClass.new
correctly (#20) - Magic comments (
# encoding: utf-8
) are not recognized as appropriate class documentation (#21) - Invalid UTF-8 is handled correctly (#22)
- Gracefully handle unknown options
- ABC check output uses a standard format (
Foo::Bar#method
rather thanFoo > Bar > method
) - BREAKING Add
--abc-exclude
,--style-exclude
CLI flags, remove YAML support - BREAKING-INTERNAL Use hashes rather than explicit violation classes
- BREAKING-INTERNAL Remove translator class, pass CLI args direct to checks
- INTERNAL Wiring in a new check only requires changing one file (#15)
This snippet will convert your YAML exclusions file to the new CLI syntax:
y = YAML.load(File.read('exclusions.yml'))
puts (
y.fetch('abc', []).map {|x| %|--abc-exclude "#{x}"| } +
y.fetch('style', []).map {|x| %|--style-exclude "#{x}"| }
).join("\n")
- Allow files and methods to be whitelisted (#16)
- Show total number of violations in output (#14)
- Remove dependency on tailor. Fewer styles checks are performed, but the three remaining are the only ones I've found useful.
- Gracefully handle files with invalid syntax (#1)
- Included class methods in ABC check (#8)
- Can disable style and doc checks from rake task (#9)
app
added to default globs- Added
cane/rake_task
class << obj
syntax ignore by documentation check- Line length checks no longer include trailing new lines
- Add support for a
.cane
file for setting per-project default options.
- Initial release.