ybart / ruumba

RuboCop linting for ERB templates.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.2.2+

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)
end

Then:

λ bundle exec rake ruumba

Fix paths and unapplicable cops

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

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

About

RuboCop linting for ERB templates.

License:MIT License


Languages

Language:Ruby 85.9%Language:Shell 14.1%