require: rubocop-rails

AllCops:
  Include:
    - Rakefile
    - config.ru
    - "**/Gemfile"
    - "**/*.gemspec"
    - "**/*.rake"
    - "**/*.rb"
  Exclude:
    - bin/**/*
    - config/**/*
    - db/**/*
    - node_modules/**/*
    - public/**/*
    - script/**/*
    - vendor/**/*
    - "**/*.erb"
  TargetRubyVersion: 2.7

Bundler/OrderedGems:
  Enabled: false

Metrics/BlockLength:
  Max: 100

Naming/MethodParameterName:
  MinNameLength: 1

Lint/AmbiguousBlockAssociation:
  Enabled: false
Layout/ClassStructure:
  Enabled: true
Layout/LineLength:
  Max: 140

Lint/RaiseException:
  Enabled: false
Lint/StructNewOverride:
  Enabled: false

Rails:
  Enabled: true

Style/ClassAndModuleChildren:
  Enabled: false
Style/CommentedKeyword:
  Enabled: false
Style/Documentation:
  Enabled: false
Style/EachWithObject:
  Enabled: false
Style/EmptyMethod:
  Enabled: false
Style/FormatStringToken:
  Enabled: false
Style/FrozenStringLiteralComment:
  Enabled: false
Style/HashEachMethods:
  Enabled: false
Style/HashTransformKeys:
  Enabled: false
Style/HashTransformValues:
  Enabled: false
Style/Lambda:
  EnforcedStyle: literal
Style/MethodCallWithArgsParentheses: # always use parentheses when you call a method, except:
  Enabled: true
  IgnoredMethods:
    [
      "authorize",
      "desc",
      "gem",
      "has_many",
      "head",
      "puts",
      "raise",
      "redirect_to",
      "render",
      "require",
      "require_relative",
      "ruby",
      "run",
      "separator",
      "source",
      "system",
      "task",
      "yield"
    ]
Style/MultilineMethodSignature:
  Enabled: true
Style/StringLiterals:
  EnforcedStyle: double_quotes
Style/SymbolArray:
  Enabled: false
