undercover warns about methods, classes and blocks that were changed without tests, to help you easily find untested code and reduce the number of bugs. It does so by analysing data from git diffs, code structure and SimpleCov coverage reports
#11908: Support AllowedReceivers for Style/CollectionMethods. ([@koic][])
Bug fixes
#11890: Fix a false negative for Lint/RedundantSafeNavigation when &. is used for to_d. ([@koic][])
#11880: Fix a false positive for Style/ExactRegexpMatch when using literal with quantifier in regexp. ([@koic][])
#11902: Fix a false positive for Style/RequireOrder when single-quoted string and double-quoted string are mixed. ([@koic][])
#11879: Fix a false positive for Style/SelectByRegexp when Ruby 2.2 or lower analysis. ([@koic][])
#11891: Fix Style/AccessorGrouping to accept macros separated from accessors by space. ([@fatkodima][])
#11905: Fix an error for Lint/UselessAssignment when a variable is assigned with rest assignment and unreferenced. ([@koic][])
#11899: Fix an incorrect autocorrect for Style/SingleLineMethods when using Ruby 3.0 and Style/EndlessMethod is disabled. ([@koic][])
#11884: Make rubocop -V display rubocop-factory_bot version when using it. ([@koic][])
#11893: Fix a false positive for Lint/InheritException when inheriting Exception with omitted namespace. ([@koic][])
#11898: Fix offences in calls inside blocks with braces for Style/MethodCallWithArgsParentheses with omit_parentheses enforced style. ([@gsamokovarov][])
#11857: Server mode: only read $stdin when -s or --stdin argument provided. ([@naveg][])
1.51.0 (2023-05-13)
New features
#11819: Add autocorrection for Lint/AmbiguousBlockAssociation. ([@r7kamura][])
#11597: Add autocorrection for Lint/UselessAssignment. ([@r7kamura][])
#11851: Add autocorrection for Naming/MemoizedInstanceVariableName. ([@r7kamura][])
#11856: Add autocorrection for Style/CombinableLoops. ([@r7kamura][])
#11824: Add autocorrection for Lint/TopLevelReturnWithArgument. ([@r7kamura][])
#11869: Add new Style/ExactRegexpMatch cop. ([@koic][])
#11814: Make Style/CollectionCompact aware of delete_if. ([@koic][])
#11866: Make Style/Semicolon aware of redundant semicolons in string interpolation braces. ([@koic][])
Bug fixes
#11812: Fix a false negative for Style/Attr when using attr and method definitions. ([@koic][])
#11861: Fix a false positive for Layout/SpaceAfterSemicolon when no space between a semicolon and a closing brace of string interpolation. ([@koic][])
#11830: Fix a false positive for Lint/IncompatibleIoSelectWithFiberScheduler. ([@koic][])
#11846: Fix a false positive for Lint/RedundantStringCoercion when using to_s(argument) in puts argument. ([@koic][])
#11865: Fix an error for Naming/ConstantName when assigning a constant from an empty branch of else. ([@koic][])
#11844: Fix a false positive for Style/RedundantLineContinuation when using line concatenation for assigning a return value and without argument parentheses. ([@koic][])
#11808: Fix a false positive for Style/RegexpLiteral when using a regexp starts with equal as a method argument. ([@koic][])
#11822: Fix an error for Layout/SpaceInsideBlockBraces when a method call with a multiline block is used as an argument. ([@koic][])
#11849: Fix an error for Style/ConditionalAssignment when EnforcedStyle: assign_inside_condition and using empty case condition. ([@koic][])
#11967: Fix error for Style/IfInsideElse when a deep nested multiline if...then...elsif...else...end. ([@koic][])
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on rubocop to permit the latest version.
Release notes
Sourced from rubocop's releases.
Changelog
Sourced from rubocop's changelog.
... (truncated)
Commits
93a3783
Cut 1.52727967f
Update Changelog41fa2aa
Server mode: only read $stdin when -s or --stdin argument provideda01fd9c
Add newStyle/RedundantArrayConstructor
cop356fc46
[Fix #11908] SupportAllowedReceivers
forStyle/CollectionMethods
713e7da
Remove a redundantSafeAutoCorrect: false
config172cc75
Merge pull request #11907 from koic/fix_an_error_for_lint_useless_assignment63ede93
[Fix #11905] Fix an error forLint/UselessAssignment
1884a46
Merge pull request #11902 from koic/fix_a_false_positive_for_style_require_orderdb9e469
Fix a false positive forStyle/RequireOrder
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)