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 (>= 1.7.0, < 2.0)
|
||||
rubocop-ast (>= 0.4.0)
|
||||
rubocop-rails (2.15.1)
|
||||
rubocop-rails (2.15.2)
|
||||
activesupport (>= 4.2.0)
|
||||
rack (>= 1.1)
|
||||
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)
|
||||
|
||||
class RuboCop::Cop::Rails::Delegate < ::RuboCop::Cop::Base
|
||||
include ::RuboCop::Cop::VisibilityHelp
|
||||
extend ::RuboCop::Cop::AutoCorrector
|
||||
|
||||
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 method_name_matches?(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_inline(line); end
|
||||
def private_or_protected_inline(node); end
|
||||
def register_offense(node); end
|
||||
def trivial_delegate?(def_node); end
|
||||
end
|
||||
@ -756,13 +756,16 @@ class RuboCop::Cop::Rails::ExpandedDateRange < ::RuboCop::Cop::Base
|
||||
extend ::RuboCop::Cop::AutoCorrector
|
||||
extend ::RuboCop::Cop::TargetRailsVersion
|
||||
|
||||
def expanded_date_range(param0 = T.unsafe(nil)); end
|
||||
def on_irange(node); end
|
||||
|
||||
private
|
||||
|
||||
def same_receiver?(begin_node, end_node); end
|
||||
def use_mapped_methods?(beginning_method, end_method); end
|
||||
def allow?(begin_node, end_node); 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
|
||||
|
||||
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/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-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-sorbet-0.6.11/lib"
|
||||
$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/ruby-macho-3.0.0/lib"
|
||||
|
||||
@ -367,6 +367,7 @@ Rails/Exit:
|
||||
|
||||
Rails/ExpandedDateRange:
|
||||
Description: 'Checks for expanded date range.'
|
||||
StyleGuide: 'https://rails.rubystyle.guide/#date-time-range'
|
||||
Enabled: pending
|
||||
VersionAdded: '2.11'
|
||||
|
||||
@ -54,6 +54,7 @@ module RuboCop
|
||||
# delegate :bar, to: :foo, prefix: true
|
||||
class Delegate < Base
|
||||
extend AutoCorrector
|
||||
include VisibilityHelp
|
||||
|
||||
MSG = 'Use `delegate` to define delegations.'
|
||||
|
||||
@ -112,17 +113,11 @@ module RuboCop
|
||||
end
|
||||
|
||||
def private_or_protected_delegation(node)
|
||||
line = node.first_line
|
||||
private_or_protected_before(line) ||
|
||||
private_or_protected_inline(line)
|
||||
private_or_protected_inline(node) || node_visibility(node) != :public
|
||||
end
|
||||
|
||||
def private_or_protected_before(line)
|
||||
(processed_source[0..line].map(&:strip) & %w[private protected]).any?
|
||||
end
|
||||
|
||||
def private_or_protected_inline(line)
|
||||
processed_source[line - 1].strip.match?(/\A(private )|(protected )/)
|
||||
def private_or_protected_inline(node)
|
||||
processed_source[node.first_line - 1].strip.match?(/\A(private )|(protected )/)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -106,6 +106,8 @@ module RuboCop
|
||||
|
||||
def on_send(node)
|
||||
any_manipulation?(node) do
|
||||
next if node.method?(:keys) && target_rails_version <= 6.0
|
||||
|
||||
add_offense(node) do |corrector|
|
||||
next unless AUTOCORECTABLE_METHODS.include?(node.method_name)
|
||||
|
||||
@ -29,14 +29,6 @@ module RuboCop
|
||||
|
||||
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 = {
|
||||
beginning_of_day: 'all_day',
|
||||
beginning_of_week: 'all_week',
|
||||
@ -54,31 +46,55 @@ module RuboCop
|
||||
}.freeze
|
||||
|
||||
def on_irange(node)
|
||||
return unless expanded_date_range(node)
|
||||
|
||||
begin_node = node.begin
|
||||
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
|
||||
end_method = end_node.method_name
|
||||
return unless use_mapped_methods?(beginning_method, end_method)
|
||||
preferred_method = preferred_method(begin_node)
|
||||
if begin_node.method?(:beginning_of_week) && begin_node.arguments.one?
|
||||
return unless same_argument?(begin_node, end_node)
|
||||
|
||||
preferred_method = "#{begin_node.receiver.source}.#{PREFERRED_METHODS[beginning_method]}"
|
||||
|
||||
add_offense(node, message: format(MSG, preferred_method: preferred_method)) do |corrector|
|
||||
corrector.replace(node, preferred_method)
|
||||
preferred_method << "(#{begin_node.first_argument.source})"
|
||||
elsif any_arguments?(begin_node, end_node)
|
||||
return
|
||||
end
|
||||
|
||||
register_offense(node, preferred_method)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def same_receiver?(begin_node, end_node)
|
||||
begin_node.receiver.source == end_node.receiver.source
|
||||
def allow?(begin_node, end_node)
|
||||
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
|
||||
|
||||
def use_mapped_methods?(beginning_method, end_method)
|
||||
MAPPED_DATE_RANGE_METHODS[beginning_method] == end_method
|
||||
def receiver_source(node)
|
||||
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
|
||||
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