# vile-ruby

> A Vile meta plugin for analyzing your Ruby code and ecosystem.

Latest version **0.1.3** (published 2017-09-30) · MPL-2.0 license · 0 weekly downloads

## Install

```sh
npm install vile-ruby
pnpm add vile-ruby
yarn add vile-ruby
bun add vile-ruby
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.3 |
| Published | 2017-09-30 |
| First published | 2017-09-30 |
| Weekly downloads | 0 |
| License | MPL-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 5 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Brent Lintner |
| Maintainers | brentlintner |
| Keywords | ruby, vile |

## Links

- npm: https://www.npmjs.com/package/vile-ruby
- Repository: https://github.com/forthright/vile-ruby
- Homepage: https://github.com/forthright/vile-ruby#readme
- Issues: https://github.com/forthright/vile-ruby/issues
- npm.io page: https://npm.io/package/vile-ruby

## Dependencies (5)

- [vile-git](https://npm.io/package/vile-git.md) ^0.5.6
- [vile-rubocop](https://npm.io/package/vile-rubocop.md) ^0.2.4
- [vile-rubycritic](https://npm.io/package/vile-rubycritic.md) ^0.3.0
- [vile-bundler-audit](https://npm.io/package/vile-bundler-audit.md) ^0.3.5
- [vile-bundler-outdated](https://npm.io/package/vile-bundler-outdated.md) ^0.1.3

## Recent versions

- 0.1.3 (latest) — 2017-09-30
- 0.1.2 — 2017-09-30
- 0.1.1 — 2017-09-30
- 0.1.0 — 2017-09-30

## README

<p align="center">
  <img width="64" style="background: none" src="https://user-images.githubusercontent.com/93340/30883744-2f236bc6-a2db-11e7-8b29-d65ebd1afde2.png" alt="the Ruby logo" />
  <p align="center">
    <strong>Vile-Ruby</strong>
  </p>
  <p align="center">
    A
    <a href="https://github.com/forthright/vile">Vile</a>
    meta plugin for analyzing your Ruby code and ecosystem.
  </p>
  <p align="center">
    <a href="https://www.npmjs.com/package/vile-ruby">
      <img src="https://badge.fury.io/js/vile-ruby.svg" alt="npm package">
    </a>
  </p>
</p>

## Table Of Contents

1. [Overview](#overview)
2. [Requirements](#requirements)
3. [Installation](#installation)
4. [Plugins](#plugins)
    * [Complexity](#complexity)
    * [Churn](#churn)
    * [Dependencies](#dependencies)
    * [Duplicate](#duplicate)
    * [Security](#security)
    * [File Statistics](#file-statistics)
    * [Commit Info](#commit-info)
    * [Lint Tools](#lint-tools)
5. [Frameworks](#frameworks)
    * [Rails](#rails)
6. [Caveats](#caveats)

## Overview

This package aims to provide a complete set of plugins and documentation
for analyzing your Ruby projects with [Vile](https://github.com/forthright/vile).

## Requirements

- [Node.js](https://nodejs.org)
- [Ruby](https://www.ruby-lang.org)
- [Bundler](https://bundler.io)

## Installation

    npm i -D vile vile-ruby

    # Add these to your Gemfile
    gem install rubocop rubycritic bundler bundler-audit

Note: Some plugins don't support Vile's allow/ignore out of the box

For example, [vile-rubycritic](https://github.com/forthright/vile-rubycritic#ignore) requires
you set specific `allow` paths to avoid traversing `node_modules`.

The same goes for [vile-rubocop](https://github.com/forthright/vile-rubocop#ignoring-files).

## Usage

Depending on your `gem` setup, you may need to do this:

    bundle exec vile analyze

## Plugins

<table>
  <tr>
    <th width="300">Analysis Types</th>
    <th width="600">Provided By</th>
  </tr>
  <tr>
    <td>Coverage</td>
    <td>
      <a id="coverage" href="https://github.com/forthright/vile-coverage">vile-coverage</a>
    </td>
  </tr>
  <tr>
    <td id="complexity">Complexity</td>
    <td>
      <a href="https://github.com/forthright/vile-rubycritic">vile-rubycritic</a>
    </td>
  </tr>
  <tr>
    <td id="churn">Churn</td>
    <td>
      <a href="https://github.com/forthright/vile-rubycritic">vile-rubycritic</a>
    </td>
  </tr>
  <tr>
    <td id="dependencies">Dependencies</td>
    <td>
      <a href="https://github.com/forthright/vile-bundler-outdated">vile-bundler-outdated</a>
    </td>
  </tr>
  <tr>
    <td id="duplicate">Duplicate</td>
    <td>
      <a href="https://github.com/forthright/vile-rubycritic">vile-rubycritic</a>
    </td>
  </tr>
  <tr>
    <td id="security">Security</td>
    <td>
      <a href="https://github.com/forthright/vile-bundler-audit">vile-bundler-audit</a>
    </td>
  </tr>
  <tr>
    <td id="file-statistics">File Statistics</td>
    <td>
      <a href="https://github.com/forthright/vile-stat">vile-stat</a>
    </td>
  </tr>
  <tr>
    <td id="commit-info">Commit Info</td>
    <td>
      <a href="https://github.com/forthright/vile-git">vile-git</a>
    </td>
  </tr>
  <tr>
    <td id="lint-tools">Lint Tools</td>
    <td>
      <p>Included:</p>
      <ul>
        <li>
          <a href="https://github.com/forthright/vile-rubocop">vile-rubocop</a>
        </li>
        <li>
          <a href="https://github.com/forthright/vile-rubycritic">vile-rubycritic</a>
        </li>
      </ul>
      <p>User installable:</p>
      <ul>
        <li>
          <a href="https://github.com/forthright/vile-brakeman">vile-brakeman</a>
        </li>
        <li>
          <a href="https://github.com/forthright/vile-rails-best-practices">vile-rails-best-practices</a>
        </li>
        <li>
          <a href="https://github.com/forthright/vile-reek">vile-reek</a>
        </li>
        <li>
          <a href="https://github.com/forthright/vile-sass-lint">vile-sass-lint</a>
        </li>
        <li>
          <a href="https://github.com/forthright/vile-scsslint">vile-scsslint</a>
        </li>
        <li>
          <a href="https://github.com/forthright/vile-slim-lint">vile-slim-lint</a>
        </li>
      </ul>
    </td>
  </tr>
</table>

## Frameworks

There are a number of plugins not included in the meta package that support various
ruby based frameworks.

#### Rails

An everyday Rails project example using [Sass](http://sass-lang.com):

    npm i -D vile vile-ruby vile-brakeman vile-rails-best-practices vile-sass-lint
    gem install rubocop rubycritic bundler bundler-audit brakeman rails-best-practices

For an in-depth article checkout our post: [Continuous Analysis For Your Rails Project Using Vile and CircleCI](https://medium.com/forthright/continuous-analysis-for-your-rails-project-using-vile-and-circleci-4fb077378ab6).

## Caveats

**Plugins won't install properly with npm v2 and below**

First check the packages got installed [flatly](https://docs.npmjs.com/how-npm-works/npm3):

    ls -l node_modules/* | grep vile

If not, you can also just pick and choose the [plugins](package.json) this package specifices.

For example, for a basic Ruby (using [Bundler](http://bundler.io)):

    npm i -D vile vile-git vile-rubycritic vile-rubocop vile-sass-lint vile-bundler-audit vile-bundler-outdated

---
_Source: https://npm.io/package/vile-ruby · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
