rubocop-rails 2.33.0 → 2.33.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3a61be89f227c5abed6543c4fb84957391ac66fdbadc7f7891a1876b7be0c193
4
- data.tar.gz: f2e30c0c3e5a5cac32bae9ec0900a0e1fc382dda89f764f8a844b085ad2abffb
3
+ metadata.gz: bf236bb6f7b10ea743c3afd8b4c92f2563d5cd989f3c8820b8fb270c9bb72c59
4
+ data.tar.gz: 356c8e006d8e4d1b4893cb263b9a67e0ecc3245556868678c5681800cc75cf36
5
5
  SHA512:
6
- metadata.gz: 8610629e8893c71c21d591cc68897f993699f20edab9cda08a18ce65d9bf67ac153830dffa144e18b2d9e4e204027684c18cbb02e822d01c9c40e35312709083
7
- data.tar.gz: f7dc418f1cb2f4a38968b9a79ae17028368e10f2d529cba2de15954a2edc5c3f8ebf7bb35617b670cf7e8dab758ccb138c0387a0fd6caa31051ee5e803925c35
6
+ metadata.gz: 8fbcfbc453e83a19e6b9c1b173347c9dbef375650c4202ac7949fcec04ae8bc65307246d0630a106455cb44a66e3736d287894e4709b12692fd6e589ed574235
7
+ data.tar.gz: 245d221771ce84010ff4195efbb6c231e28e0daac18288d52c201b347951475ef29168098d518fe7d75f7a33524b5a90f81b604720ab130629651d598e23cec5
@@ -20,11 +20,9 @@ module RuboCop
20
20
  #
21
21
  # # good
22
22
  # def current_user
23
- # if instance_variable_defined?(:@current_user)
24
- # @current_user
25
- # else
26
- # @current_user = User.find_by(id: session[:user_id])
27
- # end
23
+ # return @current_user if defined?(@current_user)
24
+ #
25
+ # @current_user = User.find_by(id: session[:user_id])
28
26
  # end
29
27
  class FindByOrAssignmentMemoization < Base
30
28
  extend AutoCorrector
@@ -49,11 +47,9 @@ module RuboCop
49
47
  corrector.replace(
50
48
  assignment_node,
51
49
  <<~RUBY.rstrip
52
- if instance_variable_defined?(:#{varible_name})
53
- #{varible_name}
54
- else
55
- #{varible_name} = #{find_by.source}
56
- end
50
+ return #{varible_name} if defined?(#{varible_name})
51
+
52
+ #{varible_name} = #{find_by.source}
57
53
  RUBY
58
54
  )
59
55
  end
@@ -52,6 +52,7 @@ module RuboCop
52
52
  order_arguments.map! { |arg| extract_column_and_direction(arg.strip) }
53
53
 
54
54
  return if order_arguments.any?(&:nil?)
55
+ return if order_arguments.any? { |column_name, _| positional_column?(column_name) }
55
56
 
56
57
  convert_to_preferred_arguments(order_arguments).join(', ')
57
58
  end
@@ -68,6 +69,10 @@ module RuboCop
68
69
  end
69
70
  end
70
71
 
72
+ def positional_column?(column_name)
73
+ column_name.match?(/\A\d+\z/)
74
+ end
75
+
71
76
  def extract_column_and_direction(order_expression)
72
77
  return unless (column, direction = ORDER_EXPRESSION_REGEX.match(order_expression)&.captures)
73
78
 
@@ -66,7 +66,7 @@ module RuboCop
66
66
  return false unless enclosing_method
67
67
 
68
68
  shadowing_method_name = first_arg.value.to_s
69
- shadowing_method_name << '=' if node.method?(:write_attribute)
69
+ shadowing_method_name += '=' if node.method?(:write_attribute)
70
70
  enclosing_method.method?(shadowing_method_name)
71
71
  end
72
72
 
@@ -97,7 +97,8 @@ module RuboCop
97
97
 
98
98
  def in_transaction_block?(node)
99
99
  return false unless transaction_method_name?(node.method_name)
100
- return false unless node.parent&.body
100
+ return false unless (parent = node.parent)
101
+ return false unless parent.any_block_type? && parent.body
101
102
 
102
103
  node.right_siblings.none? do |sibling|
103
104
  sibling.respond_to?(:loop_keyword?) && sibling.loop_keyword?
@@ -58,8 +58,8 @@ module RuboCop
58
58
  (call (call _ :where $...) :exists?)
59
59
  PATTERN
60
60
 
61
- def_node_matcher :exists_with_args?, <<~PATTERN
62
- (call _ :exists? $...)
61
+ def_node_matcher :exists_with_arg?, <<~PATTERN
62
+ (call _ :exists? $!splat_type?)
63
63
  PATTERN
64
64
 
65
65
  def on_send(node)
@@ -91,7 +91,7 @@ module RuboCop
91
91
  if exists_style?
92
92
  where_exists_call?(node, &block)
93
93
  elsif where_style?
94
- exists_with_args?(node, &block)
94
+ exists_with_arg?(node) { |arg| yield([arg]) }
95
95
  end
96
96
  end
97
97
 
@@ -4,7 +4,7 @@ module RuboCop
4
4
  module Rails
5
5
  # This module holds the RuboCop Rails version information.
6
6
  module Version
7
- STRING = '2.33.0'
7
+ STRING = '2.33.2'
8
8
 
9
9
  def self.document_version
10
10
  STRING.match('\d+\.\d+').to_s
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.33.0
4
+ version: 2.33.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bozhidar Batsov