relnotes/v0.40.0.md
Performance/CaseWhenSplat can now identify multiple offenses in the same branch and offenses that do not occur as the first argument. (@rrosenblum)Style/NestedParenthesizedCalls cop can auto-correct. (@drenmi)Style/RaiseArgs cop can auto-correct. (@drenmi)Style/SpaceAfterColon now checks optional keyword arguments. (@owst).rubocop file and RUBOCOP_OPTS environment variable. (@bolshakov)Style/MultilineArrayBraceLayout enforced style is configurable and supports symmetrical and new_line options. (@panthomakos)Style/MultilineHashBraceLayout enforced style is configurable and supports symmetrical and new_line options. (@panthomakos)Style/MultilineMethodCallBraceLayout enforced style is configurable and supports symmetrical and new_line options. (@panthomakos)Style/MultilineMethodDefinitionBraceLayout enforced style is configurable and supports symmetrical and new_line options. (@panthomakos)Style/MultilineArrayBraceLayout enforced style supports same_line option. (@panthomakos)Style/MultilineHashBraceLayout enforced style supports same_line option. (@panthomakos)Style/MultilineMethodCallBraceLayout enforced style supports same_line option. (@panthomakos)Style/MultilineMethodDefinitionBraceLayout enforced style supports same_line option. (@panthomakos)Style/EmptyCaseCondition cop. (@owst, @rrosenblum)Lint/UselessArraySplat cop. (@owst)Style/Lambda enforced style supports literal option. (@drenmi)Style/Lambda enforced style supports lambda option. (@drenmi)Style/Encoding to enforce using no encoding comments. (@NobodysNightmare)Rails/UniqBeforePluck checks that uniq is used before pluck. (@tjwp)Style/ClassAndModuleChildren for nested classes with explicit superclass. (@jspanjers)Style/AlignParameters message was clarified for with_fixed_indentation style. (@dylanahsmith)UnusedBlockArgument for keyword arguments. (@volkert)) consistent with comment indentation before } or ]. (@jonas054)Style/SpaceAroundOperators, and not Style/SpaceAfterColon too). (@owst)merge! on a method on a variable inside each_with_object in Performance/RedundantMerge. (@lumeet, @rrosenblum)Style/SpaceAfterNot will now register an offense for a receiver that is wrapped in parentheses. (@rrosenblum)match without a receiver in Performance/EndWith. (@lumeet)match without a receiver in Performance/StartWith. (@lumeet)Lint/NestedMethodDefinition shouldn't flag methods defined on Structs. (@owst)Lint/UnneededDisable inspect files that are excluded for the cop. (@jonas054)Style/RedundantParentheses. (@lumeet)Lint/UselessAccessModifier detect conditionally defined methods and correctly handle dynamically defined methods and singleton class methods. (@owst)Style/Alias offenses for use of alias in instance_eval blocks, since object instances don't respond to alias_method. (@magni-)Style/Multiline*BraceLayout cops. (@panthomakos)Style/SymbolProc. (@rrosenblum)a + \ into a + \\ in Style/LineEndConcatenation. (@jonas054)RuntimeError.new(msg) in Style/RedundantException. (@jonas054)Style/SpaceAfterComma now uses Style/SpaceInsideHashLiteralBraces's setting. (@ptarjan)rubocop-todo.yml. (@ptarjan)define_method to the default list of IgnoredMethods of Style/SymbolProc. (@jastkand)Style/SpaceAfterNot highlights the entire expression instead of just the exclamation mark. (@rrosenblum)Style/MultilineArrayBraceLayout and Style/MultilineHashBraceLayout with the symmetrical style by default. (@panthomakos)Style/MultilineMethodCallBraceLayout and Style/MultilineMethodDefinitionBraceLayout with the symmetrical style by default. (@panthomakos)Style/PredicateName now ignores the spec/ directory, since there is a strong convention for using have_* and be_* helper methods in RSpec. (@gylaz)