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