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:
Mike McQuaid 2022-07-08 11:32:15 +01:00 committed by GitHub
commit 66bb945a03
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
131 changed files with 57 additions and 40 deletions

View File

@ -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)

View File

@ -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)

View File

@ -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"

View File

@ -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'

View File

@ -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

View File

@ -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)

View File

@ -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