Skip to content
Guard plugin for RuboCop
Ruby
Failed to load latest commit information.
lib/guard Specify error type for raise_error matcher explicitly Dec 9, 2015
spec Specify error type for raise_error matcher explicitly Dec 9, 2015
.gitignore
.rubocop.yml Disable RegexpLiteral cop in gemspec Dec 6, 2015
.travis.yml
.yardopts Add class documentation Jul 5, 2013
CHANGELOG.md Bump version to 1.2.0 Nov 5, 2014
Gemfile Remove unused dependencies for Jenkins CI Dec 9, 2015
Guardfile Fix style offenses in Guardfile Nov 3, 2014
LICENSE.txt Initial release Apr 21, 2013
README.md Refactor :hide_stdout feature Nov 5, 2014
Rakefile Simplify .travis.yml by defining CI task in Rakefile Dec 6, 2015
guard-rubocop.gemspec Rename constant Rubocop to RuboCop Aug 10, 2014

README.md

Gem Version Dependency Status Build Status Coverage Status Code Climate

guard-rubocop

guard-rubocop allows you to automatically check Ruby code style with RuboCop when files are modified.

Tested on MRI 1.9, 2.0, 2.1, JRuby in 1.9 mode and Rubinius.

Installation

Please make sure to have Guard installed before continue.

Add guard-rubocop to your Gemfile:

group :development do
  gem 'guard-rubocop'
end

and then execute:

$ bundle install

or install it yourself as:

$ gem install guard-rubocop

Add the default Guard::Rubocop definition to your Guardfile by running:

$ guard init rubocop

Usage

Please read the Guard usage documentation.

Options

You can pass some options in Guardfile like the following example:

guard :rubocop, all_on_start: false, cli: ['--format', 'clang', '--rails'] do
  # ...
end

Available Options

all_on_start: true     # Check all files at Guard startup.
                       #   default: true
cli: '--rails'         # Pass arbitrary RuboCop CLI arguments.
                       # An array or string is acceptable.
                       #   default: nil
hide_stdout: false      # Do not display console output (in case outputting to file).
                       #   default: false
keep_failed: true      # Keep failed files until they pass.
                       #   default: true
notification: :failed  # Display Growl notification after each run.
                       #   true    - Always notify
                       #   false   - Never notify
                       #   :failed - Notify only when failed
                       #   default: :failed

Advanced Tips

If you're using a testing Guard plugin such as guard-rspec together with guard-rubocop in the TDD way (the red-green-refactor cycle), you might be uncomfortable with the offense reports from RuboCop in the red-green phase:

  • In the red-green phase, you're not necessarily required to write clean code – you just focus writing code to pass the test. It means, in this phase, guard-rspec should be run but guard-rubocop should not.
  • In the refactor phase, you're required to make the code clean while keeping the test passing. In this phase, both guard-rspec and guard-rubocop should be run.

In this case, you may think the following Guardfile structure useful:

# This group allows to skip running RuboCop when RSpec failed.
group :red_green_refactor, halt_on_fail: true do
  guard :rspec do
    # ...
  end

  guard :rubocop do
    # ...
  end
end

Note: You need to use guard-rspec 4.2.3 or later due to a bug where it unintentionally fails when there are no spec files to be run.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

License

Copyright (c) 2013–2014 Yuji Nakayama

See the LICENSE.txt for details.

Something went wrong with that request. Please try again.