Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We've upgraded a dependency and all tests pass. \o/
You should probably take a good look at this before merging this pull request, of course.
What changed?
✳️ rubocop ( → 0.59.0) · Repo · Changelog
Release Notes
0.59.0
New features
Bundler/GemComment
cop. (@sunny)IgnoredMethods
option toStyle/NumericPredicate
cop. (@AlexWayfer)--display-only-fail-level-offenses
to only output offenses at or above the fail level. (@robotdana)Style/For
. (@rrosenblum)AllowImplicitReturn
option toRails/SaveBang
cop. (@robotdana)comparison
style toStyle/NilComparison
. (@khiav223577)Style/MultilineMethodSignature
cop. (@drenmi)Performance/ChainArrayAllocation
cop. (@schneems)Layout/EmptyLinesAroundClassBody
aware of specifying a superclass that breaks the line. (@koic)Bug fixes
Style/DateTime
not detecting#to_datetime
. It can be configured to allow this. (@bdewater)Naming/FileName
whenInclude
ofAllCops
is the default setting. (@koic)Layout/MultilineOperationIndentation
. (@jonas054)Layout/ClosingParenthesisIndentation
when method arguments are empty with newlines. (@tatsuyafw)Layout/AccessModifierIndentation
when using access modifiers with arguments within nested classes. (@gmalette)Style/IfUnlessModifier
cop for disabledLayout/Tab
cop when there is noIndentationWidth
config. (@AlexWayfer)AllowURI
option ofMetrics/LineLength
cop for files with tabs indentation. (@AlexWayfer)Style/UnneededCondition
when using operator method higher precedence than||
. (@koic)Lint/ShadowedArgument
. (@jonas054)Layout/MultilineHashBraceLayout
andLayout/MultilineArrayBraceLayout
auto-correct syntax error when there is a comment on the last element. (@bacchir)Style/BracesAroundHashParameters
auto-correct syntax error when there is a trailing comma. (@bacchir)Style/RedundantBegin
aware of stabby lambdas. (@drenmi)Naming/PredicateName
. (@sunny)Style/EmptyCaseCondition
when usingreturn
inwhen
clause and assigning the return value ofcase
. (@koic)Rails/Delegate
. (@sunny)Style/WordArray
when settingEnforcedStyle: brackets
and using string interpolation in%W
literal. (@koic)Lint/RescueEnsureAlignment
whenend
is misaligned. The alignment and message are now based on the beginning position rather than theend
position. (@rrosenblum)Date
usage inStyle/DateTime
. (@deivid-rodriguez)Changes
Rails/FindEach
cop. Makes the cop also check for the following scopes:eager_load
,includes
,joins
,left_joins
,left_outer_joins
,preload
,references
, andunscoped
. (@repinel)db
to allowed names ofNaming/UncommunicativeMethodParamName
cop in default config. (@mkenyon)Lint/DuplicateMethods
to include the method name. (@rrosenblum)rubocop --auto-gen-conf
if the todo file is successfully created even if there are offenses. (@MagedMilad)Rails/RelativeDateConstant
by default. (@koic)*
) to match the hidden file. (@koic)Style/For
now highlights the entire statement rather than just the keyword. (@rrosenblum)Performance/CaseWhenSplat
and its auto-correction by default. (@rrosenblum)Layout/EmptyLineAfterGuardClause
cop by default. (@koic)Style/DateTime
has been moved to disabled by default. (@deivid-rodriguez)0.58.2
Changes
New features
#6105: Support
{a,b}
file name globs inExclude
andInclude
config. (@mikeyhew)#6116: Add
ip
to allowed names ofNaming/UncommunicativeMethodParamName
cop in default config. (@nijikon)Bug fixes
Layout/IndentationWidth
when multiple modifiers are used in a block and a method call is made at end of the block. (@koic)Naming/MemoizedInstanceVariableName
cop to allow methods to have leading underscores. (@kenman345)Layout/ClassStructure
when there is a comment in the macro method to be auto-correct. (@koic)Lint/OrderedMagicComments
when using{ encoding: Encoding::SJIS }
hash object afterfrozen_string_literal
magic comment. (@koic)0.58.1
Bug fixes
Style/MethodCallWithArgsParentheses
when arguments are method calls. (@maxh)Style/RedundantParentheses
with hash literal as first argument tosuper
. (@maxh)Gemspec/OrderedDependencies
when using method call to gem names in gemspec. (@koic)Rails/BulkChangeTable
aware of variable table name. (@wata727)Layout/MultilineAssignmentLayout
cop when using multi-line block defines on separate lines. (@koic)0.57.2
Bug fixes
Layout/ClosingHeredocIndentation
from raising an error on<<
heredocs. (@dvandersluis)Layout/ClosingHeredocIndentation
from raising an error on heredocs containing only a newline. (@drenmi)Layout/IndentationConsistency
cop triggered by an empty expression string interpolation. (@alexander-lazarov)Style/MethodCallWithArgsParentheses
from raising an error in certain cases. (@drenmi)0.57.1
Bug fixes
inherit_mode
directive. (@jonas054)Layout/IndentationWidth
when an access modifier section has an invalid indentation body. (@tatsuyafw)Layout/IndentationConsistency
should still register an offense for private methods. (@jaredbeck)Rails/BulkChangeTable
. (@wata727)Style/UnneededCondition
cop accepts a case of condition andif_branch
are same when usingelsif
branch. (@koic)0.57.0
New features
Rails/BulkChangeTable
cop. (@wata727)Style/AccessModifierDeclarations
cop. (@brandonweiss)Style/UnneededCondition
cop. (@balbesina)Layout/ClosingHeredocIndentation
cop. (@siggymcfried)slashes
style toRails/FilePath
since Ruby accepts forward slashes even on Windows. (@sunny)Layout/LeadingBlankLines
checks for empty lines at the beginning of a file. (@rrosenblum)Bug fixes
Style/SymbolArray
andStyle/WordArray
not working on arrays of size 1. (@TikiTDO)Rails/AssertNot
to allow it to have failure message. (@koic)headers
orenv
keyword arguments inRails/HttpPositionalArguments
. (@rrosenblum)Style/BracesAroundHashParameters
auto-correct going past the end of the file when the closing curly brace is on the last line of a file. (@EiNSTeiN-)Style/FrozenStringLiteralComment
would be added to the second line if the first line is empty. (@rrosenblum)Layout/SpaceInsideReferenceBrackets
aware ofno_space
when using nested reference brackets. (@koic)Style/MixinGrouping
when method namedinclude
accepts block. (@Darhazer)Changes
--fix-layout/-x
command line alias. (@scottmatthewman)Lint/SplatKeywordArguments
cop. (@koic)httpdate
to acceptedRails/TimeZone
methods. (@cupakromer)xmlschema
to acceptedRails/TimeZone
methods. (@koic)rake repl
task tobin/console
command. (@koic)inherit_mode
work for default configuration too. (@jonas054)unicode/display_width
. (@nroman-stripe)0.56.0
New features
Performance/InefficientHashSearch
cop. (@JacobEvelyn)Rails/RefuteMethods
cop. (@koic)Rails/AssertNot
cop. (@composerinteralia)Layout/ClosingParenthesisIndentation
detection including method chaining. (@jfelchner)consistent_relative_to_receiver
style option toLayout/FirstParameterIndentation
. (@jfelchner)AR::Migration#up_only
forRails/ReversibleMigration
cop. (@koic)Lint/ErbNewArguments
cop. (@koic)Lint/SplatKeywordArguments
cop. (@koic)Include
,Exclude
and the newRubyInterpreters
parameters for file selection. (@jonas054)Bug fixes
Style/EmptyMethod
which concatenated the method name and first argument if no method def parentheses are used. (@thomasbrus)Rails/SaveBang
when using negated if. (@Edouard-chin)Lint/SafeNavigationChain
not detecting chained operators after block. (@Darhazer)Lint/SafeNavigationConsistency
registers multiple offenses for the same method call. (@rrosenblum)Style/CommentAnnotation
reporting only the first of multiple consecutive offending lines. (@svendittmer)Lint/SafeNavigationConsistency
when there is code around the condition. (@rrosenblum)Rails/HasManyOrHasOneDependent
when using nestedwith_options
. (@koic)--stdin
always treats input as Ruby source irregardless of filename. (@PointlessOne)Style/MethodCallWithArgsParentheses
adding extra parentheses if the method argument was already parenthesized. (@dvandersluis)AllCops/Include
were not inspected when passing the file name as an option. (@drenmi)Lint/PercentStringArray
andLint/PercentSymbolArray
when the inspected file is binary encoded. (@akhramov)nil
responds to inLint/SafeNavigationConsistency
. (@rrosenblum)Lint/LiteralInInterpolation
if contains numbers. (@koic)Rails/CreateTableWithTimestamps
when using hash options. (@wata727)Lint/UnneededCopEnableDirective
for instruction '# rubocop:enable all'. (@balbesina)Rails/HttpPositionalArgumnets
to usesession
instead ofheader
. (@rrosenblum)Changes
Style/MethodMissing
into two cops,Style/MethodMissingSuper
andStyle/MissingRespondToMissing
. (@rrosenblum)AllowInMultilineConditions
option toStyle/ParenthesesAroundCondition
cop. (@Darhazer)Layout/SpaceInsideReferenceBrackets
when assigning a reference bracket to a reference bracket. (@joshuapinter)--auto-correct
. (@jonas054)try!
to the list of whitelisted methods forLint/SafeNavigationChain
andStyle/SafeNavigation
. (@rrosenblum)Style/EmptyLineAfterGuardClause
cop toLayout
department. (@koic)0.55.0
New features
Performance/UnneededSort
cop. (@parkerfinch)Lint/SafeNavigationConsistency
cop. (@rrosenblum)Bug fixes
Performance/RegexpMatch
cop not correcting negated match operator. (@bdewater):class_name
option in Rails/InverseOf cop. (@bdewater)Style/SymbolArray
andStyle/WordArray
for multiline Arrays. (@istateside)Rails/InverseOf
cop allowinginverse_of: nil
to opt-out. (@bdewater)Lint/ShadowedArgument
false positive with shorthand assignments. (@akhramov)Naming/HeredocDelimiterNaming
blacklist patterns. (@mcfisch)Performance/RegexpMatch
to produce code that safe guards against the receiver beingnil
. (@rrosenblum)Rails/HttpStatus
ignoring hash order to fix false negative. (@pocke)Style/EmptyLineAfterGuardClause
when guard clause is after heredoc. (@koic)Style/EmptyLineAfterGuardClause
when guard clause is after heredoc argument. (@koic)Style/Unpackfirst
false positive ofunpack('h*').take(1)
. (@parkerfinch)Style/FrozenStringLiteralComment
auto-correction to insert a new line between the comment and the code. (@rrosenblum)Lint/Void
not detecting void context in blocks with single expression. (@Darhazer)Changes
String#delete_{prefix,suffix}
to Lint/Void cop. (@bdewater)by
,on
,in
andat
to allowed names ofNaming/UncommunicativeMethodParamName
cop in default config. (@AlexWayfer)EnforcedStyle
option toLayout/SpaceInsideParens
, allowing you to enforce spaces inside of parentheses. (@joshuapinter)Metrics/BlockLength
'sExcludedMethods
configuration option. (@akhramov)IgnoredMethods
option toStyle/MethodCallWithoutArgsParentheses
cop. (@Darhazer)Style/OptionHash
aware of implicit parameter passing to super. (@Wei-LiangChew)0.54.0
New features
Rails/HttpStatus
cop. (@anthony-robin)Style/UnpackFirst
cop. (@bdewater)Bug fixes
Naming/UncommunicativeXParamName
cops. (@jlfaber)Layout/ElseAlignment
forrescue/else/ensure
insidedo/end
blocks. (@YukiJikumaru)Style/Documentation
:nodoc:
for compact-style nested modules/classes. (@ojab)Bundler/OrderedGems
when a group includes duplicate gems. (@colorbox)--fail-fast
. (@mmyoji)Style/FormatStringToken
when using placeholder arguments informat
method. (@koic)Style/InverseMethods
when comparing constants with<
,>
,<=
, or>=
. If the code is being used to determine class hierarchy, the correction might not be accurate. (@rrosenblum)Style/TrivialAccessors
auto-correction fordef
withprivate
. (@pocke)Style/SafeNavigation
does not auto-correct all chained methods resulting in aLint/SafeNavigationChain
offense. (@rrosenblum)UncommunicativeName
cops. (@pocke)Layout/EmptyComment
when the empty comment appears on the same line as code. (@rrosenblum)Style/EmptyLineAfterGuardClause
when guard clause is beforerescue
orensure
. (@koic)Style/EmptyLineAfterGuardClause
when guard clause is beforeelse
. (@koic)Naming/ConstantName
when using conditional assignment. (@drenmi)Changes
Naming/UncommunicativeMethodParamName
addto
to allowed names in default config. (@unused)--debug
. (@jonas054)Layout/SpaceInsideArrayLiteralBrackets
when contains an array literal as an argument after a heredoc is started. (@koic)<<~
operator with invalid indentation. (@hamada14)gems.locked
orGemfile.lock
to determine the bestTargetRubyVersion
when it is not specified in the config. (@roberts1000)Style/InlineComment
for inline comments which enable or disable rubocop cops. (@jfelchner)IndentHeredoc
message for Ruby 2.3 when using<<~
operator with invalid indentation. (@hamada14)0.53.0
New features
Naming/UncommunicativeBlockParamName
cop. (@garettarrowood)Naming/UncommunicativeMethodParamName
cop. (@garettarrowood)Lint/UnneededCopEnableDirective
cop. (@garettarrowood)Lint/BigDecimalNew
cop. (@koic)Style/TrailingBodyOnClass
cop. (@garettarrowood)Style/TrailingBodyOnModule
cop. (@garettarrowood)Style/TrailingCommmaInArrayLiteral
cop. (@garettarrowood)Style/TrailingCommmaInHashLiteral
cop. (@garettarrowood)Security/Open
cop. (@mame)EnforcedStyleForEmptyBrackets
configuration toLayout/SpaceInsideReferenceBrackets
.(@garettarrowood)Style/ModuleFunction
. (@garettarrowood)--no-auto-gen-timestamp
CLI option suppresses the inclusion of the date and time it was generated in auto-generated config. (@dominicsayers)Layout/EmptyComment
cop. (@koic)inherit_mode
for merging arrays. (@leklund).axlsx
file by default. (@georf)Lint/OrderedMagicComments
cop. (@koic)Style/ExpandPathArguments
cop. (@koic)beginning_only
andending_only
style options toLayout/EmptyLinesAroundClassBody
cop. (@jmks).arb
file by default. (@deivid-rodriguez)gems.locked
orGemfile.lock
to determine the bestTargetRailsVersion
when it is not specified in the config. (@roberts1000)Naming/MemoizedInstanceVariableName
cop. (@satyap)Style/EmptyLineAfterGuardClause
cop. (@unkmas)Rails/ActiveRecordAliases
cop. (@elebow)Bug fixes
Lint/IndentationWidth
whenLint/EndAlignment
is configured withstart_of_line
. (@brandonweiss)Performance/Casecmp
auto-correction. (@walinga)Style/TrailingMethodEndStatement
. (@garettarrowood)Style/TrailingBodyOnMethodDefinition
autocorrection. (@garettarrowood)Metric/LineLength
false offenses for URLs in double quotes. (@garettarrowood)Layout/EmptyLinesAroundArguments
false positives for inline access modifiers. (@garettarrowood)Layout/EmptyLinesAroundArguments
false positives for multiline heredoc arguments. (@garettarrowood)Rails/Presence
false detection of receiver for locally definedblank?
&present?
methods. (@garettarrowood)Lint/NestedPercentLiteral
when percent characters are nested. (@asherkach)Lint/InterpolationCheck
false positives on escaped interpolations. (@pocke)Style/SymbolArray
andStyle/WordArray
autocorrect. (@flyerhzm)Rails/Delegate
's false positive with a method call with arguments. (@pocke)Style/SafeNavigation
when safe guarding more comparison methods. (@rrosenblum)Style/SafeNavigation
will add safe navigation to all methods in a method chain. (@rrosenblum)Style/SafeNavigation
if there is an unsafe method used in a method chain. (@rrosenblum)Style/RedundantReturn
to trigger when begin-end, rescue, and ensure blocks present. (@asherkach)Rails/InverseOf
acceptinverse_of: nil
to opt-out. (@wata727)Rails/LexicallyScopedActionFilter
. (@wata727)Rails/FilePath
when usingRails.root.join
in string interpolation of argument. (@koic)Rails/Presence
when using withelsif
. (@wata727)Layout/Tab
. (@pocke)Style/FormatStringToken
with unrelatedformat
call. (@pocke)Rails/CreateTableWithTimestamps
false positive when usingto_proc
syntax. (@wata727)Lint/Void
to detectKernel#tap
as method that ignores the block's value. (@untitaker)Style/RedundantException
auto-correction does not keep parenthesization. (@dpostorivo)RuboCop::AST::Node#updated
. (@wata727)Style/SafeNavigation
. (@jonas054)Performance::RegexpMatch
when usingMatchData
before guard clause. (@koic)Style/EmptyElse
autocorrect for nested if and case statements. (@asherkach)end
alignment for variable assignment with line break after=
inLayout/EndAlignment
. (@jonas054)Style/ColonMethodCall
when using Java package namespace. (@koic)Style/RedundantSelf
with pseudo variables. (@pocke)Layout/BlockEndNewline
when there is top level code outside of a class. (@rrosenblum)Lint/NumberConversion
to use base 10 with Integer. (@rrosenblum)Style/EachWithObject
auto-correction leaves an empty line. (@flyerhzm)Changes
Performance/HashEachMethods
cop as it no longer provides a performance benefit. (@urbanautomaton)Style/TrailingCommmaInLiteral
in favor of two new cops. (@garettarrowood)Lint/UnneededDisable
toLint/UnneededCopDisableDirective
. (@garettarrowood)*.gemfile
to Bundler cop target. (@sue445)Style/StringHashKeys
to accepts environment variables. (@pocke)ActiveSupport::TimeZone#strftime
method from defined dangerous methods ofRails/TimeZone
cop. (@koic)Lint/EndAlignment
,Lint/DefEndAlignment
,Lint/BlockAlignment
, andLint/ConditionPosition
to theLayout
namespace. (@bquorning)Formatter::JSONFormatter
from relative path to smart path. (@koic)Style/SafeNavigation
will now register an offense for methods thatnil
responds to. (@rrosenblum).git/
by default. (@pocke)Style/SafeNavigation
to no longer register an offense for method chains exceeding 2 methods. (@rrosenblum)Lint/SafeNavigationChain
. (@rrosenblum)Lint/SafeNavigationChain
to highlight the entire method chain beyond the safe navigation portion. (@rrosenblum)Not all release notes shown. View the full release notes
Commits
See the full diff on Github. The new version differs by more commits than we can show here.
Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with
@depfu rebase
.