Sha256: 919c743664db075439f770574b4a9637a010a372c7a02ec2472bda4f7c2261b8

Contents?: true

Size: 1.04 KB

Versions: 11

Compression:

Stored size: 1.04 KB

Contents

## Introduction

`Too Many Methods` is a special case of `LargeClass`. 

## Example

Given this configuration

```yaml
TooManyMethods:
  max_methods: 3
```

and this code:

```Ruby
class TooManyMethods
  def one; end
  def two; end
  def three; end
  def four; end
end
```

`reek` would emit the following warning:

```
test.rb -- 1 warning:
  [1]:TooManyMethods has at least 4 methods (TooManyMethods)
```
## Current Support in `reek`

`reek` counts all the methods it can find in a `class` - instance *and* class methods. So given `max_methods` from above is 4, this:

```Ruby
class TooManyMethods
  class << self
    def one; end
    def two; end
  end

  def three; end
  def four; end
end
```

would cause reek to emit the same warning as in the example above.

## Configuration

`reek`'s `Too Many Methods` detector offers the [Basic Smell Options](Basic-Smell-Options.md), plus:

| Option         | Value       | Effect  |
| ---------------|-------------|---------|
| max_methods     | integer | The maximum number of methods that are permitted. Defaults to 25 |

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
reek-3.3.0 docs/Too-Many-Methods.md
reek-3.2.1 docs/Too-Many-Methods.md
reek-3.2 docs/Too-Many-Methods.md
reek-3.1 docs/Too-Many-Methods.md
reek-3.0.4 docs/Too-Many-Methods.md
reek-3.0.3 docs/Too-Many-Methods.md
reek-3.0.2 docs/Too-Many-Methods.md
reek-3.0.1 docs/Too-Many-Methods.md
reek-3.0.0 docs/Too-Many-Methods.md
reek-2.2.1 docs/Too-Many-Methods.md
reek-2.2.0 docs/Too-Many-Methods.md