Reek

Code smell detector for Ruby.

Version

4.6.2

Runtime

Ruby Versions

Supported Languages

Ruby

Official Documentation

https://github.com/troessner/reek

YAML Configuration

reek:

  • input:

    Patterns to include in execution and reports.

  • ignore:

    Patterns to exclude from execution and reports.

  • auto-fix:

    N/A

  • config-file:

    Alias of --config option.

  • machine:

    • cpu:

      Amount of CPU. The default machine has 0.25 CPU with 960 MiB RAM.

  • options:

    Below is the list of options that are supported:

    Configuration:
        -c, --config FILE                Read configuration options from FILE
            --smell SMELL                Only look for a specific smell.
                                         Call it like this: reek --smell PrimaDonnaMethod source.rb
                                         Check out https://github.com/troessner/reek/blob/master/docs/Code-Smells.md for a list of smells
  • experimental:

    • incremental:

      true/false

      Note: The incremental analysis is disabled if any kinds of configuration files are changed. The files recognized as configuration files are as follows:

      • Configuration files:
        • Files specified in config-file field
        • Files specified to -c, --config options
        • If none of the above configuration files are found:
          • **/*.reek

YAML Examples

  • With default options:

    inspecode:
      reek: default
  • With custom machine:

    inspecode:
      reek:
        machine:
          cpu: 1.5 # 1.5 CPU, 5760 MiB RAM
  • With custom options:

    inspecode:
      reek:
        options:
          --smell: IrresponsibleModule
  • With a configuration file:

    inspecode:
      reek:
        config-file: ./my-reek.reek

    The above configuration is equivalent to:

    inspecode:
      reek:
        options:
          --config: ./my-reek.reek

Configuration File Detection

If no configuration files are specified via config-file or options field, Inspecode first lets Reek to find configuration files in your repository. See https://github.com/troessner/reek#configuration-file about how Reek looks for configuration files.

In addition, if Reek cannot find any configuration files, Inspecode also walks the file tree in lexical order in your repository to find a configuration file named *.reek and specifies the file first found to Reek automatically via --config option.

Note: Inspecode ignores specific configuration files while searching. See Configuration > Tool Configuration > Field: config-file for detail.

If the configuration file detected by Inspecode is not the one you want to use or you do not want to use any configuration files, you can disable Inspecode from detecting configuration files by explicitly setting an empty string to config-file field like below:

inspecode:
  reek:
    config-file: ""

results matching ""

    No results matching ""