.erb or .rb, you're coming with me.
— RuboCop
Ruumba is RuboCop's sidekick, allowing you to lint your .erb Rubies as well as your regular-type ones.
- Ruby 2.2.2+
λ gem install ruumba
Command line:
λ ruumba directory_of_erb_files/
Rake task:
require 'ruumba/rake_task'
Ruumba::RakeTask.new(:ruumba) do |t|
t.dir = %w(lib/views)
end
Then:
λ bundle exec rake ruumba
By default, Rubocop only scan .rb
files and so does Ruumba. If you want shown
paths to reflect original paths, you can add create a .ruumba.yml
config file
with the following contents:
AllCops:
Include:
- '**/*.erb'
You can then disable .rb
extension auto-append and use your config file:
λ ruumba -D -e app/views -c .ruumba.yml
Since Ruumba rewrites new files form .erb
files contents, some formatting cops
cannot apply, you can disable them in your Ruumba file:
Style/FrozenStringLiteralComment:
Enabled: false
Layout/AlignHash:
Enabled: false
Layout/AlignParameters:
Enabled: false
Layout/IndentationWidth:
Enabled: false
Layout/TrailingBlankLines:
Enabled: false
You can use ruumba -a
or ruumba -D
to look for other cops if this list is
missing some.
You might want to include your existing rubocop config file by appending this in front of your Ruumba config:
inherit_from: .rubocop.yml
- Branch (
git checkout -b fancy-new-feature
) - Commit (
git commit -m "Fanciness!"
) - Test (
bundle exec rake spec
) - Lint (
bundle exec rake rubocop
) - Push (
git push origin fancy-new-feature
) - Ye Olde Pulle Requeste