require: rubocop-rspec AllCops: DisplayCopNames: true DisplayStyleGuide: true ExtraDetails: true Exclude: - '**/Capfile' - '**/Gemfile' - Capfile - Gemfile - cookbooks/**/** - env/vendor/**/* - vendor/**/* - Gemfile.lock - bin/**/* - db/schema.rb - lib/generators/**/* - lib/templates/**/* - vendor/**/* Rails: Enabled: true Documentation: Enabled: false Bundler/OrderedGems: TreatCommentsAsGroupSeparators: true Enabled: true Lint/AmbiguousOperator: Description: Checks for ambiguous operators in the first argument of a method invocation without parentheses. StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-as-args Enabled: true Lint/AmbiguousRegexpLiteral: Description: Checks for ambiguous regexp literals in the first argument of a method invocation without parentheses. Enabled: true Lint/AssignmentInCondition: Description: Don't use assignment in conditions. StyleGuide: https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition Enabled: true AllowSafeAssignment: true Lint/CircularArgumentReference: Description: Default values in optional keyword arguments and optional ordinal arguments should not refer back to the name of the argument. Enabled: true # Supports --auto-correct Lint/Debugger: Description: Check for debugger calls. Enabled: true # Supports --auto-correct Lint/DeprecatedClassMethods: Description: Check for deprecated class method calls. Enabled: true Lint/DuplicateMethods: Description: Check for duplicate method definitions. Enabled: true Lint/DuplicatedKey: Description: Check for duplicate keys in hash literals. Enabled: true Lint/EachWithObjectArgument: Description: Check for immutable argument given to each_with_object. Enabled: true Lint/ElseLayout: Description: Check for odd code arrangement in an else block. Enabled: true Lint/EmptyEnsure: Description: Checks for empty ensure block. Enabled: true Lint/EmptyInterpolation: Description: Checks for empty string interpolation. Enabled: true Lint/EndInMethod: Description: END blocks should not be placed inside method definitions. Enabled: true Lint/EnsureReturn: Description: Do not use return in an ensure block. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-return-ensure Enabled: true Security/Eval: Description: The use of eval represents a serious security risk. Enabled: true Lint/FloatOutOfRange: Description: Catches floating-point literals too large or small for Ruby to represent. Enabled: true Lint/FormatParameterMismatch: Description: The number of parameters to format/sprint must match the fields. Enabled: true Lint/HandleExceptions: Description: Don't suppress exception. StyleGuide: https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions Enabled: true Lint/ImplicitStringConcatenation: Description: Checks for adjacent string literals on the same line, which could better be represented as a single string literal. Enabled: true Lint/IneffectiveAccessModifier: Description: Checks for attempts to use `private` or `protected` to set the visibility of a class method, which does not work. Enabled: true # Supports --auto-correct Lint/LiteralInInterpolation: Description: Avoid interpolating literals in strings Enabled: true AutoCorrect: false Lint/Loop: Description: Use Kernel#loop with break rather than begin/end/until or begin/end/while for post-loop tests. StyleGuide: https://github.com/bbatsov/ruby-style-guide#loop-with-break Enabled: true Lint/NestedMethodDefinition: Description: Do not use nested method definitions. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-methods Enabled: true Lint/NextWithoutAccumulator: Description: Do not omit the accumulator when calling `next` in a `reduce`/`inject` block. Enabled: true Lint/NonLocalExitFromIterator: Description: Do not use return in iterator to cause non-local exit. Enabled: true Lint/ParenthesesAsGroupedExpression: Description: Checks for method calls with a space before the opening parenthesis. StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-no-spaces Enabled: true Lint/RandOne: Description: Checks for `rand(1)` calls. Such calls always return `0` and most likely a mistake. Enabled: true Lint/RequireParentheses: Description: Use parentheses in the method call to avoid confusion about precedence. Enabled: true Lint/RescueException: Description: Avoid rescuing the Exception class. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-blind-rescues Enabled: true Lint/ShadowingOuterLocalVariable: Description: Do not use the same name as outer local variable for block arguments or block local variables. Enabled: true # Supports --auto-correct Lint/StringConversionInInterpolation: Description: Checks for Object#to_s usage in string interpolation. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-to-s Enabled: true Lint/UnderscorePrefixedVariableName: Description: Do not use prefix `_` for a variable that is used. Enabled: true # Supports --auto-correct Lint/UnneededCopDisableDirective: Description: 'Checks for rubocop:disable comments that can be removed. Note: this cop is not disabled when disabling all cops. It must be explicitly disabled.' Enabled: true Lint/UnreachableCode: Description: Unreachable code. Enabled: true # Supports --auto-correct Lint/UnusedBlockArgument: Description: Checks for unused block arguments. StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars Enabled: true IgnoreEmptyBlocks: true # Supports --auto-correct Lint/UnusedMethodArgument: Description: Checks for unused method arguments. StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars Enabled: true AllowUnusedKeywordArguments: false IgnoreEmptyMethods: true Lint/UselessAccessModifier: Description: Checks for useless access modifiers. Enabled: true Lint/UselessAssignment: Description: Checks for useless assignment to a local variable. StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars Enabled: true Lint/UselessComparison: Description: Checks for comparison of something with itself. Enabled: true Lint/UselessElseWithoutRescue: Description: Checks for useless `else` in `begin..end` without `rescue`. Enabled: true Lint/UselessSetterCall: Description: Checks for useless setter call to a local variable. Enabled: true Lint/Void: Description: Possible use of operator/literal/variable in void context. Enabled: true Exclude: - spec/**/*.rb # Type 'Metrics' (9): Metrics/AbcSize: Description: A calculated magnitude based on number of assignments, branches, and conditions. Reference: http://c2.com/cgi/wiki?AbcMetric Enabled: true Max: 15 Metrics/BlockLength: CountComments: false Max: 25 Exclude: - 'Rakefile' - '**/*.rake' - 'spec/**/*.rb' - '*.gemspec' Metrics/BlockNesting: Description: Avoid excessive block nesting StyleGuide: https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count Enabled: true Max: 3 Metrics/ClassLength: Description: Avoid classes longer than 100 lines of code. Enabled: true CountComments: false Max: 100 Metrics/CyclomaticComplexity: Description: A complexity metric that is strongly correlated to the number of test cases needed to validate a method. Enabled: true Max: 6 Metrics/LineLength: Description: Limit lines to 80 characters. StyleGuide: https://github.com/bbatsov/ruby-style-guide#80-character-limits Enabled: true Max: 200 AllowHeredoc: true AllowURI: true URISchemes: - http - https Metrics/MethodLength: Description: Avoid methods longer than 10 lines of code. StyleGuide: https://github.com/bbatsov/ruby-style-guide#short-methods Enabled: true CountComments: false Max: 30 Metrics/ModuleLength: Description: Avoid modules longer than 100 lines of code. Enabled: true CountComments: false Max: 300 Metrics/ParameterLists: Description: Avoid parameter lists longer than three or four parameters. StyleGuide: https://github.com/bbatsov/ruby-style-guide#too-many-params Enabled: true Max: 6 CountKeywordArgs: true Metrics/PerceivedComplexity: Description: A complexity metric geared towards measuring complexity for a human reader. Enabled: true Max: 7 # Type 'Performance' (21): # Supports --auto-correct Performance/CaseWhenSplat: Description: Place `when` conditions that use splat at the end of the list of `when` branches. Enabled: true # Supports --auto-correct Performance/Casecmp: Description: Use `casecmp` rather than `downcase ==`. Reference: https://github.com/JuanitoFatas/fast-ruby#stringcasecmp-vs-stringdowncase---code Enabled: true # Supports --auto-correct Performance/Count: Description: Use `count` instead of `select...size`, `reject...size`, `select...count`, `reject...count`, `select...length`, and `reject...length`. Enabled: true # Supports --auto-correct Performance/Detect: Description: Use `detect` instead of `select.first`, `find_all.first`, `select.last`, and `find_all.last`. Reference: https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code Enabled: true Performance/DoubleStartEndWith: Description: Use `str.{start,end}_with?(x, ..., y, ...)` instead of `str.{start,end}_with?(x, ...) || str.{start,end}_with?(y, ...)`. Enabled: true # Supports --auto-correct Performance/EndWith: Description: Use `end_with?` instead of a regex match anchored to the end of a string. Reference: https://github.com/JuanitoFatas/fast-ruby#stringmatch-vs-stringstart_withstringend_with-code-start-code-end Enabled: true Performance/FixedSize: Description: Do not compute the size of statically sized objects except in constants Enabled: true # Supports --auto-correct Performance/FlatMap: Description: Use `Enumerable#flat_map` instead of `Enumerable#map...Array#flatten(1)` or `Enumberable#collect..Array#flatten(1)` Reference: https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code Enabled: true EnabledForFlattenWithoutParams: false # Supports --auto-correct Performance/LstripRstrip: Description: Use `strip` instead of `lstrip.rstrip`. Enabled: true # Supports --auto-correct Performance/RangeInclude: Description: Use `Range#cover?` instead of `Range#include?`. Reference: https://github.com/JuanitoFatas/fast-ruby#cover-vs-include-code Enabled: true # Supports --auto-correct Performance/RedundantBlockCall: Description: Use `yield` instead of `block.call`. Reference: https://github.com/JuanitoFatas/fast-ruby#proccall-vs-yield-code Enabled: true # Supports --auto-correct Performance/RedundantMatch: Description: Use `=~` instead of `String#match` or `Regexp#match` in a context where the returned `MatchData` is not needed. Enabled: true # Supports --auto-correct Performance/RedundantMerge: Description: Use Hash#[]=, rather than Hash#merge! with a single key-value pair. Reference: https://github.com/JuanitoFatas/fast-ruby#hashmerge-vs-hash-code Enabled: true # Supports --auto-correct Performance/RedundantSortBy: Description: Use `sort` instead of `sort_by { |x| x }`. Enabled: true # Supports --auto-correct Performance/ReverseEach: Description: Use `reverse_each` instead of `reverse.each`. Reference: https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code Enabled: true # Supports --auto-correct Performance/Sample: Description: Use `sample` instead of `shuffle.first`, `shuffle.last`, and `shuffle[Fixnum]`. Reference: https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code Enabled: true # Supports --auto-correct Performance/Size: Description: Use `size` instead of `count` for counting the number of elements in `Array` and `Hash`. Reference: https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code Enabled: true # Supports --auto-correct Performance/StartWith: Description: Use `start_with?` instead of a regex match anchored to the beginning of a string. Reference: https://github.com/JuanitoFatas/fast-ruby#stringmatch-vs-stringstart_withstringend_with-code-start-code-end Enabled: true # Supports --auto-correct Performance/StringReplacement: Description: Use `tr` instead of `gsub` when you are replacing the same number of characters. Use `delete` instead of `gsub` when you are deleting characters. Reference: https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code Enabled: true Performance/TimesMap: Description: Checks for .times.map calls. Enabled: true # Type 'Rails' (12): # Supports --auto-correct Rails/ActionFilter: Description: Enforces consistent use of action filter methods. Enabled: true EnforcedStyle: action SupportedStyles: - action - filter Include: - app/controllers/**/*.rb Rails/Date: Description: Checks the correct usage of date aware methods, such as Date.today, Date.current etc. Enabled: true EnforcedStyle: flexible SupportedStyles: - strict - flexible # Supports --auto-correct Rails/Delegate: Description: Prefer delegate method for delegations. Enabled: true # Supports --auto-correct Rails/FindBy: Description: Prefer find_by over where.first. Enabled: true Include: - app/models/**/*.rb # Supports --auto-correct Rails/FindEach: Description: Prefer all.find_each over all.find. Enabled: true Include: - app/models/**/*.rb Rails/HasAndBelongsToMany: Description: Prefer has_many :through to has_and_belongs_to_many. Enabled: true Include: - app/models/**/*.rb Rails/Output: Description: Checks for calls to puts, print, etc. Enabled: true Include: - app/**/*.rb - config/**/*.rb - db/**/*.rb - lib/**/*.rb # Supports --auto-correct Rails/PluralizationGrammar: Description: Checks for incorrect grammar when using methods like `3.day.ago`. Enabled: true # Supports --auto-correct Rails/ReadWriteAttribute: Description: Checks for read_attribute(:attr) and write_attribute(:attr, val). Enabled: true Include: - app/models/**/*.rb Rails/ScopeArgs: Description: Checks the arguments of ActiveRecord scopes. Enabled: true Include: - app/models/**/*.rb Rails/TimeZone: Description: Checks the correct usage of time zone aware methods. StyleGuide: https://github.com/bbatsov/rails-style-guide#time Reference: http://danilenko.org/2012/7/6/rails_timezones Enabled: true EnforcedStyle: flexible SupportedStyles: - strict - flexible Rails/Validation: Description: Use validates :attribute, hash of validations. Enabled: true Include: - app/models/**/*.rb # # Rspec # RSpec/DescribeClass: Exclude: - 'spec/features/**/*' RSpec/ImplicitExpect: Enabled: true EnforcedStyle: is_expected RSpec/LeadingSubject: Enabled: false RSpec/LetSetup: Enabled: false RSpec/NestedGroups: Enabled: false RSpec/RepeatedExample: Enabled: false # Type 'Style' (184): # Supports --auto-correct Layout/AccessModifierIndentation: Description: Check indentation of private/protected visibility modifiers. StyleGuide: https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected Enabled: true EnforcedStyle: indent SupportedStyles: - outdent - indent IndentationWidth: Naming/AccessorMethodName: Description: Check the naming of accessor methods for get_/set_. Enabled: true # Supports --auto-correct Style/Alias: Description: Use alias_method instead of alias. StyleGuide: https://github.com/bbatsov/ruby-style-guide#alias-method Enabled: true EnforcedStyle: prefer_alias SupportedStyles: - prefer_alias - prefer_alias_method # Supports --auto-correct Layout/AlignArray: Description: Align the elements of an array literal if they span more than one line. StyleGuide: https://github.com/bbatsov/ruby-style-guide#align-multiline-arrays Enabled: true # Supports --auto-correct Layout/AlignHash: Description: Align the elements of a hash literal if they span more than one line. Enabled: true EnforcedHashRocketStyle: key EnforcedColonStyle: key EnforcedLastArgumentHashStyle: always_inspect SupportedLastArgumentHashStyles: - always_inspect - always_ignore - ignore_implicit - ignore_explicit # Supports --auto-correct Layout/AlignParameters: 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 Enabled: true EnforcedStyle: with_first_parameter SupportedStyles: - with_first_parameter - with_fixed_indentation # Supports --auto-correct Style/AndOr: Description: Use &&/|| instead of and/or. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-and-or-or Enabled: true EnforcedStyle: always SupportedStyles: - always - conditionals # Supports --auto-correct Style/ArrayJoin: Description: Use Array#join instead of Array#*. StyleGuide: https://github.com/bbatsov/ruby-style-guide#array-join Enabled: true Style/AsciiComments: Description: Use only ascii symbols in comments. StyleGuide: https://github.com/bbatsov/ruby-style-guide#english-comments Enabled: true Naming/AsciiIdentifiers: Description: Use only ascii symbols in identifiers. StyleGuide: https://github.com/bbatsov/ruby-style-guide#english-identifiers Enabled: true # Supports --auto-correct Style/Attr: Description: Checks for uses of Module#attr. StyleGuide: https://github.com/bbatsov/ruby-style-guide#attr Enabled: true Style/AutoResourceCleanup: Description: Suggests the usage of an auto resource cleanup version of a method (if available). Enabled: false # Supports --auto-correct Style/BarePercentLiterals: Description: Checks if usage of %() or %Q() matches configuration. StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-q-shorthand Enabled: true EnforcedStyle: bare_percent SupportedStyles: - percent_q - bare_percent Style/BeginBlock: Description: Avoid the use of BEGIN blocks. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-BEGIN-blocks Enabled: true # Supports --auto-correct Style/BlockComments: Description: Do not use block comments. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-block-comments Enabled: true # Supports --auto-correct Style/BlockDelimiters: Description: Avoid using {...} for multi-line blocks (multiline chaining is always ugly). Prefer {...} over do...end for single-line blocks. StyleGuide: https://github.com/bbatsov/ruby-style-guide#single-line-blocks Enabled: true EnforcedStyle: line_count_based SupportedStyles: - line_count_based - semantic - braces_for_chaining ProceduralMethods: - benchmark - bm - bmbm - create - each_with_object - measure - new - realtime - tap - with_object FunctionalMethods: - let - let! - subject - watch IgnoredMethods: - lambda - proc - it # Supports --auto-correct Layout/BlockEndNewline: Description: Put end statement of multiline block on its own line. Enabled: true # Supports --auto-correct Style/BracesAroundHashParameters: Description: Enforce braces style around hash parameters. Enabled: true EnforcedStyle: no_braces SupportedStyles: - braces - no_braces - context_dependent Style/CaseEquality: Description: Avoid explicit use of the case equality operator(===). StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-case-equality Enabled: true # Supports --auto-correct Layout/CaseIndentation: Description: Indentation of when in a case/when/[else/]end. StyleGuide: https://github.com/bbatsov/ruby-style-guide#indent-when-to-case Enabled: true EnforcedStyle: case SupportedStyles: - case - end IndentOneStep: false IndentationWidth: # Supports --auto-correct Style/CharacterLiteral: Description: Checks for uses of character literals. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-character-literals Enabled: true Naming/ClassAndModuleCamelCase: Description: Use CamelCase for classes and modules. StyleGuide: https://github.com/bbatsov/ruby-style-guide#camelcase-classes Enabled: true Style/ClassAndModuleChildren: Description: Checks style of children classes and modules. Enabled: true EnforcedStyle: nested SupportedStyles: - nested - compact # Supports --auto-correct Style/ClassCheck: Description: Enforces consistent use of `Object#is_a?` or `Object#kind_of?`. Enabled: true EnforcedStyle: is_a? SupportedStyles: - is_a? - kind_of? # Supports --auto-correct Style/ClassMethods: Description: Use self when defining module/class methods. StyleGuide: https://github.com/bbatsov/ruby-style-guide#def-self-class-methods Enabled: true Style/ClassVars: Description: Avoid the use of class variables. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-class-vars Enabled: true # Supports --auto-correct Layout/ClosingParenthesisIndentation: Description: Checks the indentation of hanging closing parentheses. Enabled: true # Supports --auto-correct Style/CollectionMethods: Description: Preferred collection methods. StyleGuide: https://github.com/bbatsov/ruby-style-guide#map-find-select-reduce-size Enabled: false PreferredMethods: collect: map collect!: map! inject: reduce detect: find find_all: select # Supports --auto-correct Style/ColonMethodCall: Description: 'Do not use :: for method call.' StyleGuide: https://github.com/bbatsov/ruby-style-guide#double-colons Enabled: true # Supports --auto-correct Style/CommandLiteral: Description: Use `` or %x around command literals. StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-x Enabled: true EnforcedStyle: backticks SupportedStyles: - backticks - percent_x - mixed AllowInnerBackticks: false # Supports --auto-correct Style/CommentAnnotation: Description: Checks formatting of special comments (TODO, FIXME, OPTIMIZE, HACK, REVIEW). StyleGuide: https://github.com/bbatsov/ruby-style-guide#annotate-keywords Enabled: true Keywords: - TODO - FIXME - OPTIMIZE - HACK - REVIEW # Supports --auto-correct Layout/CommentIndentation: Description: Indentation of comments. Enabled: true # Supports --auto-correct Style/ConditionalAssignment: Description: Use the return value of `if` and `case` statements for assignment to a variable and variable comparison instead of assigning that variable inside of each branch. Enabled: true SingleLineConditionsOnly: true Naming/ConstantName: Description: Constants should use SCREAMING_SNAKE_CASE. StyleGuide: https://github.com/bbatsov/ruby-style-guide#screaming-snake-case Enabled: true # Supports --auto-correct Style/Copyright: Description: Include a copyright notice in each file before any code. Enabled: false Notice: "^Copyright (\\(c\\) )?2[0-9]{3} .+" AutocorrectNotice: '' # Supports --auto-correct Style/DefWithParentheses: Description: Use def with parentheses when there are arguments. StyleGuide: https://github.com/bbatsov/ruby-style-guide#method-parens Enabled: true Style/Documentation: Description: Document classes and non-namespace modules. Enabled: false Exclude: - 'db/migrate/**/*' - 'spec/**/*' - 'test/**/*' # Supports --auto-correct 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 Enabled: true EnforcedStyle: leading SupportedStyles: - leading - trailing Style/DoubleNegation: Description: Checks for uses of double negation (!!). StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-bang-bang Enabled: true Style/EachWithObject: Description: Prefer `each_with_object` over `inject` or `reduce`. Enabled: true # Supports --auto-correct Layout/ElseAlignment: Description: Align elses and elsifs correctly. Enabled: true # Supports --auto-correct Style/EmptyElse: Description: Avoid empty else-clauses. Enabled: true EnforcedStyle: both SupportedStyles: - empty - nil - both # Supports --auto-correct Layout/EmptyLineBetweenDefs: Description: Use empty lines between defs. StyleGuide: https://github.com/bbatsov/ruby-style-guide#empty-lines-between-methods Enabled: true AllowAdjacentOneLineDefs: false # Supports --auto-correct Layout/EmptyLines: Description: Don't use several empty lines in a row. Enabled: true # Supports --auto-correct Layout/EmptyLinesAroundAccessModifier: Description: Keep blank lines around access modifiers. Enabled: true # Supports --auto-correct Layout/EmptyLinesAroundBlockBody: Description: Keeps track of empty lines around block bodies. Enabled: true EnforcedStyle: no_empty_lines SupportedStyles: - empty_lines - no_empty_lines # Supports --auto-correct Layout/EmptyLinesAroundClassBody: Description: Keeps track of empty lines around class bodies. Enabled: true EnforcedStyle: no_empty_lines SupportedStyles: - empty_lines - no_empty_lines # Supports --auto-correct Layout/EmptyLinesAroundMethodBody: Description: Keeps track of empty lines around method bodies. Enabled: true # Supports --auto-correct Layout/EmptyLinesAroundModuleBody: Description: Keeps track of empty lines around module bodies. Enabled: true EnforcedStyle: no_empty_lines SupportedStyles: - empty_lines - no_empty_lines # Supports --auto-correct Style/EmptyLiteral: Description: Prefer literals to Array.new/Hash.new/String.new. StyleGuide: https://github.com/bbatsov/ruby-style-guide#literal-array-hash Enabled: true Style/EndBlock: Description: Avoid the use of END blocks. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-END-blocks Enabled: true Layout/EndOfLine: Description: Use Unix-style line endings. StyleGuide: https://github.com/bbatsov/ruby-style-guide#crlf Enabled: true # Supports --auto-correct Style/EvenOdd: Description: Favor the use of Fixnum#even? && Fixnum#odd? StyleGuide: https://github.com/bbatsov/ruby-style-guide#predicate-methods Enabled: true # Supports --auto-correct Layout/ExtraSpacing: Description: Do not use unnecessary spacing. Enabled: true AllowForAlignment: true ForceEqualSignAlignment: false Naming/FileName: Description: Use snake_case for source file names. StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-files Enabled: true Exclude: [] ExpectMatchingDefinition: false Regex: IgnoreExecutableScripts: true # Supports --auto-correct Layout/FirstArrayElementLineBreak: Description: Checks for a line break before the first element in a multi-line array. Enabled: false # Supports --auto-correct Layout/FirstHashElementLineBreak: Description: Checks for a line break before the first element in a multi-line hash. Enabled: false # Supports --auto-correct Layout/FirstMethodArgumentLineBreak: Description: Checks for a line break before the first argument in a multi-line method call. Enabled: false # Supports --auto-correct Layout/FirstMethodParameterLineBreak: Description: Checks for a line break before the first parameter in a multi-line method parameter definition. Enabled: false # Supports --auto-correct Layout/FirstParameterIndentation: Description: Checks the indentation of the first parameter in a method call. Enabled: true EnforcedStyle: special_for_inner_method_call_in_parentheses SupportedStyles: - consistent - special_for_inner_method_call - special_for_inner_method_call_in_parentheses IndentationWidth: Lint/FlipFlop: Description: Checks for flip flops StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-flip-flops Enabled: true Style/For: Description: Checks use of for or each in multiline loops. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-for-loops Enabled: true EnforcedStyle: each SupportedStyles: - for - each Style/FormatString: Description: Enforce the use of Kernel#sprintf, Kernel#format or String#%. StyleGuide: https://github.com/bbatsov/ruby-style-guide#sprintf Enabled: true EnforcedStyle: format SupportedStyles: - format - sprintf - percent # Supports --auto-correct Style/FrozenStringLiteralComment: Description: Add the frozen_string_literal comment to the top of files to help transition from Ruby 2.3.0 to Ruby 3.0. Enabled: true EnforcedStyle: when_needed SupportedStyles: - when_needed - always Style/GlobalVars: Description: Do not introduce global variables. StyleGuide: https://github.com/bbatsov/ruby-style-guide#instance-vars Reference: http://www.zenspider.com/Languages/Ruby/QuickRef.html Enabled: true AllowedVariables: [] Style/GuardClause: Description: Check for conditionals that can be replaced with guard clauses StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals Enabled: true MinBodyLength: 1 # Supports --auto-correct Style/HashSyntax: Description: 'Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax { :a => 1, :b => 2 }.' StyleGuide: https://github.com/bbatsov/ruby-style-guide#hash-literals Enabled: true EnforcedStyle: ruby19 SupportedStyles: - ruby19 - ruby19_no_mixed_keys - hash_rockets UseHashRocketsWithSymbolValues: false Style/IdenticalConditionalBranches: Description: Checks that conditional statements do not have an identical line at the end of each branch, which can validly be moved out of the conditional. Enabled: true Style/IfInsideElse: Description: Finds if nodes inside else, which can be converted to elsif. Enabled: true # Supports --auto-correct 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: true Style/IfWithSemicolon: Description: Do not use if x; .... Use the ternary operator instead. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs Enabled: true # Supports --auto-correct Layout/IndentArray: Description: Checks the indentation of the first element in an array literal. Enabled: true EnforcedStyle: special_inside_parentheses SupportedStyles: - special_inside_parentheses - consistent - align_brackets IndentationWidth: # Supports --auto-correct Layout/IndentAssignment: Description: Checks the indentation of the first line of the right-hand-side of a multi-line assignment. Enabled: true IndentationWidth: # Supports --auto-correct Layout/IndentHash: Description: Checks the indentation of the first key in a hash literal. Enabled: true EnforcedStyle: special_inside_parentheses SupportedStyles: - special_inside_parentheses - consistent - align_braces IndentationWidth: # Supports --auto-correct Layout/IndentationConsistency: Description: Keep indentation straight. Enabled: true EnforcedStyle: normal SupportedStyles: - normal - rails # Supports --auto-correct Layout/IndentationWidth: Description: Use 2 spaces for indentation. StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-indentation Enabled: true Width: 2 # Supports --auto-correct Style/InfiniteLoop: Description: Use Kernel#loop for infinite loops. StyleGuide: https://github.com/bbatsov/ruby-style-guide#infinite-loop Enabled: true # Supports --auto-correct Layout/InitialIndentation: Description: Checks the indentation of the first non-blank non-comment line in a file. Enabled: true Style/InlineComment: Description: Avoid inline comments. Enabled: false # Supports --auto-correct Style/Lambda: Description: Use the new lambda literal syntax for single-line blocks. StyleGuide: https://github.com/bbatsov/ruby-style-guide#lambda-multi-line Enabled: true # Supports --auto-correct Style/LambdaCall: Description: Use lambda.call(...) instead of lambda.(...). StyleGuide: https://github.com/bbatsov/ruby-style-guide#proc-call Enabled: true EnforcedStyle: call SupportedStyles: - call - braces # Supports --auto-correct Layout/LeadingCommentSpace: Description: Comments should start with a space. StyleGuide: https://github.com/bbatsov/ruby-style-guide#hash-space Enabled: true # Supports --auto-correct Style/LineEndConcatenation: Description: Use \ instead of + or << to concatenate two string literals at line end. Enabled: true # Supports --auto-correct Style/MethodCallWithoutArgsParentheses: Description: Do not use parentheses for method calls with no arguments. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-args-no-parens Enabled: true Style/MethodCalledOnDoEndBlock: Description: Avoid chaining a method call on a do...end block. StyleGuide: https://github.com/bbatsov/ruby-style-guide#single-line-blocks Enabled: false # Supports --auto-correct Style/MethodDefParentheses: Description: Checks if the method definitions have or don't have parentheses. StyleGuide: https://github.com/bbatsov/ruby-style-guide#method-parens Enabled: true EnforcedStyle: require_parentheses SupportedStyles: - require_parentheses - require_no_parentheses - require_no_parentheses_except_multiline Naming/MethodName: Description: Use the configured style when naming methods. StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars Enabled: true EnforcedStyle: snake_case SupportedStyles: - snake_case - camelCase Style/MissingElse: Description: Require if/case expressions to have an else branches. If enabled, it is recommended that Style/UnlessElse and Style/EmptyElse be enabled. This will conflict with Style/EmptyElse if Style/EmptyElse is configured to style "both" Enabled: false EnforcedStyle: both SupportedStyles: - if - case - both Style/ModuleFunction: Description: Checks for usage of `extend self` in modules. StyleGuide: https://github.com/bbatsov/ruby-style-guide#module-function Enabled: true # Supports --auto-correct Layout/MultilineArrayBraceLayout: Description: Checks that the closing brace in an array literal is symmetrical with respect to the opening brace and the array elements. Enabled: false # Supports --auto-correct Layout/MultilineAssignmentLayout: Description: Check for a newline after the assignment operator in multi-line assignments. StyleGuide: https://github.com/bbatsov/ruby-style-guide#indent-conditional-assignment Enabled: false SupportedTypes: - block - case - class - if - kwbegin - module EnforcedStyle: new_line SupportedStyles: - same_line - new_line Style/MultilineBlockChain: Description: Avoid multi-line chains of blocks. StyleGuide: https://github.com/bbatsov/ruby-style-guide#single-line-blocks Enabled: true # Supports --auto-correct Layout/MultilineBlockLayout: Description: Ensures newlines after multiline block do statements. Enabled: true # Supports --auto-correct Style/MultilineIfThen: Description: Do not use then for multi-line if/unless. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-then Enabled: true # Supports --auto-correct Layout/MultilineMethodCallIndentation: Description: Checks indentation of method calls with the dot operator that span more than one line. Enabled: true EnforcedStyle: aligned SupportedStyles: - aligned - indented IndentationWidth: # Supports --auto-correct Layout/MultilineOperationIndentation: Description: Checks indentation of binary operations that span more than one line. Enabled: true EnforcedStyle: aligned SupportedStyles: - aligned - indented IndentationWidth: Style/MultilineTernaryOperator: Description: 'Avoid multi-line ?: (the ternary operator); use if/unless instead.' StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-multiline-ternary Enabled: true # Supports --auto-correct Style/MutableConstant: Description: Do not assign mutable objects to constants. Enabled: true # Supports --auto-correct Style/NegatedIf: Description: Favor unless over if for negative conditions (or control flow or). StyleGuide: https://github.com/bbatsov/ruby-style-guide#unless-for-negatives Enabled: true # Supports --auto-correct Style/NegatedWhile: Description: Favor until over while for negative conditions. StyleGuide: https://github.com/bbatsov/ruby-style-guide#until-for-negatives Enabled: true # Supports --auto-correct Style/NestedModifier: Description: Avoid using nested modifiers. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-modifiers Enabled: true Style/NestedParenthesizedCalls: Description: Parenthesize method calls which are nested inside the argument list of another parenthesized method call. Enabled: true Style/NestedTernaryOperator: Description: Use one expression per branch in a ternary operator. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-ternary Enabled: true # Supports --auto-correct Style/Next: Description: Use `next` to skip iteration instead of a condition at the end. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals Enabled: true EnforcedStyle: skip_modifier_ifs MinBodyLength: 3 SupportedStyles: - skip_modifier_ifs - always # Supports --auto-correct Style/NilComparison: Description: Prefer x.nil? to x == nil. StyleGuide: https://github.com/bbatsov/ruby-style-guide#predicate-methods Enabled: true # Supports --auto-correct Style/NonNilCheck: Description: Checks for redundant nil checks. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-non-nil-checks Enabled: true IncludeSemanticChanges: false # Supports --auto-correct Style/Not: Description: Use ! instead of not. StyleGuide: https://github.com/bbatsov/ruby-style-guide#bang-not-not Enabled: true # Supports --auto-correct Style/NumericLiterals: Description: Add underscores to large numeric literals to improve their readability. StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics Enabled: true MinDigits: 7 Style/OneLineConditional: Description: Favor the ternary operator(?:) over if/then/else/end constructs. StyleGuide: https://github.com/bbatsov/ruby-style-guide#ternary-operator Enabled: true Naming/BinaryOperatorParameterName: Description: When defining binary operators, name the argument other. StyleGuide: https://github.com/bbatsov/ruby-style-guide#other-arg Enabled: true Style/OptionHash: Description: Don't use option hashes when you can use keyword arguments. Enabled: false SuspiciousParamNames: - options - opts - args - params - parameters Style/OptionalArguments: Description: Checks for optional arguments that do not appear at the end of the argument list StyleGuide: https://github.com/bbatsov/ruby-style-guide#optional-arguments Enabled: true # Supports --auto-correct Style/ParallelAssignment: Description: Check for simple usages of parallel assignment. It will only warn when the number of variables matches on both sides of the assignment. StyleGuide: https://github.com/bbatsov/ruby-style-guide#parallel-assignment Enabled: true # Supports --auto-correct Style/ParenthesesAroundCondition: Description: Don't use parentheses around the condition of an if/unless/while. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-parens-if Enabled: true AllowSafeAssignment: true # Supports --auto-correct Style/PercentLiteralDelimiters: Description: Use `%`-literal delimiters consistently StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-literal-braces Enabled: true PreferredDelimiters: "%": "[]" "%i": "[]" "%q": "[]" "%Q": "[]" "%r": "{}" "%s": "[]" "%w": "[]" "%W": "[]" "%x": "[]" # Supports --auto-correct Style/PercentQLiterals: Description: Checks if uses of %Q/%q match the configured preference. Enabled: true EnforcedStyle: lower_case_q SupportedStyles: - lower_case_q - upper_case_q # Supports --auto-correct Style/PerlBackrefs: Description: Avoid Perl-style regex back references. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers Enabled: true Naming/PredicateName: Description: Check the names of predicate methods. StyleGuide: https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark Enabled: true NamePrefix: - is_ - has_ - have_ NamePrefixBlacklist: - is_ - has_ - have_ NameWhitelist: - is_a? # Supports --auto-correct Style/Proc: Description: Use proc instead of Proc.new. StyleGuide: https://github.com/bbatsov/ruby-style-guide#proc Enabled: true Style/RaiseArgs: Description: Checks the arguments passed to raise/fail. StyleGuide: https://github.com/bbatsov/ruby-style-guide#exception-class-messages Enabled: true EnforcedStyle: exploded SupportedStyles: - compact - exploded # Supports --auto-correct Style/RedundantBegin: Description: Don't use begin blocks when they are not needed. StyleGuide: https://github.com/bbatsov/ruby-style-guide#begin-implicit Enabled: true # Supports --auto-correct Style/RedundantException: Description: Checks for an obsolete RuntimeException argument in raise/fail. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-explicit-runtimeerror Enabled: true # Supports --auto-correct Style/RedundantFreeze: Description: Checks usages of Object#freeze on immutable objects. Enabled: false # Supports --auto-correct Style/RedundantParentheses: Description: Checks for parentheses that seem not to serve any purpose. Enabled: true # Supports --auto-correct Style/RedundantReturn: Description: Don't use return where it's not required. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-explicit-return Enabled: true AllowMultipleReturnValues: false # Supports --auto-correct Style/RedundantSelf: Description: Don't use self where it's not needed. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-self-unless-required Enabled: true # Supports --auto-correct Style/RegexpLiteral: Description: Use / or %r around regular expressions. StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-r Enabled: true EnforcedStyle: slashes SupportedStyles: - slashes - percent_r - mixed AllowInnerSlashes: false # Supports --auto-correct Layout/RescueEnsureAlignment: Description: Align rescues and ensures correctly. Enabled: true # Supports --auto-correct Style/RescueModifier: Description: Avoid using rescue in its modifier form. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-rescue-modifiers Enabled: true # Supports --auto-correct Style/SelfAssignment: Description: Checks for places where self-assignment shorthand should have been used. StyleGuide: https://github.com/bbatsov/ruby-style-guide#self-assignment Enabled: true # Supports --auto-correct Style/Semicolon: Description: Don't use semicolons to terminate expressions. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-semicolon Enabled: true AllowAsExpressionSeparator: false Style/Send: Description: Prefer `Object#__send__` or `Object#public_send` to `send`, as `send` may overlap with existing methods. StyleGuide: https://github.com/bbatsov/ruby-style-guide#prefer-public-send Enabled: false # Supports --auto-correct Style/SignalException: Description: Checks for proper usage of fail and raise. StyleGuide: https://github.com/bbatsov/ruby-style-guide#fail-method Enabled: true EnforcedStyle: only_raise SupportedStyles: - only_raise - only_fail - semantic Style/SingleLineBlockParams: Description: Enforces the names of some block params. StyleGuide: https://github.com/bbatsov/ruby-style-guide#reduce-blocks Enabled: true Methods: - reduce: - a - e - inject: - a - e # Supports --auto-correct Style/SingleLineMethods: Description: Avoid single-line methods. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-single-line-methods Enabled: true AllowIfMethodIsEmpty: true # Supports --auto-correct Layout/SpaceAfterColon: Description: Use spaces after colons. StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators Enabled: true # Supports --auto-correct Layout/SpaceAfterComma: Description: Use spaces after commas. StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators Enabled: true # Supports --auto-correct Layout/SpaceAroundKeyword: Description: Use spaces after if/elsif/unless/while/until/case/when. Enabled: true # Supports --auto-correct Layout/SpaceAfterMethodName: Description: Do not put a space between a method name and the opening parenthesis in a method definition. StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-no-spaces Enabled: true # Supports --auto-correct Layout/SpaceAfterNot: Description: Tracks redundant space after the ! operator. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-space-bang Enabled: true # Supports --auto-correct Layout/SpaceAfterSemicolon: Description: Use spaces after semicolons. StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators Enabled: true # Supports --auto-correct Layout/SpaceAroundBlockParameters: Description: Checks the spacing inside and after block parameters pipes. Enabled: true EnforcedStyleInsidePipes: no_space # Supports --auto-correct Layout/SpaceAroundEqualsInParameterDefault: Description: Checks that the equals signs in parameter default assignments have or don't have surrounding space depending on configuration. StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-around-equals Enabled: true EnforcedStyle: space # Supports --auto-correct Layout/SpaceAroundOperators: Description: Use a single space around operators. StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators Enabled: true AllowForAlignment: true # Supports --auto-correct Layout/SpaceBeforeBlockBraces: Description: Checks that the left block brace has or doesn't have space before it. Enabled: true EnforcedStyle: space SupportedStyles: - space - no_space # Supports --auto-correct Layout/SpaceBeforeComma: Description: No spaces before commas. Enabled: true # Supports --auto-correct Layout/SpaceBeforeComment: Description: Checks for missing space between code and a comment on the same line. Enabled: true # Supports --auto-correct Layout/SpaceBeforeFirstArg: Description: Checks that exactly one space is used between a method name and the first argument for method calls without parentheses. Enabled: true AllowForAlignment: true # Supports --auto-correct Layout/SpaceBeforeSemicolon: Description: No spaces before semicolons. Enabled: true # Supports --auto-correct Layout/SpaceInsideBlockBraces: Description: Checks that block braces have or don't have surrounding space. For blocks taking parameters, checks that the left brace has or doesn't have trailing space. Enabled: true EnforcedStyle: space SupportedStyles: - space - no_space EnforcedStyleForEmptyBraces: no_space SpaceBeforeBlockParameters: true # Supports --auto-correct Layout/SpaceInsideHashLiteralBraces: Description: Use spaces inside hash literal braces - or don't. StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-operators Enabled: true EnforcedStyle: space EnforcedStyleForEmptyBraces: no_space SupportedStyles: - space - no_space # Supports --auto-correct Layout/SpaceInsideParens: Description: No spaces after ( or before ). StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-spaces-braces Enabled: true # Supports --auto-correct Layout/SpaceInsideRangeLiteral: Description: No spaces inside range literals. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-space-inside-range-literals Enabled: true # Supports --auto-correct Layout/SpaceInsideStringInterpolation: Description: Checks for padding/surrounding spaces inside string interpolation. StyleGuide: https://github.com/bbatsov/ruby-style-guide#string-interpolation Enabled: true EnforcedStyle: no_space SupportedStyles: - space - no_space # Supports --auto-correct Style/SpecialGlobalVars: Description: Avoid Perl-style global variables. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms Enabled: true EnforcedStyle: use_english_names SupportedStyles: - use_perl_names - use_english_names # Supports --auto-correct Style/StabbyLambdaParentheses: Description: Check for the usage of parentheses around stabby lambda arguments. StyleGuide: https://github.com/bbatsov/ruby-style-guide#stabby-lambda-with-args Enabled: true EnforcedStyle: require_parentheses SupportedStyles: - require_parentheses - require_no_parentheses # Supports --auto-correct Style/StringLiterals: Description: Checks if uses of quotes match the configured preference. StyleGuide: https://github.com/bbatsov/ruby-style-guide#consistent-string-literals Enabled: true EnforcedStyle: single_quotes SupportedStyles: - single_quotes - double_quotes ConsistentQuotesInMultiline: false # Supports --auto-correct Style/StringLiteralsInInterpolation: Description: Checks if uses of quotes inside expressions in interpolated strings match the configured preference. Enabled: true EnforcedStyle: single_quotes SupportedStyles: - single_quotes - double_quotes # Supports --auto-correct Style/StringMethods: Description: Checks if configured preferred methods are used over non-preferred. Enabled: false PreferredMethods: intern: to_sym Style/StructInheritance: Description: Checks for inheritance from Struct.new. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-extend-struct-new Enabled: true # Supports --auto-correct Style/SymbolArray: Description: Use %i or %I for arrays of symbols. StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-i Enabled: false EnforcedStyle: percent SupportedStyles: - percent - brackets # Supports --auto-correct Style/SymbolLiteral: Description: Use plain symbols instead of string symbols when possible. Enabled: true # Supports --auto-correct Style/SymbolProc: Description: Use symbols as procs instead of blocks when possible. Enabled: true IgnoredMethods: - respond_to # Supports --auto-correct Layout/Tab: Description: No hard tabs. StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-indentation Enabled: true # Supports --auto-correct Layout/TrailingBlankLines: Description: Checks trailing blank lines and final newline. StyleGuide: https://github.com/bbatsov/ruby-style-guide#newline-eof Enabled: true EnforcedStyle: final_newline SupportedStyles: - final_newline - final_blank_line # Supports --auto-correct Style/TrailingCommaInArguments: Description: Checks for trailing comma in argument lists. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas Enabled: true EnforcedStyleForMultiline: no_comma # Supports --auto-correct Style/TrailingCommaInArrayLiteral: Description: Checks for trailing comma in array literals. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas Enabled: true EnforcedStyleForMultiline: no_comma Style/TrailingCommaInHashLiteral: Description: Checks for trailing comma in hash literals. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-hash-commas Enabled: true EnforcedStyleForMultiline: no_comma # Supports --auto-correct Style/TrailingUnderscoreVariable: Description: Checks for the usage of unneeded trailing underscores at the end of parallel variable assignment. AllowNamedUnderscoreVariables: true Enabled: true # Supports --auto-correct Layout/TrailingWhitespace: Description: Avoid trailing whitespace. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-trailing-whitespace Enabled: true # Supports --auto-correct Style/TrivialAccessors: Description: Prefer attr_* methods to trivial readers/writers. StyleGuide: https://github.com/bbatsov/ruby-style-guide#attr_family Enabled: true ExactNameMatch: true AllowPredicates: false AllowDSLWriters: false IgnoreClassMethods: false Whitelist: - to_ary - to_a - to_c - to_enum - to_h - to_hash - to_i - to_int - to_io - to_open - to_path - to_proc - to_r - to_regexp - to_str - to_s - to_sym Style/UnlessElse: Description: Do not use unless with else. Rewrite these with the positive case first. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-else-with-unless Enabled: true # Supports --auto-correct Style/UnneededCapitalW: Description: Checks for %W when interpolation is not needed. Enabled: true # Supports --auto-correct Style/UnneededInterpolation: Description: Checks for strings that are just an interpolated expression. Enabled: true # Supports --auto-correct Style/UnneededPercentQ: Description: Checks for %q/%Q when single quotes or double quotes would do. StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-q Enabled: true # Supports --auto-correct Style/VariableInterpolation: Description: Don't interpolate global, instance and class variables directly in strings. StyleGuide: https://github.com/bbatsov/ruby-style-guide#curlies-interpolate Enabled: true Naming/VariableName: Description: Use the configured style when naming variables. StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars Enabled: true EnforcedStyle: snake_case SupportedStyles: - snake_case - camelCase # Supports --auto-correct Style/WhenThen: Description: Use when x then ... for one-line cases. StyleGuide: https://github.com/bbatsov/ruby-style-guide#one-line-cases Enabled: true # Supports --auto-correct Style/WhileUntilDo: Description: Checks for redundant do after while or until. StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-multiline-while-do Enabled: true # Supports --auto-correct Style/WhileUntilModifier: Description: Favor modifier while/until usage when you have a single-line body. StyleGuide: https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier Enabled: true # Supports --auto-correct Style/WordArray: Description: Use %w or %W for arrays of words. StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-w Enabled: true EnforcedStyle: percent SupportedStyles: - percent - brackets MinSize: 0 WordRegex: !ruby/regexp /\A[\p{Word}\n\t]+\z/