Guideline

Guideline checks that your code is protecting the rule of coding guideline.
This library requires Ruby 1.9 or later.

Feature

  • For each method
  • Check ABC-complexity
  • Check the number of lines
  • Check unused method
  • For each file
  • Check the precense of hard tab indent
  • Check the presense of comma at the end of multiline Hash literal
  • Check the horizontal length of each line

Install

$ gem install guideline

Usage

$ guideline --help Usage: guideline [options] --no-abc-complexity (default: false) check method ABC complexity --no-hard-tab-indent (default: false) check hard tab indent --no-hash-comma (default: false) check last comma in Hash literal --no-long-line (default: false) check line length --no-long-method (default: false) check method height --no-trailing-whitespace (default: false) check trailing whitespace --no-unused-method (default: false) check unused method --no-detail (default: false) only render summary --abc-complexity= (default: 15) threshold of ABC complexity --long-line= (default: 80) threshold of long line --long-method= (default: 10) threshold of long method --path= (default: ./) checked file or dir or glob pattern

``` $ guideline –path /path/to/chatroid

lib/chatroid/adapter/campfire.rb 26: Line length 85 should be less than 80 characters

lib/chatroid/adapter/twitter/event.rb 48: Line length 87 should be less than 80 characters

spec/chatroid/adapter/twitter/event_spec.rb 49: Line length 81 should be less than 80 characters

spec/chatroid/adapter/twitter_spec.rb 30: Line length 85 should be less than 80 characters

lib/chatroid/adapter/twitter.rb 19: Too long 12 lines method <#stream> ```

``` $ guideline –path /path/to/guideline

lib/guideline/checkers/abc_complexity_checker.rb 40: ABC Complexity of method<Guideline::AbcComplexityChecker::Moduleable.included> 16 should be less than 10

lib/guideline/error.rb 5: Remove unused method ```