A Vile plugin for identifying common style and maintainability issues in your Ruby code (via RuboCop).
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
lib
src
test
.babelrc
.editorconfig
.eslintignore
.eslintrc
.gitattributes
.gitignore
.vile.yml
CHANGELOG.md
CODE_OF_CONDUCT.md
LICENSE
README.md
coffeelint.json
package-lock.json
package.json

README.md

vile-rubocop

A Vile plugin for identifying common style and maintainability issues in your Ruby code (via Rubocop).

Requirements

Installation

Currently, you need to have rubocop installed manually.

Example:

npm i -D vile vile-rubocop
gem install rubocop

Note: A good strategy is to use Bundler.

Config

You can pass a custom config vile path -c ... as so:

rubocop:
  config: "another.rubocop.yml"

Ignoring Files

For now, ignoring is only supported via .rubocop.yml

Suggested config (as node_modules can be traversed):

AllCops:
  Exclude:
    - 'node_modules/**/*'
    - 'vendor/**/*'
    - 'tmp/**/*'
    - 'bin/**/*'

Allowing Files

You can set vile.allow or rubocop.allow and this plugin will honour it.

Example:

rubocop:
  allow:
    - app
    - spec

You can still specify included paths the normal Rubocop way, via .rubocop.yml.

Versioning

This project uses Semver.

Licensing

This project is licensed under the MPL-2.0 license.

Any contributions made to this project are made under the current license.

Contributions

Current list of Contributors.

Any contributions are welcome and appreciated!

All you need to do is submit a Pull Request.

  1. Please consider tests and code quality before submitting.
  2. Please try to keep commits clean, atomic and well explained (for others).

Issues

Current issue tracker is on GitHub.

Even if you are uncomfortable with code, an issue or question is welcome.

Code Of Conduct

By participating in this project you agree to our Code of Conduct.

Maintainers

Architecture

This project is currently written in JavaScript. Rubocop provides a JSON CLI output that is currently used until a more ideal IPC option is implemented.

  • bin houses any shell based scripts
  • src is es6+ syntax compiled with Babel
  • lib generated js library

Developing

cd vile-rubocop
npm install
gem install rubocop
npm run dev
npm test