K-and-R/email_validator

View on GitHub
.rubocop.yml

Summary

Maintainability
Test Coverage
# The behavior of RuboCop can be controlled via the .rubocop.yml
# configuration file. It makes it possible to enable/disable
# certain cops (checks) and to alter their behavior if they accept
# any parameters. The file can be placed either in your home
# directory or in some project directory.
#
# RuboCop will start looking for the configuration file in the directory
# where the inspected file is and continue its way up to the root directory.
#
# See https://github.com/rubocop-hq/rubocop/blob/master/manual/configuration.md
require:
  - rubocop-rake
  - rubocop-rspec

AllCops:
  Exclude:
    - 'bin/*'
  NewCops: enable
  TargetRubyVersion: 2.4

Bundler/GemComment:
  Enabled: true

Bundler/OrderedGems:
  TreatCommentsAsGroupSeparators: true

RSpec/Capybara/FeatureMethods:
  Enabled: true
  EnabledMethods:
    - feature
    - given
    - background
    - scenario

Layout/ArgumentAlignment:
  Enabled: true

Layout/BlockAlignment:
  Enabled: true

Layout/BlockEndNewline:
  Enabled: true

Layout/ClassStructure:
  Enabled: true
  Categories:
    module_inclusion:
      - include
      - prepend
      - extend
  ExpectedOrder:
      - module_inclusion
      - constants
      - public_class_methods
      - initializer
      - instance_methods
      - protected_methods
      - private_methods

Layout/ClosingParenthesisIndentation:
  Enabled: true

Layout/EndOfLine:
  EnforcedStyle: lf

Layout/EmptyLineAfterGuardClause:
  Enabled: false

Layout/EmptyLinesAroundAttributeAccessor:
  Enabled: true

Layout/FirstArgumentIndentation:
  Enabled: true

Layout/FirstArrayElementIndentation:
  Enabled: true
  EnforcedStyle: consistent
  IndentationWidth: 2

Layout/FirstHashElementIndentation:
  Enabled: true
  EnforcedStyle: consistent

Layout/FirstParameterIndentation:
  Enabled: true
  EnforcedStyle: consistent

Layout/HashAlignment:
  Enabled: true

Layout/IndentationWidth:
  Enabled: true
  Width: 2

Layout/LineLength:
  AllowHeredoc: true
  AllowURI: true
  AutoCorrect: false
  Max: 120
  URISchemes:
    - http
    - https
    - mysql
    - mysql2
    - postgres
    - postgresql

Layout/MultilineArrayLineBreaks:
  Enabled: true

Layout/MultilineBlockLayout:
  Enabled: true

Layout/MultilineHashBraceLayout:
  Enabled: true

Layout/MultilineHashKeyLineBreaks:
  Enabled: true

Layout/MultilineMethodArgumentLineBreaks:
  Enabled: true

Layout/MultilineMethodCallBraceLayout:
  EnforcedStyle: new_line

Layout/ParameterAlignment:
  Enabled: true

Layout/SpaceAroundMethodCallOperator:
  Enabled: true

Lint/DeprecatedOpenSSLConstant:
  Enabled: true

Lint/DuplicateElsifCondition:
  Enabled: true

Lint/MixedRegexpCaptureTypes:
  Enabled: true

Lint/RaiseException:
  Enabled: true

Lint/StructNewOverride:
  Enabled: true

Metrics/BlockLength:
  Exclude:
    - 'spec/**/*.rb'
    - '**/*.gemspec'

Metrics/ClassLength:
  Max: 150

Metrics/MethodLength:
  Max: 15

Metrics/ModuleLength:
  Exclude:
    - 'spec/**/*.rb'

RSpec/ExampleLength:
  Max: 10

RSpec/NestedGroups:
  Max: 7

RSpec/PredicateMatcher:
  Enabled: true
  Strict: false
  EnforcedStyle: inflected

Style/AccessorGrouping:
  Enabled: true

Style/Alias:
  EnforcedStyle: prefer_alias_method

Style/ArrayCoercion:
  Enabled: false

Style/BisectedAttrAccessor:
  Enabled: true

Style/BlockDelimiters:
  Enabled: true

Style/CaseLikeIf:
  Enabled: true

Style/DoubleNegation:
  Enabled: false

Style/ExponentialNotation:
  Enabled: true

Style/FrozenStringLiteralComment:
  Enabled: false

Style/HashAsLastArrayItem:
  Enabled: true

Style/HashEachMethods:
  Enabled: true

Style/HashLikeCase:
  Enabled: true

Style/HashSyntax:
  Enabled: true
  EnforcedStyle: hash_rockets

Style/HashTransformKeys:
  Enabled: true

Style/HashTransformValues:
  Enabled: true

Style/RedundantAssignment:
  Enabled: true

Style/RedundantFetchBlock:
  Enabled: true

Style/RedundantFileExtensionInRequire:
  Enabled: true

Style/RedundantRegexpCharacterClass:
  Enabled: true

Style/RedundantRegexpEscape:
  Enabled: true

Style/SignalException:
  EnforcedStyle: semantic

Style/SlicingWithRange:
  Enabled: true