Sha256: ef0ef3bcce6a1df4e69aa31962b457f1a377db019298595efa6e0b6da108daee

Contents?: true

Size: 1.24 KB

Versions: 7

Compression:

Stored size: 1.24 KB

Contents

# Basic Smell Options

## Introduction

Every smell detector in Reek offers at least the following configuration options:

| Option         | Value       | Effect  |
| ---------------|-------------|---------|
| `enabled` |  Boolean | Determines whether the smell detector is active. Defaults to `true` |
| `exclude` | an array of strings or regular expressions | Ignores any context whose full description (see <strong>%c</strong> in [Command-Line Options](Command-Line-Options.md)) matches any element of this array. |

The file `config/defaults.reek` (shipped with the Reek gem) lists any default exclusions for each smell.

## Examples

<u>An easy one:</u>

To stop Reek reporting smells in any method called `write` you might create a configuration file containing this:

```yaml
ControlCouple: 
  exclude:
  - write
```

Or a little more sophisticated using a Ruby regex like this:

```yaml
ControlCouple: 
  exclude:
  - !ruby/regexp /write/
```

<u>A more sophisticated one:</u>

```yaml
FeatureEnvy:
  exclude:
    - "MyModel#do_things"
    - "MyHelper"
    - "ApplicationController#respond"
```

This would not report FeatureEnvy for the instance method `MyModel#do_things`, the whole module `MyHelper` and the `respond` instance method of `ApplicationController`

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
reek-3.5.0 docs/Basic-Smell-Options.md
reek-3.4.1 docs/Basic-Smell-Options.md
reek-3.4.0 docs/Basic-Smell-Options.md
reek-3.3.1 docs/Basic-Smell-Options.md
reek-3.3.0 docs/Basic-Smell-Options.md
reek-3.2.1 docs/Basic-Smell-Options.md
reek-3.2 docs/Basic-Smell-Options.md