Sha256: 5b7f54a615b1f38e8af6391208994e7ece0d175a1cb7ab021d2ba73005ba1662

Contents?: true

Size: 1.83 KB

Versions: 3

Compression:

Stored size: 1.83 KB

Contents

[![Gem Version](https://badge.fury.io/rb/theforeman-rubocop.svg)](https://badge.fury.io/rb/theforeman-rubocop)

# theforeman-rubocop

![Foreman](https://raw.githubusercontent.com/theforeman/foreman-graphics/master/logo/foreman_medium.png)

Set of RuboCop styles for [Foreman](https://theforeman.org) and its plugins.

## Introduction

As we are one organization and almost one project, it would be nice to keep the similar standards for code quality.

Instead of defining the rules for plugin per plugin, plugins can include defaults from this gem.

## Usage

There is also a [guide how to run this in GH action](docs/github_action.md)

```ruby
# Gemfile
gem 'theforeman-rubocop', '~> 0.0.4'
```

And configure in the `.rubocop.yml`.

### Easiest config - all opinionated Cops `strict`

```yaml
inherit_gem:
  theforeman-rubocop:
    - strict.yml
```

### Basic style - `default`, performance and rails cops
```yaml
inherit_gem:
  theforeman-rubocop:
    - default.yml
```

### Not intrusive style - `lenient`
It is similar to default, but has some not as important cops disabled.
See `rules/style_lenient.yml` for disabled cops.

```yaml
inherit_gem:
  theforeman-rubocop:
    - lenient.yml
```

### All opinionated cops with new ones - `strictest`
If you want to closely follow what RuboCop introduces in its new versions, use this level.
It is the same as `strict`, but enables the newly introduced cops.

```yaml
inherit_gem:
  theforeman-rubocop:
    - strictest.yml
```

### Choose just some cops

Cops are splited in categories for your convenience, so you can opt-out some cops.

 .rubocop.yml
```yaml
inherit_gem:
  theforeman-rubocop:
    - rules/base.yml
    - rules/ruby_target.yml
    - rules/style.yml
    - rules/metrics.yml
    - rules/performance.yml
    - rules/rails.yml
    - rules/minitest.yml
    - rules/style_lenient.yml

AllCops:
  NewCops: disable
```

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
theforeman-rubocop-0.1.2 README.md
theforeman-rubocop-0.1.1 README.md
theforeman-rubocop-0.1.0 README.md