Hello community,
here is the log from the commit of package rubygem-rubocop for openSUSE:Factory
checked in at 2020-11-29 12:28:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-rubocop (Old)
and /work/SRC/openSUSE:Factory/.rubygem-rubocop.new.5913 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-rubocop"
Sun Nov 29 12:28:58 2020 rev:19 rq:851250 version:1.4.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-rubocop/rubygem-rubocop.changes
2020-11-24 22:09:37.431336763 +0100
+++
/work/SRC/openSUSE:Factory/.rubygem-rubocop.new.5913/rubygem-rubocop.changes
2020-11-29 12:28:58.886035748 +0100
@@ -1,0 +2,75 @@
+Fri Nov 27 07:05:19 UTC 2020 - Dan Čermák <[email protected]>
+
+- New upstream release 1.4.2
+
+### Bug fixes
+
+* [#9083](https://github.com/rubocop-hq/rubocop/pull/9083): Fix
`Style/RedundantArgument` cop raising offense for more than one argument.
([@tejasbubane][])
+* [#9089](https://github.com/rubocop-hq/rubocop/issues/9089): Fix an incorrect
auto-correct for `Style/FormatString` when using springf with second argument
that uses an operator. ([@koic][])
+* [#7670](https://github.com/rubocop-hq/rubocop/issues/7670): Handle offenses
inside heredocs for `-a --disable-uncorrectable`. ([@jonas054][])
+* [#9070](https://github.com/rubocop-hq/rubocop/issues/9070): Fix
`Lint/UnmodifiedReduceAccumulator` error when the block does not have enough
arguments. ([@dvandersluis][])
+
+### Changes
+
+* [#9091](https://github.com/rubocop-hq/rubocop/pull/9091): Have
`Naming/VariableNumber` accept _1, _2, ... ([@marcandre][])
+* [#9087](https://github.com/rubocop-hq/rubocop/pull/9087): Deprecate
`EnforceSuperclass` module. ([@koic][])
+
+[@tejasbubane]: https://github.com/tejasbubane
+[@koic]: https://github.com/koic
+[@jonas054]: https://github.com/jonas054
+[@dvandersluis]: https://github.com/dvandersluis
+[@marcandre]: https://github.com/marcandre
+
+- New upstream release 1.4.1
+
+### Bug fixes
+
+* [#9082](https://github.com/rubocop-hq/rubocop/pull/9082): Fix gemspec to
include assets directory. ([@javierav][])
+
+[@javierav]: https://github.com/javierav
+
+-------------------------------------------------------------------
+Mon Nov 23 11:26:33 UTC 2020 - Dan Čermák <[email protected]>
+
+- New upstream release 1.4.0
+
+ Drop patch:
+ * 0001-Use-usr-bin-bash-instead-of-env-as-the-shebang.patch
+ (file no longer in the gem)
+
+### New features
+
+* [#7737](https://github.com/rubocop-hq/rubocop/issues/7737): Add new
`Style/RedundantArgument` cop. ([@tejasbubane][])
+* [#9064](https://github.com/rubocop-hq/rubocop/issues/9064): Add
`EmptyLineBetweenMethodDefs`, `EmptyLineBetweenClassDefs` and
`EmptyLineBetweenModuleDefs` config options for `Layout/EmptyLineBetweenDefs`
cop. ([@tejasbubane][])
+* [#9043](https://github.com/rubocop-hq/rubocop/pull/9043): Add `--stderr` to
write all output to stderr except for the autocorrected source. ([@knu][])
+
+### Bug fixes
+
+* [#9067](https://github.com/rubocop-hq/rubocop/pull/9067): Fix an incorrect
auto-correct for `Lint::AmbiguousRegexpLiteral` when passing in a regexp to a
method with no receiver. ([@amatsuda][])
+* [#9060](https://github.com/rubocop-hq/rubocop/issues/9060): Fix an error for
`Layout/SpaceAroundMethodCallOperator` when using `__ENCODING__`. ([@koic][])
+* [#7338](https://github.com/rubocop-hq/rubocop/issues/7338): Handle
assignment with `[]=` in `MultilineMethodCallIndentation`. ([@jonas054][])
+
+* [#7726](https://github.com/rubocop-hq/rubocop/issues/7726): Fix
`MultilineMethodCallIndentation` indentation inside square brackets.
([@jonas054][])
+* [#8857](https://github.com/rubocop-hq/rubocop/issues/8857): Improve how
`Exclude` properties are generated by `--auto-gen-config`. ([@jonas054][])
+
+### Changes
+
+* [#8788](https://github.com/rubocop-hq/rubocop/issues/8788): Change
`Style/Documentation` to not trigger offense with only macros.
([@tejasbubane][])
+* [#8993](https://github.com/rubocop-hq/rubocop/issues/8993): Allow
`ExcludedMethods` config of `Metrics/MethodLength` cop to contain regex.
([@tejasbubane][])
+* [#9073](https://github.com/rubocop-hq/rubocop/issues/9073): Enable
`Layout/LineLength`'s auto-correct by default. ([@bbatsov][])
+* [#9079](https://github.com/rubocop-hq/rubocop/pull/9079): Improve the
gemspec to load only the necessary files without the git utility.
([@piotrmurach][])
+* [#9059](https://github.com/rubocop-hq/rubocop/pull/9059): Update
`Lint/UnmodifiedReduceAccumulator` to accept blocks which return in the form
`accumulator[element]`. ([@dvandersluis][])
+* [#9072](https://github.com/rubocop-hq/rubocop/pull/9072):
`Lint/MissingSuper`: exclude `method_missing` and `respond_to_missing?`.
([@marcandre][])
+* [#9074](https://github.com/rubocop-hq/rubocop/pull/9074): Allow specifying a
pull request ID when calling `rake changelog:*`. ([@marcandre][])
+
+[@tejasbubane]: https://github.com/tejasbubane
+[@knu]: https://github.com/knu
+[@amatsuda]: https://github.com/amatsuda
+[@koic]: https://github.com/koic
+[@jonas054]: https://github.com/jonas054
+[@bbatsov]: https://github.com/bbatsov
+[@piotrmurach]: https://github.com/piotrmurach
+[@dvandersluis]: https://github.com/dvandersluis
+[@marcandre]: https://github.com/marcandre
+
+-------------------------------------------------------------------
Old:
----
0001-Use-usr-bin-bash-instead-of-env-as-the-shebang.patch
rubocop-1.3.1.gem
New:
----
rubocop-1.4.2.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-rubocop.spec ++++++
--- /var/tmp/diff_new_pack.lpvvEu/_old 2020-11-29 12:28:59.378036245 +0100
+++ /var/tmp/diff_new_pack.lpvvEu/_new 2020-11-29 12:28:59.382036249 +0100
@@ -25,7 +25,7 @@
# of those fields
#
Name: rubygem-rubocop
-Version: 1.3.1
+Version: 1.4.2
Release: 0
Summary: Automatic Ruby code style checking tool
License: MIT
@@ -39,19 +39,12 @@
BuildRequires: update-alternatives
# FIXME: use proper Requires(pre/post/preun/...)
PreReq: update-alternatives
-# MANUAL
-Patch0: 0001-Use-usr-bin-bash-instead-of-env-as-the-shebang.patch
-# /MANUAL
%description
RuboCop is a Ruby code style checking and code formatting tool.
It aims to enforce the community-driven Ruby Style Guide.
%prep
-%gem_unpack
-%patch0 -p1
-find -type f -print0 | xargs -0 touch -r %{SOURCE0}
-%{gem_build}
%build
++++++ gem2rpm.yml ++++++
--- /var/tmp/diff_new_pack.lpvvEu/_old 2020-11-29 12:28:59.406036274 +0100
+++ /var/tmp/diff_new_pack.lpvvEu/_new 2020-11-29 12:28:59.406036274 +0100
@@ -19,8 +19,8 @@
# BuildRequires: foobar
# Requires: foobar
# ## used by gem2rpm
-:patches:
- 0001-Use-usr-bin-bash-instead-of-env-as-the-shebang.patch: -p1
+# :patches:
+# 0001-Use-usr-bin-bash-instead-of-env-as-the-shebang.patch: -p1
# ## used by gem2rpm
:sources:
# - foo.desktop
++++++ rubocop-1.3.1.gem -> rubocop-1.4.2.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md 2020-11-16 09:54:10.000000000 +0100
+++ new/README.md 2020-11-25 09:13:21.000000000 +0100
@@ -51,7 +51,7 @@
in your `Gemfile`:
```rb
-gem 'rubocop', '~> 1.3', require: false
+gem 'rubocop', '~> 1.4', require: false
```
See [versioning](https://docs.rubocop.org/rubocop/1.0/versioning.html) for
further details.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/bin/console new/bin/console
--- old/bin/console 2020-11-16 09:54:10.000000000 +0100
+++ new/bin/console 1970-01-01 01:00:00.000000000 +0100
@@ -1,10 +0,0 @@
-#!/usr/bin/env ruby
-# frozen_string_literal: true
-
-require 'bundler/setup'
-require 'pry'
-require 'rubocop'
-
-ARGV.clear
-
-RuboCop.pry
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/bin/rubocop-profile new/bin/rubocop-profile
--- old/bin/rubocop-profile 2020-11-16 09:54:10.000000000 +0100
+++ new/bin/rubocop-profile 1970-01-01 01:00:00.000000000 +0100
@@ -1,32 +0,0 @@
-#!/usr/bin/env ruby
-# frozen_string_literal: true
-
-if ARGV.include?('-h') || ARGV.include?('--help')
- puts "Usage: same as main `rubocop` command but gathers profiling info"
- puts "Additional option: `--memory` to print memory usage"
- exit(0)
-end
-with_mem = ARGV.delete('--memory')
-ARGV.unshift '--cache', 'false' unless ARGV.include?('--cache')
-
-require 'stackprof'
-if with_mem
- require 'memory_profiler'
- MemoryProfiler.start
-end
-StackProf.start
-start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
-begin
- load "#{__dir__}/../exe/rubocop"
-ensure
- delta = Process.clock_gettime(Process::CLOCK_MONOTONIC) - start
- puts "Finished in #{delta.round(1)} seconds"
- StackProf.stop
- if with_mem
- puts "Building memory report..."
- report = MemoryProfiler.stop
- end
- Dir.mkdir('tmp') unless File.exist?('tmp')
- StackProf.results('tmp/stackprof.dump')
- report&.pretty_print(scale_bytes: true)
-end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/bin/setup new/bin/setup
--- old/bin/setup 2020-11-16 09:54:10.000000000 +0100
+++ new/bin/setup 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-
-set -euo pipefail
-IFS=$'\n\t'
-set -vx
-
-bundle install
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/config/default.yml new/config/default.yml
--- old/config/default.yml 2020-11-16 09:54:10.000000000 +0100
+++ new/config/default.yml 2020-11-25 09:13:21.000000000 +0100
@@ -459,10 +459,14 @@
- https://github.com/airbnb/ruby#multiline-if-newline
Layout/EmptyLineBetweenDefs:
- Description: 'Use empty lines between defs.'
+ Description: 'Use empty lines between class/module/method defs.'
StyleGuide: '#empty-lines-between-methods'
Enabled: true
VersionAdded: '0.49'
+ VersionChanged: '1.4'
+ EmptyLineBetweenMethodDefs: true
+ EmptyLineBetweenClassDefs: true
+ EmptyLineBetweenModuleDefs: true
# If `true`, this parameter means that single line method definitions don't
# need an empty line between them.
AllowAdjacentOneLineDefs: false
@@ -891,8 +895,8 @@
StyleGuide: '#max-line-length'
Enabled: true
VersionAdded: '0.25'
- VersionChanged: '1.3'
- AutoCorrect: false
+ VersionChanged: '1.4'
+ AutoCorrect: true
Max: 120
# To make it possible to copy or click on URIs in the code, we allow lines
# containing a URI to be longer than Max.
@@ -1684,6 +1688,7 @@
without calls to `super`'.
Enabled: true
VersionAdded: '0.89'
+ VersionChanged: '1.4'
Lint/MixedRegexpCaptureTypes:
Description: 'Do not mix named captures and numbered captures in a Regexp
literal.'
@@ -2451,7 +2456,7 @@
StyleGuide: '#snake-case-symbols-methods-vars-with-numbers'
Enabled: true
VersionAdded: '0.50'
- VersionChanged: '1.3'
+ VersionChanged: '1.4'
EnforcedStyle: normalcase
SupportedStyles:
- snake_case
@@ -3976,6 +3981,17 @@
Enabled: true
VersionAdded: '0.52'
+Style/RedundantArgument:
+ Description: 'Check for a redundant argument passed to certain methods.'
+ Enabled: pending
+ Safe: false
+ VersionAdded: '1.4'
+ Methods:
+ # Array#join
+ join: ''
+ # String#split
+ split: ' '
+
Style/RedundantAssignment:
Description: 'Checks for redundant assignment before returning.'
Enabled: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/cli/command/execute_runner.rb
new/lib/rubocop/cli/command/execute_runner.rb
--- old/lib/rubocop/cli/command/execute_runner.rb 2020-11-16
09:54:10.000000000 +0100
+++ new/lib/rubocop/cli/command/execute_runner.rb 2020-11-25
09:13:21.000000000 +0100
@@ -22,12 +22,13 @@
def execute_runner(paths)
runner = Runner.new(@options, @config_store)
- all_passed = runner.run(paths)
- display_warning_summary(runner.warnings)
- display_error_summary(runner.errors)
- maybe_print_corrected_source
+ all_pass_or_excluded = with_redirect do
+ all_passed = runner.run(paths)
+ display_summary(runner)
+ all_passed || @options[:auto_gen_config]
+ end
- all_pass_or_excluded = all_passed || @options[:auto_gen_config]
+ maybe_print_corrected_source
if runner.aborting?
STATUS_INTERRUPTED
@@ -38,6 +39,25 @@
end
end
+ def with_redirect
+ if @options[:stderr]
+ orig_stdout = $stdout.dup
+ $stdout.reopen($stderr)
+
+ result = yield
+
+ $stdout.reopen(orig_stdout)
+ result
+ else
+ yield
+ end
+ end
+
+ def display_summary(runner)
+ display_warning_summary(runner.warnings)
+ display_error_summary(runner.errors)
+ end
+
def display_warning_summary(warnings)
return if warnings.empty?
@@ -69,14 +89,9 @@
# See: https://github.com/rubocop-hq/rubocop/issues/8673
return if INTEGRATION_FORMATTERS.include?(@options[:format])
- # If we are asked to autocorrect source code read from stdin, the
only
- # reasonable place to write it is to stdout
- # Unfortunately, we also write other information to stdout
- # So a delimiter is needed for tools to easily identify where the
- # autocorrected source begins
return unless @options[:stdin] && @options[:auto_correct]
- puts '=' * 20
+ (@options[:stderr] ? $stderr : $stdout).puts '=' * 20
print @options[:stdin]
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/config_regeneration.rb
new/lib/rubocop/config_regeneration.rb
--- old/lib/rubocop/config_regeneration.rb 2020-11-16 09:54:10.000000000
+0100
+++ new/lib/rubocop/config_regeneration.rb 2020-11-25 09:13:21.000000000
+0100
@@ -16,7 +16,7 @@
match = generation_command.match(COMMAND_REGEX)
return DEFAULT_OPTIONS unless match
- options = match[1].split(' ')
+ options = match[1].split
Options.new.parse(options).first
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/cop/autocorrect_logic.rb
new/lib/rubocop/cop/autocorrect_logic.rb
--- old/lib/rubocop/cop/autocorrect_logic.rb 2020-11-16 09:54:10.000000000
+0100
+++ new/lib/rubocop/cop/autocorrect_logic.rb 2020-11-25 09:13:21.000000000
+0100
@@ -39,16 +39,31 @@
private
def disable_offense(range)
- eol_comment = " # rubocop:todo #{cop_name}"
- needed_line_length = (range.source_line + eol_comment).length
- if needed_line_length <= max_line_length
- disable_offense_at_end_of_line(range_of_first_line(range),
- eol_comment)
+ heredoc_range = surrounding_heredoc(range)
+ if heredoc_range
+ disable_offense_before_and_after(range_by_lines(heredoc_range))
else
- disable_offense_before_and_after(range_by_lines(range))
+ eol_comment = " # rubocop:todo #{cop_name}"
+ needed_line_length = (range.source_line + eol_comment).length
+ if needed_line_length <= max_line_length
+ disable_offense_at_end_of_line(range_of_first_line(range),
eol_comment)
+ else
+ disable_offense_before_and_after(range_by_lines(range))
+ end
end
end
+ def surrounding_heredoc(offense_range)
+ # The empty offense range is an edge case that can be reached from the
Lint/Syntax cop.
+ return nil if offense_range.empty?
+
+ heredoc_nodes = processed_source.ast.each_descendant.select do |node|
+ node.respond_to?(:heredoc?) && node.heredoc?
+ end
+ heredoc_nodes.map { |node|
node.loc.expression.join(node.loc.heredoc_end) }
+ .find { |range| range.contains?(offense_range) }
+ end
+
def range_of_first_line(range)
begin_of_first_line = range.begin_pos - range.column
end_of_first_line = begin_of_first_line + range.source_line.length
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/lib/rubocop/cop/correctors/percent_literal_corrector.rb
new/lib/rubocop/cop/correctors/percent_literal_corrector.rb
--- old/lib/rubocop/cop/correctors/percent_literal_corrector.rb 2020-11-16
09:54:10.000000000 +0100
+++ new/lib/rubocop/cop/correctors/percent_literal_corrector.rb 2020-11-25
09:13:21.000000000 +0100
@@ -48,7 +48,7 @@
def autocorrect_multiline_words(node, escape, delimiters)
contents = process_multiline_words(node, escape, delimiters)
contents << end_content(node.source)
- contents.join('')
+ contents.join
end
def autocorrect_words(node, escape, delimiters)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb
new/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb
--- old/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb
2020-11-16 09:54:10.000000000 +0100
+++ new/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb
2020-11-25 09:13:21.000000000 +0100
@@ -38,7 +38,7 @@
def assertions_using_described_class_msg
described_class_msg(processed_source.ast).reject do |node|
- node.ancestors.any?(&method(:rspec_expectation_on_msg?))
+ node.ancestors.any? { |ancestor|
rspec_expectation_on_msg?(ancestor) }
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/cop/layout/empty_line_between_defs.rb
new/lib/rubocop/cop/layout/empty_line_between_defs.rb
--- old/lib/rubocop/cop/layout/empty_line_between_defs.rb 2020-11-16
09:54:10.000000000 +0100
+++ new/lib/rubocop/cop/layout/empty_line_between_defs.rb 2020-11-25
09:13:21.000000000 +0100
@@ -3,17 +3,18 @@
module RuboCop
module Cop
module Layout
- # This cop checks whether method definitions are
- # separated by one empty line.
+ # This cop checks whether class/module/method definitions are
+ # separated by one or more empty lines.
#
# `NumberOfEmptyLines` can be an integer (default is 1) or
# an array (e.g. [1, 2]) to specify a minimum and maximum
# number of empty lines permitted.
#
# `AllowAdjacentOneLineDefs` configures whether adjacent
- # one-line method definitions are considered an offense.
+ # one-line definitions are considered an offense.
#
- # @example
+ # @example EmptyLineBetweenMethodDefs: true (default)
+ # # checks for empty lines between method definitions.
#
# # bad
# def a
@@ -29,11 +30,57 @@
#
# def b
# end
+ #
+ # @example EmptyLineBetweenClassDefs: true (default)
+ # # checks for empty lines between class definitions.
+ #
+ # # bad
+ # class A
+ # end
+ # class B
+ # end
+ # def b
+ # end
+ #
+ # @example
+ #
+ # # good
+ # class A
+ # end
+ #
+ # class B
+ # end
+ #
+ # def b
+ # end
+ #
+ # @example EmptyLineBetweenModuleDefs: true (default)
+ # # checks for empty lines between module definitions.
+ #
+ # # bad
+ # module A
+ # end
+ # module B
+ # end
+ # def b
+ # end
+ #
+ # @example
+ #
+ # # good
+ # module A
+ # end
+ #
+ # module B
+ # end
+ #
+ # def b
+ # end
class EmptyLineBetweenDefs < Base
include RangeHelp
extend AutoCorrector
- MSG = 'Use empty lines between method definitions.'
+ MSG = 'Use empty lines between %<type>s definitions.'
def self.autocorrect_incompatible_with
[Layout::EmptyLines]
@@ -47,7 +94,7 @@
def on_begin(node)
node.children.each_cons(2) do |prev, n|
nodes = [prev, n]
- check_defs(nodes) if nodes.all?(&method(:def_node?))
+ check_defs(nodes) if nodes.all? { |def_candidate|
candidate?(def_candidate) }
end
end
@@ -57,8 +104,9 @@
return if nodes.all?(&:single_line?) &&
cop_config['AllowAdjacentOneLineDefs']
- location = nodes.last.loc.keyword.join(nodes.last.loc.name)
- add_offense(location) do |corrector|
+ correction_node = nodes.last
+ location = correction_node.loc.keyword.join(correction_node.loc.name)
+ add_offense(location, message: message(correction_node)) do
|corrector|
autocorrect(corrector, *nodes)
end
end
@@ -83,10 +131,32 @@
private
- def def_node?(node)
+ def candidate?(node)
return unless node
- node.def_type? || node.defs_type?
+ method_candidate?(node) || class_candidate?(node) ||
module_candidate?(node)
+ end
+
+ def method_candidate?(node)
+ cop_config['EmptyLineBetweenMethodDefs'] && (node.def_type? ||
node.defs_type?)
+ end
+
+ def class_candidate?(node)
+ cop_config['EmptyLineBetweenClassDefs'] && node.class_type?
+ end
+
+ def module_candidate?(node)
+ cop_config['EmptyLineBetweenModuleDefs'] && node.module_type?
+ end
+
+ def message(node)
+ type = case node.type
+ when :def, :defs
+ :method
+ else
+ node.type
+ end
+ format(MSG, type: type)
end
def multiple_blank_lines_groups?(first_def_node, second_def_node)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/lib/rubocop/cop/layout/space_around_method_call_operator.rb
new/lib/rubocop/cop/layout/space_around_method_call_operator.rb
--- old/lib/rubocop/cop/layout/space_around_method_call_operator.rb
2020-11-16 09:54:10.000000000 +0100
+++ new/lib/rubocop/cop/layout/space_around_method_call_operator.rb
2020-11-25 09:13:21.000000000 +0100
@@ -51,7 +51,7 @@
alias on_csend on_send
def on_const(node)
- return unless node.loc.double_colon
+ return unless node.loc.respond_to?(:double_colon) &&
node.loc.double_colon
check_space_after_double_colon(node)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb
new/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb
--- old/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb 2020-11-16
09:54:10.000000000 +0100
+++ new/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb 2020-11-25
09:13:21.000000000 +0100
@@ -53,7 +53,8 @@
def find_offense_node(node, regexp_receiver)
return node unless node.parent
- if node.parent.send_type? || method_chain_to_regexp_receiver?(node,
regexp_receiver)
+ if (node.parent.send_type? && node.receiver) ||
+ method_chain_to_regexp_receiver?(node, regexp_receiver)
node = find_offense_node(node.parent, regexp_receiver)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/cop/lint/literal_in_interpolation.rb
new/lib/rubocop/cop/lint/literal_in_interpolation.rb
--- old/lib/rubocop/cop/lint/literal_in_interpolation.rb 2020-11-16
09:54:10.000000000 +0100
+++ new/lib/rubocop/cop/lint/literal_in_interpolation.rb 2020-11-25
09:13:21.000000000 +0100
@@ -95,7 +95,7 @@
def autocorrected_value_for_array(node)
return node.source.gsub('"', '\"') unless node.percent_literal?
- contents_range(node).source.split(' ').to_s.gsub('"', '\"')
+ contents_range(node).source.split.to_s.gsub('"', '\"')
end
# Does node print its own source when converted to a string?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/cop/lint/missing_super.rb
new/lib/rubocop/cop/lint/missing_super.rb
--- old/lib/rubocop/cop/lint/missing_super.rb 2020-11-16 09:54:10.000000000
+0100
+++ new/lib/rubocop/cop/lint/missing_super.rb 2020-11-25 09:13:21.000000000
+0100
@@ -6,6 +6,11 @@
# This cop checks for the presence of constructors and lifecycle
callbacks
# without calls to `super`.
#
+ # This cop does not consider `method_missing` (and `respond_to_missing?`)
+ # because in some cases it makes sense to overtake what is considered a
+ # missing method. In other cases, the theoretical ideal handling could be
+ # challenging or verbose for no actual gain.
+ #
# @example
# # bad
# class Employee < Person
@@ -43,15 +48,13 @@
STATELESS_CLASSES = %w[BasicObject Object].freeze
- OBJECT_LIFECYCLE_CALLBACKS = %i[method_missing
respond_to_missing?].freeze
CLASS_LIFECYCLE_CALLBACKS = %i[inherited].freeze
METHOD_LIFECYCLE_CALLBACKS = %i[method_added method_removed
method_undefined
singleton_method_added
singleton_method_removed
singleton_method_undefined].freeze
- CALLBACKS = (OBJECT_LIFECYCLE_CALLBACKS +
- CLASS_LIFECYCLE_CALLBACKS +
- METHOD_LIFECYCLE_CALLBACKS).to_set.freeze
+ CALLBACKS = (CLASS_LIFECYCLE_CALLBACKS +
+ METHOD_LIFECYCLE_CALLBACKS).to_set.freeze
def on_def(node)
return unless offender?(node)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb
new/lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb
--- old/lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb 2020-11-16
09:54:10.000000000 +0100
+++ new/lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb 2020-11-25
09:13:21.000000000 +0100
@@ -12,7 +12,8 @@
# could be rewritten as such without a loop.
#
# Also catches instances where an index of the accumulator is returned,
as
- # this may change the type of object being retained.
+ # this may change the type of object being retained. As well, detects
when
+ # fewer than 2 block arguments are specified.
#
# NOTE: For the purpose of reducing false positives, this cop only flags
# returns in `reduce` blocks where the element is the only variable in
@@ -54,6 +55,9 @@
# value
# end
#
+ # # good, recursive
+ # keys.reduce(self) { |result, key| result[key] }
+ #
# # ignored as the return value cannot be determined
# enum.reduce do |acc, el|
# x = foo(acc, el)
@@ -64,7 +68,7 @@
MSG_INDEX = 'Do not return an element of the accumulator in
`%<method>s`.'
def_node_matcher :reduce_with_block?, <<~PATTERN
- (block (send _recv {:reduce :inject} ...) (args arg+) ...)
+ (block (send _recv {:reduce :inject} ...) args ...)
PATTERN
def_node_matcher :accumulator_index?, <<~PATTERN
@@ -103,6 +107,7 @@
def on_block(node)
return unless reduce_with_block?(node)
+ return unless node.arguments.length >= 2
check_return_values(node)
end
@@ -131,7 +136,7 @@
element_name = block_arg_name(block_node, 1)
message_opts = { method: block_node.method_name, accum:
accumulator_name }
- if (node = returned_accumulator_index(return_values,
accumulator_name))
+ if (node = returned_accumulator_index(return_values,
accumulator_name, element_name))
add_offense(node, message: format(MSG_INDEX, message_opts))
elsif potential_offense?(return_values, block_node.body,
element_name, accumulator_name)
return_values.each do |return_val|
@@ -146,11 +151,17 @@
node.arguments[index].node_parts[0]
end
- # Look for an index of the accumulator being returned
+ # Look for an index of the accumulator being returned, except where
the index
+ # is the element.
# This is always an offense, in order to try to catch potential
exceptions
# due to type mismatches
- def returned_accumulator_index(return_values, accumulator_name)
- return_values.detect { |val| accumulator_index?(val,
accumulator_name) }
+ def returned_accumulator_index(return_values, accumulator_name,
element_name)
+ return_values.detect do |val|
+ next unless accumulator_index?(val, accumulator_name)
+ next true if val.method?(:[]=)
+
+ val.arguments.none? { |arg| lvar_used?(arg, element_name) }
+ end
end
def potential_offense?(return_values, block_body, element_name,
accumulator_name)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/cop/metrics/method_length.rb
new/lib/rubocop/cop/metrics/method_length.rb
--- old/lib/rubocop/cop/metrics/method_length.rb 2020-11-16
09:54:10.000000000 +0100
+++ new/lib/rubocop/cop/metrics/method_length.rb 2020-11-25
09:13:21.000000000 +0100
@@ -36,7 +36,7 @@
def on_def(node)
excluded_methods = cop_config['ExcludedMethods']
- return if excluded_methods.include?(String(node.method_name))
+ return if excluded_methods.any? { |m| m.match?
String(node.method_name) }
check_code_length(node)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/cop/mixin/configurable_numbering.rb
new/lib/rubocop/cop/mixin/configurable_numbering.rb
--- old/lib/rubocop/cop/mixin/configurable_numbering.rb 2020-11-16
09:54:10.000000000 +0100
+++ new/lib/rubocop/cop/mixin/configurable_numbering.rb 2020-11-25
09:13:21.000000000 +0100
@@ -7,10 +7,11 @@
module ConfigurableNumbering
include ConfigurableFormatting
+ implicit_param = /\A_\d+\z/
FORMATS = {
snake_case: /(?:\D|_\d+|\A\d+)\z/,
- normalcase: /(?:\D|[^_\d]\d+|\A\d+)\z/,
- non_integer: /(\D|\A\d+)\z/
+ normalcase: /(?:\D|[^_\d]\d+|\A\d+)\z|#{implicit_param}/,
+ non_integer: /(\D|\A\d+)\z|#{implicit_param}/
}.freeze
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/cop/mixin/enforce_superclass.rb
new/lib/rubocop/cop/mixin/enforce_superclass.rb
--- old/lib/rubocop/cop/mixin/enforce_superclass.rb 2020-11-16
09:54:10.000000000 +0100
+++ new/lib/rubocop/cop/mixin/enforce_superclass.rb 2020-11-25
09:13:21.000000000 +0100
@@ -2,7 +2,15 @@
module RuboCop
module Cop
- # Common functionality for enforcing a specific superclass
+ # Common functionality for enforcing a specific superclass.
+ #
+ # IMPORTANT: RuboCop core depended on this module when it supported Rails
department.
+ # Rails department has been extracted to RuboCop Rails gem.
+ # This module is deprecated and will be removed by RuboCop 2.0.
+ # It will not be updated to `RuboCop::Cop::Base` v1 API to maintain
compatibility
+ # with existing RuboCop Rails 2.8 or lower.
+ #
+ # @api private
module EnforceSuperclass
def self.included(base)
base.def_node_matcher :class_definition, <<~PATTERN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/lib/rubocop/cop/mixin/multiline_expression_indentation.rb
new/lib/rubocop/cop/mixin/multiline_expression_indentation.rb
--- old/lib/rubocop/cop/mixin/multiline_expression_indentation.rb
2020-11-16 09:54:10.000000000 +0100
+++ new/lib/rubocop/cop/mixin/multiline_expression_indentation.rb
2020-11-25 09:13:21.000000000 +0100
@@ -31,7 +31,7 @@
# b c { block }. <-- b is indented relative to a
# d <-- d is indented relative to a
def left_hand_side(lhs)
- lhs = lhs.parent while lhs.parent&.send_type?
+ lhs = lhs.parent while lhs.parent&.send_type? && lhs.parent.loc.dot
lhs
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/cop/mixin/visibility_help.rb
new/lib/rubocop/cop/mixin/visibility_help.rb
--- old/lib/rubocop/cop/mixin/visibility_help.rb 2020-11-16
09:54:10.000000000 +0100
+++ new/lib/rubocop/cop/mixin/visibility_help.rb 2020-11-25
09:13:21.000000000 +0100
@@ -16,9 +16,7 @@
end
def find_visibility_start(node)
- node.left_siblings
- .reverse
- .find(&method(:visibility_block?))
+ node.left_siblings.reverse.find { |sibling| visibility_block?(sibling)
}
end
# Navigate to find the last protected method
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/cop/style/documentation.rb
new/lib/rubocop/cop/style/documentation.rb
--- old/lib/rubocop/cop/style/documentation.rb 2020-11-16 09:54:10.000000000
+0100
+++ new/lib/rubocop/cop/style/documentation.rb 2020-11-25 09:13:21.000000000
+0100
@@ -55,6 +55,11 @@
# Public = Class.new
# end
#
+ # # Macro calls
+ # module Namespace
+ # extend Foo
+ # end
+ #
class Documentation < Base
include DocumentationComment
@@ -83,15 +88,21 @@
return if documentation_comment?(node) || nodoc_comment?(node)
return if compact_namespace?(node) &&
nodoc_comment?(outer_module(node).first)
+ return if macro_only?(body)
add_offense(node.loc.keyword, message: format(MSG, type: type))
end
+ def macro_only?(body)
+ body.respond_to?(:macro?) && body.macro? ||
+ body.respond_to?(:children) && body.children&.all? { |child|
macro_only?(child) }
+ end
+
def namespace?(node)
return false unless node
if node.begin_type?
- node.children.all?(&method(:constant_declaration?))
+ node.children.all? { |child| constant_declaration?(child) }
else
constant_definition?(node)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/cop/style/format_string.rb
new/lib/rubocop/cop/style/format_string.rb
--- old/lib/rubocop/cop/style/format_string.rb 2020-11-16 09:54:10.000000000
+0100
+++ new/lib/rubocop/cop/style/format_string.rb 2020-11-25 09:13:21.000000000
+0100
@@ -111,15 +111,20 @@
format = format_arg.source
args = if param_args.one?
- arg = param_args.last
-
- arg.hash_type? ? "{ #{arg.source} }" : arg.source
+ format_single_parameter(param_args.last)
else
"[#{param_args.map(&:source).join(', ')}]"
end
corrector.replace(node, "#{format} % #{args}")
end
+
+ def format_single_parameter(arg)
+ source = arg.source
+ return "{ #{source} }" if arg.hash_type?
+
+ arg.send_type? && arg.operator_method? && !arg.parenthesized? ?
"(#{source})" : source
+ end
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb
new/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb
---
old/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb
2020-11-16 09:54:10.000000000 +0100
+++
new/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb
2020-11-25 09:13:21.000000000 +0100
@@ -74,7 +74,7 @@
parent &&
(logical_operator?(parent) ||
parent.send_type? &&
- parent.arguments.any?(&method(:logical_operator?)))
+ parent.arguments.any? { |argument| logical_operator?(argument) })
end
def call_in_optional_arguments?(node)
@@ -110,7 +110,7 @@
def hash_literal_in_arguments?(node)
node.arguments.any? do |n|
hash_literal?(n) ||
- n.send_type? && node.descendants.any?(&method(:hash_literal?))
+ n.send_type? && node.descendants.any? { |descendant|
hash_literal?(descendant) }
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/cop/style/redundant_argument.rb
new/lib/rubocop/cop/style/redundant_argument.rb
--- old/lib/rubocop/cop/style/redundant_argument.rb 1970-01-01
01:00:00.000000000 +0100
+++ new/lib/rubocop/cop/style/redundant_argument.rb 2020-11-25
09:13:21.000000000 +0100
@@ -0,0 +1,75 @@
+# frozen_string_literal: true
+
+require 'parser/current'
+
+module RuboCop
+ module Cop
+ module Style
+ # This cop checks for a redundant argument passed to certain methods.
+ #
+ # Limitations:
+ #
+ # 1. This cop matches for method names only and hence cannot tell apart
+ # methods with same name in different classes.
+ # 2. This cop is limited to methods with single parameter.
+ # 3. This cop is unsafe if certain special global variables (e.g. `$;`)
are set.
+ # That depends on the nature of the target methods, of course.
+ #
+ # Method names and their redundant arguments can be configured like this:
+ #
+ # Methods:
+ # join: ''
+ # split: ' '
+ # foo: 2
+ #
+ # @example
+ # # bad
+ # array.join('')
+ # [1, 2, 3].join("")
+ # string.split(" ")
+ # "first\nsecond".split(" ")
+ # A.foo(2)
+ #
+ # # good
+ # array.join
+ # [1, 2, 3].join
+ # string.split
+ # "first second".split
+ # A.foo
+ class RedundantArgument < Cop
+ MSG = 'Argument %<arg>s is redundant because it is implied by default.'
+
+ def on_send(node)
+ return if node.receiver.nil?
+ return if node.arguments.count != 1
+ return unless redundant_argument?(node)
+
+ add_offense(node, message: format(MSG, arg:
node.arguments.first.source))
+ end
+
+ private
+
+ def redundant_argument?(node)
+ redundant_argument = redundant_arg_for_method(node.method_name.to_s)
+ return false if redundant_argument.nil?
+
+ node.arguments.first == redundant_argument
+ end
+
+ def redundant_arg_for_method(method_name)
+ return nil unless cop_config['Methods'].key?(method_name)
+
+ @mem ||= {}
+ @mem[method_name] ||=
+ begin
+ arg = cop_config['Methods'].fetch(method_name)
+ buffer = Parser::Source::Buffer.new('(string)', 1)
+ buffer.source = arg.inspect
+ builder = RuboCop::AST::Builder.new
+ Parser::CurrentRuby.new(builder).parse(buffer)
+ end
+ end
+ end
+ end
+ end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/cop/util.rb new/lib/rubocop/cop/util.rb
--- old/lib/rubocop/cop/util.rb 2020-11-16 09:54:10.000000000 +0100
+++ new/lib/rubocop/cop/util.rb 2020-11-25 09:13:21.000000000 +0100
@@ -53,7 +53,7 @@
end
def on_node(syms, sexp, excludes = [], &block)
- return to_enum(:on_node, syms, sexp, excludes) unless block_given?
+ return to_enum(:on_node, syms, sexp, excludes) unless block
yield sexp if Array(syms).include?(sexp.type)
return if Array(excludes).include?(sexp.type)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/cop/variable_force/branch.rb
new/lib/rubocop/cop/variable_force/branch.rb
--- old/lib/rubocop/cop/variable_force/branch.rb 2020-11-16
09:54:10.000000000 +0100
+++ new/lib/rubocop/cop/variable_force/branch.rb 2020-11-25
09:13:21.000000000 +0100
@@ -78,7 +78,7 @@
end
def each_ancestor(include_self: false, &block)
- return to_enum(__method__, include_self: include_self) unless
block_given?
+ return to_enum(__method__, include_self: include_self) unless block
yield self if include_self
scan_ancestors(&block)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/cop/variable_force/scope.rb
new/lib/rubocop/cop/variable_force/scope.rb
--- old/lib/rubocop/cop/variable_force/scope.rb 2020-11-16 09:54:10.000000000
+0100
+++ new/lib/rubocop/cop/variable_force/scope.rb 2020-11-25 09:13:21.000000000
+0100
@@ -61,7 +61,7 @@
end
def each_node(&block)
- return to_enum(__method__) unless block_given?
+ return to_enum(__method__) unless block
yield node if naked_top_level?
scan_node(node, &block)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/formatter/disabled_config_formatter.rb
new/lib/rubocop/formatter/disabled_config_formatter.rb
--- old/lib/rubocop/formatter/disabled_config_formatter.rb 2020-11-16
09:54:10.000000000 +0100
+++ new/lib/rubocop/formatter/disabled_config_formatter.rb 2020-11-25
09:13:21.000000000 +0100
@@ -5,6 +5,8 @@
# This formatter displays a YAML configuration file where all cops that
# detected any offenses are configured to not detect the offense.
class DisabledConfigFormatter < BaseFormatter
+ include PathUtil
+
HEADING = <<~COMMENTS
# This configuration was generated by
# `%<command>s`
@@ -195,15 +197,28 @@
end
def excludes(offending_files, cop_name, parent)
- # Exclude properties in .rubocop_todo.yml override default ones, as
well
- # as any custom excludes in .rubocop.yml, so in order to retain those
- # excludes we must copy them.
- # There can be multiple .rubocop.yml files in subdirectories, but we
- # just look at the current working directory
+ # Exclude properties in .rubocop_todo.yml override default ones, as
well as any custom
+ # excludes in .rubocop.yml, so in order to retain those excludes we
must copy them.
+ # There can be multiple .rubocop.yml files in subdirectories, but we
just look at the
+ # current working directory.
config = ConfigStore.new.for(parent)
cfg = config[cop_name] || {}
- ((cfg['Exclude'] || []) + offending_files).uniq
+ if merge_mode_for_exclude?(config) || merge_mode_for_exclude?(cfg)
+ offending_files
+ else
+ cop_exclude = cfg['Exclude']
+ if cop_exclude && cop_exclude != default_config(cop_name)['Exclude']
+ warn "`#{cop_name}: Exclude` in
`#{smart_path(config.loaded_path)}` overrides a " \
+ 'generated `Exclude` in `.rubocop_todo.yml`. Either remove ' \
+ "`#{cop_name}: Exclude` or add `inherit_mode: merge: -
Exclude`."
+ end
+ ((cop_exclude || []) + offending_files).uniq
+ end
+ end
+
+ def merge_mode_for_exclude?(cfg)
+ Array(cfg.to_h.dig('inherit_mode', 'merge')).include?('Exclude')
end
def output_exclude_path(output_buffer, exclude_path, parent)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/options.rb new/lib/rubocop/options.rb
--- old/lib/rubocop/options.rb 2020-11-16 09:54:10.000000000 +0100
+++ new/lib/rubocop/options.rb 2020-11-25 09:13:21.000000000 +0100
@@ -5,6 +5,7 @@
module RuboCop
class IncorrectCopNameError < StandardError; end
+
class OptionArgumentError < StandardError; end
# This class handles command line options.
@@ -195,6 +196,7 @@
option(opts, '--safe')
+ option(opts, '--stderr')
option(opts, '--[no-]color')
option(opts, '-v', '--version')
@@ -498,6 +500,9 @@
extra_details: 'Display extra details in offense
messages.',
lint: 'Run only lint cops.',
safe: 'Run only safe cops.',
+ stderr: ['Write all output to stderr except
for the',
+ 'autocorrected source. This is
especially useful',
+ 'when combined with --auto-correct
and --stdin.'],
list_target_files: 'List all files RuboCop will inspect.',
auto_correct: 'Auto-correct offenses (only when
it\'s safe).',
safe_auto_correct: '(same, deprecated)',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/rake_task.rb new/lib/rubocop/rake_task.rb
--- old/lib/rubocop/rake_task.rb 2020-11-16 09:54:10.000000000 +0100
+++ new/lib/rubocop/rake_task.rb 2020-11-25 09:13:21.000000000 +0100
@@ -22,7 +22,7 @@
task(name, *args) do |_, task_args|
RakeFileUtils.verbose(verbose) do
- yield(*[self, task_args].slice(0, task_block.arity)) if block_given?
+ yield(*[self, task_args].slice(0, task_block.arity)) if task_block
run_cli(verbose, full_options)
end
end
@@ -66,7 +66,7 @@
task(:auto_correct, *args) do |_, task_args|
RakeFileUtils.verbose(verbose) do
- yield(*[self, task_args].slice(0, task_block.arity)) if
block_given?
+ yield(*[self, task_args].slice(0, task_block.arity)) if task_block
options = full_options.unshift('--auto-correct-all')
options.delete('--parallel')
run_cli(verbose, options)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/runner.rb new/lib/rubocop/runner.rb
--- old/lib/rubocop/runner.rb 2020-11-16 09:54:10.000000000 +0100
+++ new/lib/rubocop/runner.rb 2020-11-25 09:13:21.000000000 +0100
@@ -64,7 +64,7 @@
# instances that each inspects its allotted group of files.
def warm_cache(target_files)
puts 'Running parallel inspection' if @options[:debug]
- Parallel.each(target_files, &method(:file_offenses))
+ Parallel.each(target_files) { |target_file| file_offenses(target_file) }
end
def find_target_files(paths)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop/version.rb new/lib/rubocop/version.rb
--- old/lib/rubocop/version.rb 2020-11-16 09:54:10.000000000 +0100
+++ new/lib/rubocop/version.rb 2020-11-25 09:13:21.000000000 +0100
@@ -3,7 +3,7 @@
module RuboCop
# This module holds the RuboCop version information.
module Version
- STRING = '1.3.1'
+ STRING = '1.4.2'
MSG = '%<version>s (using Parser %<parser_version>s, '\
'rubocop-ast %<rubocop_ast_version>s, ' \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/rubocop.rb new/lib/rubocop.rb
--- old/lib/rubocop.rb 2020-11-16 09:54:10.000000000 +0100
+++ new/lib/rubocop.rb 2020-11-25 09:13:21.000000000 +0100
@@ -529,6 +529,7 @@
require_relative 'rubocop/cop/style/proc'
require_relative 'rubocop/cop/style/raise_args'
require_relative 'rubocop/cop/style/random_with_offset'
+require_relative 'rubocop/cop/style/redundant_argument'
require_relative 'rubocop/cop/style/redundant_begin'
require_relative 'rubocop/cop/style/redundant_capital_w'
require_relative 'rubocop/cop/style/redundant_condition'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2020-11-16 09:54:10.000000000 +0100
+++ new/metadata 2020-11-25 09:13:21.000000000 +0100
@@ -1,7 +1,7 @@
--- !ruby/object:Gem::Specification
name: rubocop
version: !ruby/object:Gem::Version
- version: 1.3.1
+ version: 1.4.2
platform: ruby
authors:
- Bozhidar Batsov
@@ -10,7 +10,7 @@
autorequire:
bindir: exe
cert_chain: []
-date: 2020-11-16 00:00:00.000000000 Z
+date: 2020-11-25 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: parallel
@@ -171,9 +171,6 @@
- README.md
- assets/logo.png
- assets/output.html.erb
-- bin/console
-- bin/rubocop-profile
-- bin/setup
- config/default.yml
- exe/rubocop
- lib/rubocop.rb
@@ -685,6 +682,7 @@
- lib/rubocop/cop/style/proc.rb
- lib/rubocop/cop/style/raise_args.rb
- lib/rubocop/cop/style/random_with_offset.rb
+- lib/rubocop/cop/style/redundant_argument.rb
- lib/rubocop/cop/style/redundant_assignment.rb
- lib/rubocop/cop/style/redundant_begin.rb
- lib/rubocop/cop/style/redundant_capital_w.rb
@@ -821,7 +819,7 @@
homepage_uri: https://rubocop.org/
changelog_uri: https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md
source_code_uri: https://github.com/rubocop-hq/rubocop/
- documentation_uri: https://docs.rubocop.org/rubocop/1.3/
+ documentation_uri: https://docs.rubocop.org/rubocop/1.4/
bug_tracker_uri: https://github.com/rubocop-hq/rubocop/issues
post_install_message:
rdoc_options: []
_______________________________________________
openSUSE Commits mailing list -- [email protected]
To unsubscribe, email [email protected]
List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette
List Archives:
https://lists.opensuse.org/archives/list/[email protected]