brew vendor-gems: commit updates.
This commit is contained in:
parent
7b2badc204
commit
c2eed9d58a
@ -85,7 +85,7 @@ $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-ast-1.16.0/li
|
||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/ruby-progressbar-1.11.0/lib"
|
||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/unicode-display_width-2.1.0/lib"
|
||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-1.25.1/lib"
|
||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-performance-1.13.2/lib"
|
||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-performance-1.13.3/lib"
|
||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-rails-2.13.2/lib"
|
||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-rspec-2.9.0/lib"
|
||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-sorbet-0.6.7/lib"
|
||||
|
||||
@ -3,18 +3,16 @@
|
||||
module RuboCop
|
||||
module Cop
|
||||
module Performance
|
||||
# This cop is used to identify usages of
|
||||
# This cop is used to identify usages of `array.compact.flatten.map { |x| x.downcase }`.
|
||||
# Each of these methods (`compact`, `flatten`, `map`) will generate a new intermediate array
|
||||
# that is promptly thrown away. Instead it is faster to mutate when we know it's safe.
|
||||
#
|
||||
# @example
|
||||
# # bad
|
||||
# array = ["a", "b", "c"]
|
||||
# array.compact.flatten.map { |x| x.downcase }
|
||||
#
|
||||
# Each of these methods (`compact`, `flatten`, `map`) will generate a
|
||||
# new intermediate array that is promptly thrown away. Instead it is
|
||||
# faster to mutate when we know it's safe.
|
||||
#
|
||||
# @example
|
||||
# # good.
|
||||
# # good
|
||||
# array = ["a", "b", "c"]
|
||||
# array.compact!
|
||||
# array.flatten!
|
||||
@ -58,17 +58,17 @@ module RuboCop
|
||||
|
||||
add_offense(range) do |corrector|
|
||||
corrector.replace(map_node.loc.selector, 'filter_map')
|
||||
remove_compact_method(corrector, node, node.parent)
|
||||
remove_compact_method(corrector, map_node, node, node.parent)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def remove_compact_method(corrector, compact_node, chained_method)
|
||||
def remove_compact_method(corrector, map_node, compact_node, chained_method)
|
||||
compact_method_range = compact_node.loc.selector
|
||||
|
||||
if compact_node.multiline? && chained_method&.loc.respond_to?(:selector) && chained_method.dot? &&
|
||||
!map_method_and_compact_method_on_same_line?(compact_node) &&
|
||||
!map_method_and_compact_method_on_same_line?(map_node, compact_node) &&
|
||||
!invoke_method_after_map_compact_on_same_line?(compact_node, chained_method)
|
||||
compact_method_range = compact_method_with_final_newline_range(compact_method_range)
|
||||
else
|
||||
@ -78,11 +78,7 @@ module RuboCop
|
||||
corrector.remove(compact_method_range)
|
||||
end
|
||||
|
||||
def map_method_and_compact_method_on_same_line?(compact_node)
|
||||
return false unless compact_node.children.first.respond_to?(:send_node)
|
||||
|
||||
map_node = compact_node.children.first.send_node
|
||||
|
||||
def map_method_and_compact_method_on_same_line?(map_node, compact_node)
|
||||
compact_node.loc.selector.line == map_node.loc.selector.line
|
||||
end
|
||||
|
||||
@ -4,7 +4,7 @@ module RuboCop
|
||||
module Performance
|
||||
# This module holds the RuboCop Performance version information.
|
||||
module Version
|
||||
STRING = '1.13.2'
|
||||
STRING = '1.13.3'
|
||||
|
||||
def self.document_version
|
||||
STRING.match('\d+\.\d+').to_s
|
||||
Loading…
x
Reference in New Issue
Block a user