RuboCop is a Ruby static code analyzer and code formatter. Here is a list of some of its checks:
- Rubocop/Bundler/DuplicatedGem
- Rubocop/Bundler/OrderedGems
- Rubocop/Gemspec/OrderedDependencies
- Rubocop/Hired/SidekiqWorkerIncludeCatcher
- Rubocop/Hired/Unscoped
- Rubocop/Layout/AccessModifierIndentation
- Rubocop/Layout/AlignArguments
- Rubocop/Layout/AlignArray
- Rubocop/Layout/AlignHash
- Rubocop/Layout/AlignParameters
- Rubocop/Layout/BlockAlignment
- Rubocop/Layout/BlockEndNewline
- Rubocop/Layout/CaseIndentation
- Rubocop/Layout/ClosingParenthesisIndentation
- Rubocop/Layout/CommentIndentation
- Rubocop/Layout/DefEndAlignment
- Rubocop/Layout/DotPosition
- Rubocop/Layout/ElseAlignment
- Rubocop/Layout/EmptyLineAfterGuardClause
- Rubocop/Layout/EmptyLineAfterMagicComment
- Rubocop/Layout/EmptyLineBetweenDefs
- Rubocop/Layout/EmptyLines
- Rubocop/Layout/EmptyLinesAroundAccessModifier
- Rubocop/Layout/EmptyLinesAroundArguments
- Rubocop/Layout/EmptyLinesAroundBeginBody
- Rubocop/Layout/EmptyLinesAroundBlockBody
- Rubocop/Layout/EmptyLinesAroundClassBody
- Rubocop/Layout/EmptyLinesAroundExceptionHandlingKeywords
- Rubocop/Layout/EmptyLinesAroundMethodBody
- Rubocop/Layout/EmptyLinesAroundModuleBody
- Rubocop/Layout/EndAlignment
- Rubocop/Layout/EndOfLine
- Rubocop/Layout/ExtraSpacing
- Rubocop/Layout/FirstArrayElementLineBreak
- Rubocop/Layout/FirstParameterIndentation
- Rubocop/Layout/IndentArray
- Rubocop/Layout/IndentAssignment
- Rubocop/Layout/IndentFirstHashElement
- Rubocop/Layout/IndentHash
- Rubocop/Layout/IndentHeredoc
- Rubocop/Layout/IndentationConsistency
- Rubocop/Layout/IndentationWidth
- Rubocop/Layout/LeadingCommentSpace
- Rubocop/Layout/MultilineArrayBraceLayout
- Rubocop/Layout/MultilineBlockLayout
- Rubocop/Layout/MultilineHashBraceLayout
- Rubocop/Layout/MultilineMethodCallBraceLayout
- Rubocop/Layout/MultilineMethodCallIndentation
- Rubocop/Layout/MultilineOperationIndentation
- Rubocop/Layout/RescueEnsureAlignment
- Rubocop/Layout/SpaceAfterColon
- Rubocop/Layout/SpaceAfterComma
- Rubocop/Layout/SpaceAfterMethodName
- Rubocop/Layout/SpaceAfterNot
- Rubocop/Layout/SpaceAfterSemicolon
- Rubocop/Layout/SpaceAroundBlockParameters
- Rubocop/Layout/SpaceAroundEqualsInParameterDefault
- Rubocop/Layout/SpaceAroundKeyword
- Rubocop/Layout/SpaceAroundOperators
- Rubocop/Layout/SpaceBeforeBlockBraces
- Rubocop/Layout/SpaceBeforeComma
- Rubocop/Layout/SpaceBeforeComment
- Rubocop/Layout/SpaceBeforeFirstArg
- Rubocop/Layout/SpaceBeforeSemicolon
- Rubocop/Layout/SpaceInLambdaLiteral
- Rubocop/Layout/SpaceInsideArrayLiteralBrackets
- Rubocop/Layout/SpaceInsideBlockBraces
- Rubocop/Layout/SpaceInsideHashLiteralBraces
- Rubocop/Layout/SpaceInsideParens
- Rubocop/Layout/SpaceInsidePercentLiteralDelimiters
- Rubocop/Layout/SpaceInsideRangeLiteral
- Rubocop/Layout/SpaceInsideReferenceBrackets
- Rubocop/Layout/SpaceInsideStringInterpolation
- Rubocop/Layout/Tab
- Rubocop/Layout/TrailingBlankLines
- Rubocop/Layout/TrailingWhitespace
- Rubocop/Lint/AmbiguousBlockAssociation
- Rubocop/Lint/AmbiguousOperator
- Rubocop/Lint/AmbiguousRegexpLiteral
- Rubocop/Lint/AssignmentInCondition
- Rubocop/Lint/BlockAlignment
- Rubocop/Lint/BooleanSymbol
- Rubocop/Lint/DefEndAlignment
- Rubocop/Lint/DeprecatedClassMethods
- Rubocop/Lint/DuplicateMethods
- Rubocop/Lint/DuplicatedKey
- Rubocop/Lint/ElseLayout
- Rubocop/Lint/EmptyWhen
- Rubocop/Lint/EndAlignment
- Rubocop/Lint/EnsureReturn
- Rubocop/Lint/HandleExceptions
- Rubocop/Lint/IneffectiveAccessModifier
- Rubocop/Lint/InterpolationCheck
- Rubocop/Lint/LiteralAsCondition
- Rubocop/Lint/Loop
- Rubocop/Lint/MissingCopEnableDirective
- Rubocop/Lint/NestedMethodDefinition
- Rubocop/Lint/NonLocalExitFromIterator
- Rubocop/Lint/ParenthesesAsGroupedExpression
- Rubocop/Lint/PercentSymbolArray
- Rubocop/Lint/RedundantWithIndex
- Rubocop/Lint/RequireParentheses
- Rubocop/Lint/RescueException
- Rubocop/Lint/SafeNavigationChain
- Rubocop/Lint/ScriptPermission
- Rubocop/Lint/ShadowedArgument
- Rubocop/Lint/ShadowedException
- Rubocop/Lint/ShadowingOuterLocalVariable
- Rubocop/Lint/StringConversionInInterpolation
- Rubocop/Lint/Syntax
- Rubocop/Lint/ToJSON
- Rubocop/Lint/UnderscorePrefixedVariableName
- Rubocop/Lint/UnifiedInteger
- Rubocop/Lint/UnneededSplatExpansion
- Rubocop/Lint/UnreachableCode
- Rubocop/Lint/UnusedBlockArgument
- Rubocop/Lint/UnusedMethodArgument
- Rubocop/Lint/UriEscapeUnescape
- Rubocop/Lint/UriRegexp
- Rubocop/Lint/UselessAccessModifier
- Rubocop/Lint/UselessAssignment
- Rubocop/Lint/Void
- Rubocop/Metrics/AbcSize
- Rubocop/Metrics/BlockLength
- Rubocop/Metrics/BlockNesting
- Rubocop/Metrics/ClassLength
- Rubocop/Metrics/CyclomaticComplexity
- Rubocop/Metrics/LineLength
- Rubocop/Metrics/MethodLength
- Rubocop/Metrics/ModuleLength
- Rubocop/Metrics/ParameterLists
- Rubocop/Metrics/PerceivedComplexity
- Rubocop/Naming/AccessorMethodName
- Rubocop/Naming/BinaryOperatorParameterName
- Rubocop/Naming/ClassAndModuleCamelCase
- Rubocop/Naming/ConstantName
- Rubocop/Naming/FileName
- Rubocop/Naming/HeredocDelimiterCase
- Rubocop/Naming/HeredocDelimiterNaming
- Rubocop/Naming/MemoizedInstanceVariableName
- Rubocop/Naming/MethodName
- Rubocop/Naming/PredicateName
- Rubocop/Naming/RescuedExceptionsVariableName
- Rubocop/Naming/VariableName
- Rubocop/Naming/VariableNumber
- Rubocop/Performance/Caller
- Rubocop/Performance/CaseWhenSplat
- Rubocop/Performance/Casecmp
- Rubocop/Performance/CompareWithBlock
- Rubocop/Performance/HashEachMethods
- Rubocop/Performance/RangeInclude
- Rubocop/Performance/RedundantBlockCall
- Rubocop/Performance/RedundantMatch
- Rubocop/Performance/RedundantMerge
- Rubocop/Performance/RegexpMatch
- Rubocop/Performance/ReverseEach
- Rubocop/Performance/StringReplacement
- Rubocop/Performance/TimesMap
- Rubocop/Performance/UnfreezeString
- Rubocop/Rails/ActionFilter
- Rubocop/Rails/ApplicationRecord
- Rubocop/Rails/BelongsTo
- Rubocop/Rails/Blank
- Rubocop/Rails/Date
- Rubocop/Rails/Delegate
- Rubocop/Rails/DynamicFindBy
- Rubocop/Rails/FilePath
- Rubocop/Rails/FindBy
- Rubocop/Rails/HasAndBelongsToMany
- Rubocop/Rails/HasManyOrHasOneDependent
- Rubocop/Rails/HttpPositionalArguments
- Rubocop/Rails/InverseOf
- Rubocop/Rails/LexicallyScopedActionFilter
- Rubocop/Rails/Output
- Rubocop/Rails/OutputSafety
- Rubocop/Rails/PluralizationGrammar
- Rubocop/Rails/Presence
- Rubocop/Rails/Present
- Rubocop/Rails/SkipsModelValidations
- Rubocop/Rails/TimeZone
- Rubocop/Rails/UniqBeforePluck
- Rubocop/Rails/UnknownEnv
- Rubocop/Rails/Validation
- Rubocop/Security/Eval
- Rubocop/Security/YAMLLoad
- Rubocop/Style/Alias
- Rubocop/Style/AndOr
- Rubocop/Style/AsciiComments
- Rubocop/Style/BarePercentLiterals
- Rubocop/Style/BlockComments
- Rubocop/Style/BlockDelimiters
- Rubocop/Style/BracesAroundHashParameters
- Rubocop/Style/CaseEquality
- Rubocop/Style/ClassAndModuleChildren
- Rubocop/Style/ClassCheck
- Rubocop/Style/ClassVars
- Rubocop/Style/CollectionMethods
- Rubocop/Style/ColonMethodCall
- Rubocop/Style/CommandLiteral
- Rubocop/Style/CommentAnnotation
- Rubocop/Style/CommentedKeyword
- Rubocop/Style/ConditionalAssignment
- Rubocop/Style/DateTime
- Rubocop/Style/Dir
- Rubocop/Style/Documentation
- Rubocop/Style/DoubleNegation
- Rubocop/Style/EachWithObject
- Rubocop/Style/EmptyCaseCondition
- Rubocop/Style/EmptyElse
- Rubocop/Style/EmptyLambdaParameter
- Rubocop/Style/EmptyLiteral
- Rubocop/Style/EmptyMethod
- Rubocop/Style/Encoding
- Rubocop/Style/EvalWithLocation
- Rubocop/Style/EvenOdd
- Rubocop/Style/ExpandPathArguments
- Rubocop/Style/For
- Rubocop/Style/FormatString
- Rubocop/Style/FormatStringToken
- Rubocop/Style/FrozenStringLiteralComment
- Rubocop/Style/GlobalVars
- Rubocop/Style/GuardClause
- Rubocop/Style/HashSyntax
- Rubocop/Style/IdenticalConditionalBranches
- Rubocop/Style/IfInsideElse
- Rubocop/Style/IfUnlessModifier
- Rubocop/Style/IfUnlessModifierOfIfUnless
- Rubocop/Style/InfiniteLoop
- Rubocop/Style/Lambda
- Rubocop/Style/LambdaCall
- Rubocop/Style/LineEndConcatenation
- Rubocop/Style/MethodCallWithoutArgsParentheses
- Rubocop/Style/MethodDefParentheses
- Rubocop/Style/MethodMissing
- Rubocop/Style/MethodMissingSuper
- Rubocop/Style/MissingRespondToMissing
- Rubocop/Style/MixinGrouping
- Rubocop/Style/MixinUsage
- Rubocop/Style/MultilineBlockChain
- Rubocop/Style/MultilineIfModifier
- Rubocop/Style/MultilineIfThen
- Rubocop/Style/MultilineMemoization
- Rubocop/Style/MultilineTernaryOperator
- Rubocop/Style/MultipleComparison
- Rubocop/Style/MutableConstant
- Rubocop/Style/NegatedIf
- Rubocop/Style/NestedModifier
- Rubocop/Style/NestedParenthesizedCalls
- Rubocop/Style/NestedTernaryOperator
- Rubocop/Style/Next
- Rubocop/Style/Not
- Rubocop/Style/NumericLiteralPrefix
- Rubocop/Style/NumericLiterals
- Rubocop/Style/NumericPredicate
- Rubocop/Style/OneLineConditional
- Rubocop/Style/OptionalArguments
- Rubocop/Style/OrAssignment
- Rubocop/Style/ParallelAssignment
- Rubocop/Style/ParenthesesAroundCondition
- Rubocop/Style/PercentLiteralDelimiters
- Rubocop/Style/PerlBackrefs
- Rubocop/Style/PreferredHashMethods
- Rubocop/Style/Proc
- Rubocop/Style/RaiseArgs
- Rubocop/Style/RandomWithOffset
- Rubocop/Style/RedundantBegin
- Rubocop/Style/RedundantConditional
- Rubocop/Style/RedundantFreeze
- Rubocop/Style/RedundantParentheses
- Rubocop/Style/RedundantReturn
- Rubocop/Style/RedundantSelf
- Rubocop/Style/RegexpLiteral
- Rubocop/Style/RescueModifier
- Rubocop/Style/RescueStandardError
- Rubocop/Style/SafeNavigation
- Rubocop/Style/SelfAssignment
- Rubocop/Style/Semicolon
- Rubocop/Style/SpecialGlobalVars
- Rubocop/Style/StabbyLambdaParentheses
- Rubocop/Style/StderrPuts
- Rubocop/Style/StringLiterals
- Rubocop/Style/StringLiteralsInInterpolation
- Rubocop/Style/StructInheritance
- Rubocop/Style/SymbolArray
- Rubocop/Style/SymbolProc
- Rubocop/Style/TernaryParentheses
- Rubocop/Style/TrailingBodyOnMethodDefinition
- Rubocop/Style/TrailingCommaInArguments
- Rubocop/Style/TrailingCommaInLiteral
- Rubocop/Style/TrivialAccessors
- Rubocop/Style/UnlessElse
- Rubocop/Style/UnneededInterpolation
- Rubocop/Style/UnneededPercentQ
- Rubocop/Style/WhileUntilModifier
- Rubocop/Style/WordArray
- Rubocop/Style/YodaCondition
- Rubocop/Style/ZeroLengthPredicate