Merge pull request #13524 from Homebrew/dependabot/bundler/Library/Homebrew/rubocop-rails-2.15.2
build(deps): bump rubocop-rails from 2.15.1 to 2.15.2 in /Library/Homebrew
This commit is contained in:
commit
66bb945a03
@ -139,7 +139,7 @@ GEM
|
|||||||
rubocop-performance (1.14.2)
|
rubocop-performance (1.14.2)
|
||||||
rubocop (>= 1.7.0, < 2.0)
|
rubocop (>= 1.7.0, < 2.0)
|
||||||
rubocop-ast (>= 0.4.0)
|
rubocop-ast (>= 0.4.0)
|
||||||
rubocop-rails (2.15.1)
|
rubocop-rails (2.15.2)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 4.2.0)
|
||||||
rack (>= 1.1)
|
rack (>= 1.1)
|
||||||
rubocop (>= 1.7.0, < 2.0)
|
rubocop (>= 1.7.0, < 2.0)
|
||||||
|
|||||||
@ -510,6 +510,7 @@ RuboCop::Cop::Rails::DefaultScope::MSG = T.let(T.unsafe(nil), String)
|
|||||||
RuboCop::Cop::Rails::DefaultScope::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
RuboCop::Cop::Rails::DefaultScope::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
||||||
|
|
||||||
class RuboCop::Cop::Rails::Delegate < ::RuboCop::Cop::Base
|
class RuboCop::Cop::Rails::Delegate < ::RuboCop::Cop::Base
|
||||||
|
include ::RuboCop::Cop::VisibilityHelp
|
||||||
extend ::RuboCop::Cop::AutoCorrector
|
extend ::RuboCop::Cop::AutoCorrector
|
||||||
|
|
||||||
def delegate?(param0 = T.unsafe(nil)); end
|
def delegate?(param0 = T.unsafe(nil)); end
|
||||||
@ -521,9 +522,8 @@ class RuboCop::Cop::Rails::Delegate < ::RuboCop::Cop::Base
|
|||||||
def include_prefix_case?; end
|
def include_prefix_case?; end
|
||||||
def method_name_matches?(method_name, body); end
|
def method_name_matches?(method_name, body); end
|
||||||
def prefixed_method_name(body); end
|
def prefixed_method_name(body); end
|
||||||
def private_or_protected_before(line); end
|
|
||||||
def private_or_protected_delegation(node); end
|
def private_or_protected_delegation(node); end
|
||||||
def private_or_protected_inline(line); end
|
def private_or_protected_inline(node); end
|
||||||
def register_offense(node); end
|
def register_offense(node); end
|
||||||
def trivial_delegate?(def_node); end
|
def trivial_delegate?(def_node); end
|
||||||
end
|
end
|
||||||
@ -756,13 +756,16 @@ class RuboCop::Cop::Rails::ExpandedDateRange < ::RuboCop::Cop::Base
|
|||||||
extend ::RuboCop::Cop::AutoCorrector
|
extend ::RuboCop::Cop::AutoCorrector
|
||||||
extend ::RuboCop::Cop::TargetRailsVersion
|
extend ::RuboCop::Cop::TargetRailsVersion
|
||||||
|
|
||||||
def expanded_date_range(param0 = T.unsafe(nil)); end
|
|
||||||
def on_irange(node); end
|
def on_irange(node); end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def same_receiver?(begin_node, end_node); end
|
def allow?(begin_node, end_node); end
|
||||||
def use_mapped_methods?(beginning_method, end_method); end
|
def any_arguments?(begin_node, end_node); end
|
||||||
|
def preferred_method(begin_node); end
|
||||||
|
def receiver_source(node); end
|
||||||
|
def register_offense(node, preferred_method); end
|
||||||
|
def same_argument?(begin_node, end_node); end
|
||||||
end
|
end
|
||||||
|
|
||||||
RuboCop::Cop::Rails::ExpandedDateRange::MAPPED_DATE_RANGE_METHODS = T.let(T.unsafe(nil), Hash)
|
RuboCop::Cop::Rails::ExpandedDateRange::MAPPED_DATE_RANGE_METHODS = T.let(T.unsafe(nil), Hash)
|
||||||
@ -88,7 +88,7 @@ $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/ruby-progressbar-1.11
|
|||||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/unicode-display_width-2.2.0/lib"
|
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/unicode-display_width-2.2.0/lib"
|
||||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-1.31.1/lib"
|
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-1.31.1/lib"
|
||||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-performance-1.14.2/lib"
|
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-performance-1.14.2/lib"
|
||||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-rails-2.15.1/lib"
|
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-rails-2.15.2/lib"
|
||||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-rspec-2.12.1/lib"
|
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-rspec-2.12.1/lib"
|
||||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-sorbet-0.6.11/lib"
|
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-sorbet-0.6.11/lib"
|
||||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/ruby-macho-3.0.0/lib"
|
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/ruby-macho-3.0.0/lib"
|
||||||
|
|||||||
@ -367,6 +367,7 @@ Rails/Exit:
|
|||||||
|
|
||||||
Rails/ExpandedDateRange:
|
Rails/ExpandedDateRange:
|
||||||
Description: 'Checks for expanded date range.'
|
Description: 'Checks for expanded date range.'
|
||||||
|
StyleGuide: 'https://rails.rubystyle.guide/#date-time-range'
|
||||||
Enabled: pending
|
Enabled: pending
|
||||||
VersionAdded: '2.11'
|
VersionAdded: '2.11'
|
||||||
|
|
||||||
@ -54,6 +54,7 @@ module RuboCop
|
|||||||
# delegate :bar, to: :foo, prefix: true
|
# delegate :bar, to: :foo, prefix: true
|
||||||
class Delegate < Base
|
class Delegate < Base
|
||||||
extend AutoCorrector
|
extend AutoCorrector
|
||||||
|
include VisibilityHelp
|
||||||
|
|
||||||
MSG = 'Use `delegate` to define delegations.'
|
MSG = 'Use `delegate` to define delegations.'
|
||||||
|
|
||||||
@ -112,17 +113,11 @@ module RuboCop
|
|||||||
end
|
end
|
||||||
|
|
||||||
def private_or_protected_delegation(node)
|
def private_or_protected_delegation(node)
|
||||||
line = node.first_line
|
private_or_protected_inline(node) || node_visibility(node) != :public
|
||||||
private_or_protected_before(line) ||
|
|
||||||
private_or_protected_inline(line)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def private_or_protected_before(line)
|
def private_or_protected_inline(node)
|
||||||
(processed_source[0..line].map(&:strip) & %w[private protected]).any?
|
processed_source[node.first_line - 1].strip.match?(/\A(private )|(protected )/)
|
||||||
end
|
|
||||||
|
|
||||||
def private_or_protected_inline(line)
|
|
||||||
processed_source[line - 1].strip.match?(/\A(private )|(protected )/)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -106,6 +106,8 @@ module RuboCop
|
|||||||
|
|
||||||
def on_send(node)
|
def on_send(node)
|
||||||
any_manipulation?(node) do
|
any_manipulation?(node) do
|
||||||
|
next if node.method?(:keys) && target_rails_version <= 6.0
|
||||||
|
|
||||||
add_offense(node) do |corrector|
|
add_offense(node) do |corrector|
|
||||||
next unless AUTOCORECTABLE_METHODS.include?(node.method_name)
|
next unless AUTOCORECTABLE_METHODS.include?(node.method_name)
|
||||||
|
|
||||||
@ -29,14 +29,6 @@ module RuboCop
|
|||||||
|
|
||||||
minimum_target_rails_version 5.1
|
minimum_target_rails_version 5.1
|
||||||
|
|
||||||
def_node_matcher :expanded_date_range, <<~PATTERN
|
|
||||||
(irange
|
|
||||||
(send
|
|
||||||
$_ {:beginning_of_day :beginning_of_week :beginning_of_month :beginning_of_quarter :beginning_of_year})
|
|
||||||
(send
|
|
||||||
$_ {:end_of_day :end_of_week :end_of_month :end_of_quarter :end_of_year}))
|
|
||||||
PATTERN
|
|
||||||
|
|
||||||
PREFERRED_METHODS = {
|
PREFERRED_METHODS = {
|
||||||
beginning_of_day: 'all_day',
|
beginning_of_day: 'all_day',
|
||||||
beginning_of_week: 'all_week',
|
beginning_of_week: 'all_week',
|
||||||
@ -54,31 +46,55 @@ module RuboCop
|
|||||||
}.freeze
|
}.freeze
|
||||||
|
|
||||||
def on_irange(node)
|
def on_irange(node)
|
||||||
return unless expanded_date_range(node)
|
|
||||||
|
|
||||||
begin_node = node.begin
|
begin_node = node.begin
|
||||||
end_node = node.end
|
end_node = node.end
|
||||||
return unless same_receiver?(begin_node, end_node)
|
return if allow?(begin_node, end_node)
|
||||||
|
|
||||||
beginning_method = begin_node.method_name
|
preferred_method = preferred_method(begin_node)
|
||||||
end_method = end_node.method_name
|
if begin_node.method?(:beginning_of_week) && begin_node.arguments.one?
|
||||||
return unless use_mapped_methods?(beginning_method, end_method)
|
return unless same_argument?(begin_node, end_node)
|
||||||
|
|
||||||
preferred_method = "#{begin_node.receiver.source}.#{PREFERRED_METHODS[beginning_method]}"
|
preferred_method << "(#{begin_node.first_argument.source})"
|
||||||
|
elsif any_arguments?(begin_node, end_node)
|
||||||
add_offense(node, message: format(MSG, preferred_method: preferred_method)) do |corrector|
|
return
|
||||||
corrector.replace(node, preferred_method)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
register_offense(node, preferred_method)
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def same_receiver?(begin_node, end_node)
|
def allow?(begin_node, end_node)
|
||||||
begin_node.receiver.source == end_node.receiver.source
|
return true unless (begin_source = receiver_source(begin_node))
|
||||||
|
return true unless (end_source = receiver_source(end_node))
|
||||||
|
|
||||||
|
begin_source != end_source || MAPPED_DATE_RANGE_METHODS[begin_node.method_name] != end_node.method_name
|
||||||
end
|
end
|
||||||
|
|
||||||
def use_mapped_methods?(beginning_method, end_method)
|
def receiver_source(node)
|
||||||
MAPPED_DATE_RANGE_METHODS[beginning_method] == end_method
|
return if !node&.send_type? || node.receiver.nil?
|
||||||
|
|
||||||
|
node.receiver.source
|
||||||
|
end
|
||||||
|
|
||||||
|
def same_argument?(begin_node, end_node)
|
||||||
|
begin_node.first_argument.source == end_node.first_argument.source
|
||||||
|
end
|
||||||
|
|
||||||
|
def preferred_method(begin_node)
|
||||||
|
+"#{begin_node.receiver.source}.#{PREFERRED_METHODS[begin_node.method_name]}"
|
||||||
|
end
|
||||||
|
|
||||||
|
def any_arguments?(begin_node, end_node)
|
||||||
|
begin_node.arguments.any? || end_node.arguments.any?
|
||||||
|
end
|
||||||
|
|
||||||
|
def register_offense(node, preferred_method)
|
||||||
|
message = format(MSG, preferred_method: preferred_method)
|
||||||
|
|
||||||
|
add_offense(node, message: message) do |corrector|
|
||||||
|
corrector.replace(node, preferred_method)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user