.rubocop.yml
# This configuration only includes the cops that differ from the Rubocop# defaults, which can be found here:# https://github.com/bbatsov/rubocop/blob/master/config/default.yml# https://github.com/bbatsov/rubocop/blob/master/config/enabled.yml# https://github.com/bbatsov/rubocop/blob/master/config/disabled.ymlrequire: - rubocop-rails - rubocop-rspec - rubocop-performance - rubocop-capybara - ./lib/linters/i18n_helper_html_linter.rb - ./lib/linters/analytics_event_name_linter.rb - ./lib/linters/localized_validation_message_linter.rb - ./lib/linters/image_size_linter.rb - ./lib/linters/mail_later_linter.rb - ./lib/linters/redirect_back_linter.rb - ./lib/linters/url_options_linter.rb - ./lib/linters/errors_add_linter.rb AllCops: Exclude: - 'bin/**/*' - 'db/primary_migrate/*' - 'db/schema.rb' - 'db/worker_jobs_migrate/*' - 'db/worker_jobs_schema.rb' - 'lib/tasks/create_test_accounts.rb' - 'node_modules/**/*' - 'tmp/**/*' - 'vendor/**/*' - 'public/**/*' TargetRubyVersion: 3.4 TargetRailsVersion: 8.0 UseCache: true DisabledByDefault: true SuggestExtensions: false Rails: Enabled: true Bundler/DuplicatedGem: Enabled: true Bundler/InsecureProtocolSource: Enabled: true Capybara/CurrentPathExpectation: Enabled: true Gemspec/DuplicatedAssignment: Enabled: true IdentityIdp/I18nHelperHtmlLinter: Enabled: true Include: - app/views/**/*.erb - app/components/**/*.erb - app/controllers/**/*.rb IdentityIdp/AnalyticsEventNameLinter: Enabled: true Include: - app/services/analytics_events.rb IdentityIdp/LocalizedValidationMessageLinter: Enabled: true IdentityIdp/MailLaterLinter: Enabled: true IdentityIdp/UrlOptionsLinter: Enabled: true Exclude: - 'spec/**/*.rb' IdentityIdp/ErrorsAddLinter: Enabled: true Exclude: - 'spec/**/*.rb' IdentityIdp/ImageSizeLinter: Enabled: true Exclude: - app/components/barcode_component.html.erb - app/views/partials/multi_factor_authentication/_mfa_selection.html.erb - app/views/shared/_nav_branded.html.erb - app/views/sign_up/completions/show.html.erb - app/views/users/two_factor_authentication_setup/index.html.erb IdentityIdp/RedirectBackLinter: Enabled: true Layout/AccessModifierIndentation: Enabled: true EnforcedStyle: indent IndentationWidth: nullLayout/ArgumentAlignment: Enabled: true Layout/ArrayAlignment: Enabled: true Layout/BeginEndAlignment: Enabled: true Layout/BlockAlignment: Enabled: true EnforcedStyleAlignWith: either Layout/BlockEndNewline: Enabled: true Layout/ClosingHeredocIndentation: Enabled: true Layout/ClosingParenthesisIndentation: Enabled: true Layout/CommentIndentation: Enabled: true Layout/ConditionPosition: Enabled: true Layout/DefEndAlignment: Enabled: true EnforcedStyleAlignWith: start_of_line AutoCorrect: true Severity: warning Layout/DotPosition: Description: Checks the position of the dot in multi-line method calls. StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains EnforcedStyle: leading SupportedStyles: - leading - trailing Layout/EmptyComment: Enabled: true AllowBorderComment: true AllowMarginComment: true Layout/EmptyLineAfterMagicComment: Enabled: true Layout/EmptyLineBetweenDefs: Enabled: true AllowAdjacentOneLineDefs: false NumberOfEmptyLines: 1 Layout/EmptyLines: Enabled: true Layout/EmptyLinesAroundAccessModifier: Enabled: true Layout/EmptyLinesAroundArguments: Enabled: true Layout/EmptyLinesAroundBeginBody: Enabled: true Layout/EmptyLinesAroundBlockBody: Enabled: true EnforcedStyle: no_empty_lines Layout/EmptyLinesAroundClassBody: Enabled: true EnforcedStyle: no_empty_lines Layout/EmptyLinesAroundExceptionHandlingKeywords: Enabled: true Layout/EmptyLinesAroundMethodBody: Enabled: true Layout/EmptyLinesAroundModuleBody: Enabled: true EnforcedStyle: no_empty_lines Layout/EndOfLine: Enabled: true EnforcedStyle: native Layout/ExtraSpacing: AllowForAlignment: true ForceEqualSignAlignment: false Layout/FirstArgumentIndentation: Enabled: true EnforcedStyle: consistent IndentationWidth: nullLayout/FirstArrayElementIndentation: EnforcedStyle: special_inside_parentheses SupportedStyles: - special_inside_parentheses - consistent - align_brackets IndentationWidth: nullLayout/FirstHashElementIndentation: Enabled: true EnforcedStyle: consistent IndentationWidth: nullLayout/FirstMethodArgumentLineBreak: Enabled: true Layout/HashAlignment: Enabled: true Layout/HeredocIndentation: Enabled: true Layout/IndentationConsistency: Enabled: true EnforcedStyle: normal Layout/IndentationStyle: Enabled: true Layout/IndentationWidth: Enabled: true Layout/InitialIndentation: Enabled: true Layout/LeadingCommentSpace: Enabled: true Layout/LeadingEmptyLines: Enabled: true Layout/LineLength: Description: Limit lines to 100 characters. StyleGuide: https://github.com/bbatsov/ruby-style-guide#80-character-limits Enabled: true Max: 100 AllowURI: true URISchemes: - http - https Exclude: - config/routes.rb Layout/MultilineArrayBraceLayout: Enabled: true EnforcedStyle: symmetrical Layout/MultilineBlockLayout: Enabled: true Layout/MultilineHashBraceLayout: Enabled: true EnforcedStyle: symmetrical Layout/MultilineHashKeyLineBreaks: Enabled: true Layout/MultilineMethodCallBraceLayout: Enabled: true Layout/MultilineMethodCallIndentation: Enabled: true EnforcedStyle: indented Layout/MultilineMethodDefinitionBraceLayout: Enabled: true EnforcedStyle: symmetrical Layout/MultilineOperationIndentation: EnforcedStyle: aligned SupportedStyles: - aligned - indented IndentationWidth: null Layout/ParameterAlignment: Description: Align the parameters of a method call if they span more than one line. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-double-indent EnforcedStyle: with_first_parameter SupportedStyles: - with_first_parameter - with_fixed_indentation IndentationWidth: null Layout/RescueEnsureAlignment: Enabled: true Layout/SpaceAfterColon: Enabled: true Layout/SpaceAfterComma: Enabled: true Layout/SpaceAfterMethodName: Enabled: true Layout/SpaceAfterNot: Enabled: true Layout/SpaceAfterSemicolon: Enabled: true Layout/SpaceAroundBlockParameters: Enabled: true EnforcedStyleInsidePipes: no_space Layout/SpaceAroundEqualsInParameterDefault: Enabled: true EnforcedStyle: space Layout/SpaceAroundKeyword: Enabled: true Layout/SpaceAroundMethodCallOperator: Enabled: true Layout/SpaceAroundOperators: Enabled: true EnforcedStyleForExponentOperator: space AllowForAlignment: false Layout/SpaceBeforeBlockBraces: Enabled: true EnforcedStyle: space EnforcedStyleForEmptyBraces: space Layout/SpaceBeforeComma: Enabled: true Layout/SpaceBeforeComment: Enabled: true Layout/SpaceBeforeFirstArg: Enabled: true AllowForAlignment: true Layout/SpaceBeforeSemicolon: Enabled: true Layout/SpaceInLambdaLiteral: Enabled: true EnforcedStyle: require_no_space Layout/SpaceInsideArrayLiteralBrackets: Enabled: true Layout/SpaceInsideBlockBraces: Enabled: true Layout/SpaceInsideHashLiteralBraces: Enabled: true Layout/SpaceInsideParens: Enabled: true Layout/TrailingEmptyLines: Enabled: true EnforcedStyle: final_newline Layout/TrailingWhitespace: Enabled: true AllowInHeredoc: true Lint/AmbiguousAssignment: Enabled: true Lint/AmbiguousOperator: Enabled: true Lint/AmbiguousRegexpLiteral: Enabled: true Lint/AssignmentInCondition: Enabled: true AllowSafeAssignment: true Layout/AssignmentIndentation: Enabled: true IndentationWidth: 2 Lint/BigDecimalNew: Enabled: true Lint/BinaryOperatorWithIdenticalOperands: Enabled: true Lint/BooleanSymbol: Enabled: true Lint/CircularArgumentReference: Enabled: true Lint/ConstantReassignment: Enabled: true Lint/Debugger: Enabled: true Lint/DeprecatedClassMethods: Enabled: true Lint/DeprecatedConstants: Enabled: true Lint/DeprecatedOpenSSLConstant: Enabled: true Lint/DuplicateCaseCondition: Enabled: true Lint/DuplicateElsifCondition: Enabled: true Lint/DuplicateHashKey: Enabled: true Lint/DuplicateMethods: Enabled: true Lint/DuplicateRegexpCharacterClassElement: Enabled: true Lint/DuplicateRequire: Enabled: true Lint/DuplicateRescueException: Enabled: true Lint/EachWithObjectArgument: Enabled: true Lint/ElseLayout: Enabled: true Lint/EmptyEnsure: Enabled: true AutoCorrect: true Lint/EmptyExpression: Enabled: true Lint/EmptyInPattern: Enabled: true Lint/EmptyInterpolation: Enabled: true Lint/EmptyWhen: Enabled: true AllowComments: true Lint/EnsureReturn: Enabled: true Lint/ErbNewArguments: Enabled: true Lint/FlipFlop: Enabled: true Lint/FloatComparison: Enabled: true Lint/FloatOutOfRange: Enabled: true Lint/FormatParameterMismatch: Enabled: true Lint/IdentityComparison: Enabled: true Lint/ImplicitStringConcatenation: Enabled: true Lint/IneffectiveAccessModifier: Enabled: true Lint/InheritException: Enabled: true EnforcedStyle: runtime_error Lint/InterpolationCheck: Enabled: true Lint/LiteralAsCondition: Enabled: true Lint/LiteralInInterpolation: Enabled: true Lint/Loop: Enabled: true Lint/MissingCopEnableDirective: Enabled: true MaximumRangeSize: .inf Lint/MixedRegexpCaptureTypes: Enabled: true Lint/MultipleComparison: Enabled: true Lint/NestedMethodDefinition: Enabled: true Lint/NestedPercentLiteral: Enabled: true Lint/NextWithoutAccumulator: Enabled: true Lint/NonDeterministicRequireOrder: Enabled: true Lint/NonLocalExitFromIterator: Enabled: true Lint/NumberedParameterAssignment: Enabled: true Lint/OrAssignmentToConstant: Enabled: true Lint/OrderedMagicComments: Enabled: true Lint/OutOfRangeRegexpRef: Enabled: true Lint/ParenthesesAsGroupedExpression: Enabled: true Lint/PercentSymbolArray: Enabled: true Lint/RaiseException: Enabled: true Lint/RandOne: Enabled: true Lint/RedundantCopDisableDirective: Enabled: true Lint/RedundantCopEnableDirective: Enabled: true Lint/RedundantRequireStatement: Enabled: true Lint/RedundantSplatExpansion: Enabled: true Lint/RedundantStringCoercion: Enabled: true Lint/RedundantWithIndex: Enabled: true Lint/RedundantWithObject: Enabled: true Lint/RegexpAsCondition: Enabled: true Lint/RequireRelativeSelfPath: Enabled: true Lint/RequireParentheses: Enabled: true Lint/RescueException: Enabled: true Lint/RescueType: Enabled: true Lint/ReturnInVoidContext: Enabled: true Lint/SafeNavigationChain: Enabled: true AllowedMethods: - present? - blank? - presence - try - try! Lint/SafeNavigationConsistency: Enabled: true AllowedMethods: - present? - blank? - presence - try - try! Lint/SafeNavigationWithEmpty: Enabled: true Lint/SelfAssignment: Enabled: true Lint/ShadowedArgument: Enabled: true IgnoreImplicitReferences: false Lint/SymbolConversion: Enabled: true Lint/Syntax: Enabled: true Lint/TopLevelReturnWithArgument: Enabled: true Lint/TrailingCommaInAttributeDeclaration: Enabled: true Lint/UnderscorePrefixedVariableName: Enabled: true Lint/UnifiedInteger: Enabled: true Lint/UnreachableCode: Enabled: true Lint/UnusedMethodArgument: Enabled: true AllowUnusedKeywordArguments: false Lint/UnusedBlockArgument: Enabled: true AllowUnusedKeywordArguments: true Lint/UriEscapeUnescape: Enabled: true Lint/UriRegexp: Enabled: true Lint/UselessAssignment: Enabled: true Lint/UselessSetterCall: Enabled: true Lint/UselessTimes: Enabled: true Lint/Void: Enabled: true CheckForMethodsWithNoSideEffects: false Metrics/BlockLength: CountComments: false Enabled: true Max: 25 AllowedMethods: - Struct.new - RedactedStruct.new Exclude: - Rakefile - '**/*.rake' - config/environments/*.rb - config/routes.rb - spec/**/*.rb - scripts/**/* Metrics/ParameterLists: CountKeywordArgs: false Migration/DepartmentName: Enabled: true Naming/BinaryOperatorParameterName: Enabled: true Naming/BlockParameterName: Enabled: true MinNameLength: 1 AllowNamesEndingInNumbers: true AllowedNames: [] ForbiddenNames: [] Naming/ClassAndModuleCamelCase: Enabled: true Naming/ConstantName: Enabled: true Naming/HeredocDelimiterCase: Enabled: true EnforcedStyle: uppercase Naming/MemoizedInstanceVariableName: Enabled: true EnforcedStyleForLeadingUnderscores: disallowed Naming/MethodParameterName: MinNameLength: 2 Naming/PredicateName: Enabled: true AllowedMethods: - is_a? ForbiddenPrefixes: # overriding to allow "has_" - is_ - have_ Naming/VariableName: Exclude: - spec/services/pii/nist_encryption_spec.rb Performance/BigDecimalWithNumericArgument: Enabled: true Performance/BindCall: Enabled: true Performance/BlockGivenWithExplicitBlock: Enabled: true Performance/Caller: Enabled: true Performance/CollectionLiteralInLoop: Enabled: false Performance/CompareWithBlock: Enabled: true Performance/ConstantRegexp: Enabled: true Performance/Count: Enabled: true Performance/DeletePrefix: Enabled: true Performance/DeleteSuffix: Enabled: true Performance/Detect: Enabled: true Performance/DoubleStartEndWith: Enabled: true IncludeActiveSupportAliases: false Performance/EndWith: Enabled: true Performance/FixedSize: Enabled: true Performance/FlatMap: Enabled: true EnabledForFlattenWithoutParams: false Performance/InefficientHashSearch: Enabled: true Safe: false Performance/RangeInclude: Enabled: true Safe: false Performance/RedundantMatch: Enabled: true Performance/RedundantMerge: Enabled: true MaxKeyValuePairs: 2 Performance/RedundantSortBlock: Enabled: true Performance/RedundantSplitRegexpArgument: Enabled: true Performance/RedundantStringChars: Enabled: true Performance/RegexpMatch: Enabled: true Performance/ReverseEach: Enabled: true Performance/ReverseFirst: Enabled: true Performance/Size: Enabled: true Performance/SortReverse: Enabled: true Performance/Squeeze: Enabled: true Performance/StartWith: Enabled: true Performance/StringBytesize: Enabled: true Performance/StringIdentifierArgument: Enabled: true Performance/StringInclude: Enabled: true Performance/StringReplacement: Enabled: true Performance/UnfreezeString: Enabled: true Performance/UriDefaultParser: Enabled: true Rails/ActionControllerFlashBeforeRender: Enabled: true Rails/ActionControllerTestCase: Enabled: true Rails/ActionOrder: Enabled: false Rails/ActiveRecordCallbacksOrder: Enabled: true Rails/ActiveSupportOnLoad: Enabled: true Rails/AddColumnIndex: Enabled: true Rails/AfterCommitOverride: Enabled: true Rails/AttributeDefaultBlockValue: Enabled: true Rails/ApplicationMailer: Enabled: false Rails/Blank: Enabled: false Rails/CompactBlank: Enabled: false Rails/DangerousColumnNames: Enabled: true Rails/Delegate: Enabled: false Rails/DeprecatedActiveModelErrorsMethods: Enabled: false Rails/DotSeparatedKeys: Enabled: false Rails/DuplicateAssociation: Enabled: true Rails/DurationArithmetic: Enabled: false Rails/DuplicateScope: Enabled: false Rails/DynamicFindBy: Exclude: - spec/features/**/*.rb Rails/EagerEvaluationLogMessage: Enabled: true Rails/EnumSyntax: Enabled: true Rails/EnvLocal: Enabled: true # Disabling this can cause confusing errors and disabling it should be avoidedRails/Exit: Enabled: true Rails/ExpandedDateRange: Enabled: true Rails/FilePath: Enabled: false Rails/FindById: Enabled: true Rails/FreezeTime: Enabled: true Rails/HttpPositionalArguments: Description: Use keyword arguments instead of positional arguments in http method calls. Enabled: true Include: - spec/**/* - test/**/* Rails/I18nLazyLookup: Enabled: false Rails/I18nLocaleAssignment: Enabled: false Rails/I18nLocaleTexts: Enabled: false Rails/IgnoredColumnsAssignment: Enabled: false Rails/Inquiry: Enabled: true Rails/MailerName: Enabled: true Rails/MatchRoute: Enabled: true Rails/MigrationClassName: Enabled: true Rails/NegateInclude: Enabled: false Rails/Output: Enabled: true Include: - app/**/*.rb - config/**/*.rb - db/**/*.rb - lib/**/*.rb - spec/**/*.rb # in addition to default Rails/Pluck: Enabled: false Rails/PluckInWhere: Enabled: true Rails/Present: Enabled: false Rails/RedundantActiveRecordAllMethod: Enabled: true Rails/RedundantPresenceValidationOnBelongsTo: Enabled: false Rails/RedundantTravelBack: Enabled: true Rails/RelativeDateConstant: Enabled: false Rails/RenderInline: Enabled: true Rails/RenderPlainText: Enabled: true Rails/ResponseParsedBody: Enabled: false Rails/RootJoinChain: Enabled: true Rails/RootPathnameMethods: Enabled: false Rails/RootPublicPath: Enabled: true Rails/SelectMap: Enabled: true Rails/ShortI18n: Enabled: true Rails/SkipsModelValidations: Enabled: true Exclude: - 'spec/**/*.rb' Rails/StripHeredoc: Enabled: false Rails/SquishedSQLHeredocs: Enabled: false Rails/ThreeStateBooleanColumn: Enabled: true Rails/TimeZone: Description: Checks the correct usage of time zone aware methods. StyleGuide: https://github.com/bbatsov/rails-style-guide#time Enabled: true EnforcedStyle: strict SupportedStyles: - strict - flexible Rails/TimeZoneAssignment: Enabled: true Rails/ToFormattedS: Enabled: false Rails/ToSWithArgument: Enabled: false Rails/TopLevelHashWithIndifferentAccess: Enabled: true Rails/TransactionExitStatement: Enabled: true Rails/UnusedIgnoredColumns: Enabled: true Rails/UnusedRenderContent: Enabled: true Rails/WhereEquals: Enabled: true Rails/WhereExists: Enabled: true Rails/WhereMissing: Enabled: true Rails/WhereNot: Enabled: false Rails/WhereNotWithMultipleConditions: Enabled: true Rails/WhereRange: Enabled: false RSpec/LeakyConstantDeclaration: Enabled: true RSpec/MissingExpectationTargetMethod: Enabled: true RSpec/RedundantPredicateMatcher: Enabled: true Security/Eval: Enabled: true Security/JSONLoad: Enabled: true AutoCorrect: false SafeAutoCorrect: false Security/Open: Enabled: true Safe: false Security/YAMLLoad: Enabled: true SafeAutoCorrect: false Style/Alias: Enabled: true EnforcedStyle: prefer_alias_method Style/AndOr: Description: Use &&/|| instead of and/or. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-and-or-or EnforcedStyle: conditionals SupportedStyles: - always - conditionals Style/ArgumentsForwarding: UseAnonymousForwarding: false Enabled: true Style/ArrayJoin: Enabled: true Style/Attr: Enabled: true Style/BarePercentLiterals: Enabled: true EnforcedStyle: bare_percent Style/BeginBlock: Enabled: true Style/BlockComments: Enabled: true Style/BlockDelimiters: Enabled: true EnforcedStyle: line_count_based Style/CharacterLiteral: Enabled: true Style/ClassCheck: Enabled: true EnforcedStyle: is_a? Style/ClassEqualityComparison: Enabled: true Style/ClassMethods: Enabled: true Style/CollectionMethods: Enabled: true Style/ColonMethodCall: Enabled: true Style/ColonMethodDefinition: Enabled: true Style/CommandLiteral: Enabled: true EnforcedStyle: mixed AllowInnerBackticks: false Style/CommentedKeyword: Enabled: true Style/DefWithParentheses: Enabled: true Style/Dir: Enabled: true Style/DirEmpty: Enabled: true Style/EachForSimpleLoop: Enabled: true Style/EachWithObject: Enabled: true Style/EmptyBlockParameter: Enabled: true Style/EmptyCaseCondition: Enabled: true Style/EmptyElse: EnforcedStyle: both SupportedStyles: - empty - nil - both Style/EmptyLambdaParameter: Enabled: true Style/Encoding: Enabled: true Style/EndBlock: Enabled: true AutoCorrect: true Style/EvalWithLocation: Enabled: true Style/ExactRegexpMatch: Enabled: true Style/For: Enabled: true EnforcedStyle: each Style/FrozenStringLiteralComment: Enabled: true Exclude: - 'spec/**/*.rb' - '.irbrc' - '.rubocop.yml' - 'Brewfile' - 'Gemfile' - 'Rakefile' Style/GlobalVars: Enabled: true AllowedVariables: [] Style/HashConversion: Enabled: true Style/HashExcept: Enabled: true Style/HashSyntax: EnforcedStyle: ruby19 EnforcedShorthandSyntax: either Style/IdenticalConditionalBranches: Enabled: true Style/IfInsideElse: Enabled: true Style/IfUnlessModifier: Description: Favor modifier if/unless usage when you have a single-line body. StyleGuide: https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier Enabled: false Style/IfUnlessModifierOfIfUnless: Enabled: true Style/IfWithSemicolon: Enabled: true Style/InfiniteLoop: Enabled: true Style/InPatternThen: Enabled: true Style/KeywordParametersOrder: Enabled: true Style/LambdaCall: Enabled: true EnforcedStyle: call Style/LineEndConcatenation: Enabled: true SafeAutoCorrect: false Style/MethodCallWithoutArgsParentheses: Enabled: true AllowedMethods: [] Style/MethodDefParentheses: Enabled: true Style/MissingRespondToMissing: Enabled: true Style/MixinGrouping: Enabled: true EnforcedStyle: separated Style/MixinUsage: Enabled: true Style/MultilineIfModifier: Enabled: true Style/MultilineIfThen: Enabled: true Style/MultilineInPatternThen: Enabled: true Style/MultilineMemoization: Enabled: true EnforcedStyle: keyword Style/MultilineWhenThen: Enabled: true Style/MutableConstant: Enabled: true EnforcedStyle: strict Style/NegatedWhile: Enabled: true Style/NestedModifier: Enabled: true Style/NestedTernaryOperator: Enabled: true Style/NilComparison: Enabled: true EnforcedStyle: predicate Style/NilLambda: Enabled: true Style/NonNilCheck: Enabled: true IncludeSemanticChanges: false Style/Not: Enabled: true Style/NumericLiteralPrefix: Enabled: true EnforcedOctalStyle: zero_with_o Style/OneLineConditional: Enabled: true Style/OpenStructUse: Enabled: true Style/OptionalArguments: Enabled: true Style/OrAssignment: Enabled: true Style/PercentLiteralDelimiters: PreferredDelimiters: default: '()' '%i': '[]' '%I': '[]' '%r': '{}' '%w': '[]' '%W': '[]' Style/Proc: Enabled: true Style/RandomWithOffset: Enabled: true Style/RedundantAssignment: Enabled: true Style/RedundantCondition: Enabled: true Style/RedundantConditional: Enabled: true Style/RedundantException: Enabled: true Style/RedundantFetchBlock: Enabled: true Style/RedundantFileExtensionInRequire: Enabled: true Style/RedundantFreeze: Enabled: true Style/RedundantInterpolation: Enabled: true Style/RedundantHeredocDelimiterQuotes: Enabled: true Style/RedundantLineContinuation: Enabled: true Style/RedundantArrayConstructor: Enabled: true Style/RedundantFilterChain: Enabled: true Style/RedundantRegexpConstructor: Enabled: true Style/RedundantParentheses: Enabled: true Style/RedundantPercentQ: Enabled: true Style/RedundantRegexpCharacterClass: Enabled: true Style/RedundantRegexpEscape: Enabled: true Style/RedundantSort: Enabled: true Style/RedundantSortBy: Enabled: true Style/RescueModifier: Enabled: true Style/SafeNavigation: Enabled: true ConvertCodeThatCanStartToReturnNil: false AllowedMethods: - present? - blank? - presence - try - try! Style/Sample: Enabled: true Style/SelfAssignment: Enabled: true Style/Semicolon: Enabled: true AllowAsExpressionSeparator: false Style/StabbyLambdaParentheses: Enabled: true EnforcedStyle: require_parentheses Style/StderrPuts: Enabled: true Style/StringChars: Enabled: true Style/StringLiterals: Description: Checks if uses of quotes match the configured preference. StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-string-literals EnforcedStyle: single_quotes SupportedStyles: - single_quotes - double_quotes ConsistentQuotesInMultiline: true Style/Strip: Enabled: true Style/SymbolLiteral: Enabled: true Style/TrailingBodyOnClass: Enabled: true Style/TrailingBodyOnMethodDefinition: Enabled: true Style/TrailingBodyOnModule: Enabled: true Style/TrailingCommaInArguments: EnforcedStyleForMultiline: comma SupportedStylesForMultiline: - comma - consistent_comma - no_comma Style/TrailingCommaInArrayLiteral: EnforcedStyleForMultiline: comma SupportedStylesForMultiline: - comma - consistent_comma - no_comma Style/TrailingCommaInBlockArgs: Enabled: true Style/TrailingCommaInHashLiteral: EnforcedStyleForMultiline: comma SupportedStylesForMultiline: - comma - consistent_comma - no_comma Style/TrailingMethodEndStatement: Enabled: true Style/UnlessElse: Enabled: true Style/UnpackFirst: Enabled: true Style/VariableInterpolation: Enabled: true Style/WhenThen: Enabled: true Style/WhileUntilDo: Enabled: true Style/YodaCondition: Enabled: true EnforcedStyle: forbid_for_all_comparison_operators