AllCops: EnabledByDefault: true Exclude: - db/schema.rb # auto-generated file; best to leave as-is - node_modules/**/* - vendor/bundle/**/* TargetRubyVersion: 3.3 UseCache: true Bundler/GemComment: Enabled: false Bundler/GemVersion: Enabled: false Layout/ArgumentAlignment: EnforcedStyle: with_fixed_indentation Layout/ClassStructure: ExpectedOrder: - module_inclusion - constants - public_class_methods - initializer - public_methods - protected_methods - private_methods Layout/ConditionPosition: Enabled: false Layout/DotPosition: EnforcedStyle: trailing Layout/EmptyLineAfterMultilineCondition: Enabled: false Layout/EmptyLineBetweenDefs: AllowAdjacentOneLineDefs: true Layout/FirstArgumentIndentation: Enabled: false # this rule doesn't play nicely with the way that I like to use `memoize` Layout/FirstArrayElementIndentation: EnforcedStyle: consistent Layout/FirstMethodArgumentLineBreak: Enabled: false Layout/LineEndStringConcatenationIndentation: Exclude: - bin/* Layout/LineLength: AllowedPatterns: # ignore line length if the line is a comment without any spaces; it's probably not something we # can fix (e.g. a long file path) - !ruby/regexp /^ *#? [\S]+$/ Max: 100 Layout/MultilineMethodCallIndentation: EnforcedStyle: indented Layout/RedundantLineBreak: Enabled: false Layout/SingleLineBlockChain: Enabled: false Layout/SpaceBeforeBlockBraces: Enabled: false Layout/SpaceBeforeSemicolon: Enabled: false Layout/SpaceInsideHashLiteralBraces: EnforcedStyle: space Lint/AmbiguousBlockAssociation: Exclude: - spec/**/*.rb Lint/ConstantResolution: Enabled: false Lint/MissingSuper: Enabled: false Lint/RedundantSplatExpansion: Enabled: false Metrics/AbcSize: Enabled: false Metrics/BlockLength: Enabled: false Metrics/ClassLength: Enabled: false Metrics/MethodLength: Max: 30 Metrics/ModuleLength: Enabled: false Naming/BlockForwarding: Enabled: false Naming/InclusiveLanguage: Enabled: false Naming/RescuedExceptionsVariableName: Enabled: false Naming/VariableNumber: Enabled: false Style/ArgumentsForwarding: Enabled: false Style/ArrayFirstLast: Enabled: false Style/BlockDelimiters: Enabled: false Style/ClassAndModuleChildren: EnforcedStyle: compact Style/ClassMethodsDefinitions: Enabled: false Style/CollectionMethods: Enabled: false Style/CommentAnnotation: Enabled: false Style/ConstantVisibility: Enabled: false Style/Copyright: Enabled: false Style/DisableCopsWithinSourceCodeDirective: Enabled: false Style/Documentation: Enabled: false Style/DocumentationMethod: Enabled: false Style/EmptyCaseCondition: Enabled: false Style/FrozenStringLiteralComment: Enabled: true Style/GlobalStdStream: Enabled: false Style/GlobalVars: Enabled: false Style/GuardClause: Enabled: false Style/HashLikeCase: Enabled: false Style/IfUnlessModifier: Enabled: false Style/ImplicitRuntimeError: Enabled: false Style/InlineComment: Enabled: false Style/Lambda: Enabled: false Style/MethodCallWithArgsParentheses: AllowedMethods: - add_column - add_foreign_key - add_index - add_reference - and - belongs_to - bigint - boolean - change - change_column - change_column_default - change_column_null - change_table - create_table - datetime - desc - describe - drop_table - fail - file - float - foreign_key - gem - head - include - index - inet - integer - json - jsonb - load - not_to - p - print - puts - references - remove_column - remove_index - render - require - require_relative - ruby - run - source - string - text - timestamp - timestamps - to - visit Style/MethodCalledOnDoEndBlock: Enabled: false Style/MissingElse: Enabled: false Style/MultilineMethodSignature: Enabled: false Style/NegatedIf: Enabled: false Style/NumericPredicate: Enabled: false Style/ParenthesesAroundCondition: Enabled: false Style/RedundantArgument: Enabled: false Style/RedundantFileExtensionInRequire: Enabled: false Style/RedundantParentheses: Enabled: false Style/RegexpLiteral: Enabled: false Style/RequireOrder: Exclude: - bin/* - spec/spec_helper.rb Style/RescueModifier: Enabled: false Style/RescueStandardError: Enabled: false Style/ReturnNil: Enabled: false Style/Semicolon: Enabled: false Style/Send: Exclude: - spec/**/*.rb Style/SignalException: Enabled: false Style/StderrPuts: Enabled: false Style/StringHashKeys: Enabled: false Style/TernaryParentheses: Enabled: false Style/TopLevelMethodDefinition: Exclude: - db/datamigrate/**/*.rb Style/TrailingCommaInArguments: EnforcedStyleForMultiline: comma Style/TrailingCommaInArrayLiteral: EnforcedStyleForMultiline: comma Style/TrailingCommaInHashLiteral: EnforcedStyleForMultiline: comma