Project

ruumba

0.06
There's a lot of open issues
A long-lived project that still receives updates
RuboCop linting for ERB templates.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
 Project Readme

Ruumba

Build Status

.erb or .rb, you're coming with me.

— RuboCop

About

Ruumba is RuboCop's sidekick, allowing you to lint your .erb Rubies as well as your regular-type ones.

Dependencies

  • Ruby 2.4+

Installation

λ gem install ruumba

Usage

Command line:

λ ruumba directory_of_erb_files/

Rake task:

require 'ruumba/rake_task'

Ruumba::RakeTask.new(:ruumba) do |t|
  t.dir = %w(lib/views)

  # You can specify CLI options too:
  t.options = { arguments: %w[-c .ruumba.yml] }
end

Then:

λ bundle exec rake ruumba

Fix Paths and Non-Applicable Cops

By default, RuboCop only scans .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 the .rb extension auto-append and use your config file:

λ ruumba -D -e app/views -c .ruumba.yml

Since Ruumba rewrites new files from .erb files contents, some formatting cops cannot apply. You can disable them in your Ruumba config file:

Style/FrozenStringLiteralComment:
  Enabled: false
Layout/HashAlignment:
  Enabled: false
Layout/ParameterAlignment:
  Enabled: false
Layout/IndentationWidth:
  Enabled: false
Layout/TrailingEmptyLines:
  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

Editor Integrations

Contributing

  1. Branch (git checkout -b fancy-new-feature)
  2. Commit (git commit -m "Fanciness!")
  3. Test (bundle exec rake spec)
  4. Lint (bundle exec rake rubocop)
  5. Push (git push origin fancy-new-feature)
  6. Ye Olde Pulle Requeste