Sha256: dc4b527bf0deea44742ab5de750012b6e7bd4db09aaeb533d626f50ae9ec1391

Contents?: true

Size: 1.24 KB

Versions: 8

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

8 entries across 8 versions & 1 rubygems

Version Path
reek-3.1 docs/Basic-Smell-Options.md
reek-3.0.4 docs/Basic-Smell-Options.md
reek-3.0.3 docs/Basic-Smell-Options.md
reek-3.0.2 docs/Basic-Smell-Options.md
reek-3.0.1 docs/Basic-Smell-Options.md
reek-3.0.0 docs/Basic-Smell-Options.md
reek-2.2.1 docs/Basic-Smell-Options.md
reek-2.2.0 docs/Basic-Smell-Options.md