rubocop-graphql 0.14.3 → 0.14.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c1aef8d25bbcf29e3aac8dd31b10b16341f88a0e27d71a04290ee4c265686db4
4
- data.tar.gz: 1f8e8a06d5f7c7b1a301c45672634b98fbd748b1904b7e8639bf7377b82d4654
3
+ metadata.gz: e7a2b9ff95f2f4a0d33cc53dee5f52b4f3953c4f95756ec96d6956908253d95f
4
+ data.tar.gz: 59dda32afecd9ad67da8dfca3fa044cb38f6a0986f840b4a71934bc1baf3f3cd
5
5
  SHA512:
6
- metadata.gz: 050f68792f4b7b042994e3bcb9cc9aef1d5d42dc548d91ec7799b7d83211adc4efee756510cdf18c282d99e11e589a4bea1566a1ee2605944da927a7ff10463d
7
- data.tar.gz: 8ed14cde041d5d10f58f0e0ad9a8fee1c6a73f80e0d5c947af82fba6a5f70b7c72269e585f195f9123cea1a5bc0bebe37969d65e81dd55e49ce60fc89ab36fae
6
+ metadata.gz: a2bed89e4af7df4fd98dd744c74a9ba9de8f4ef7ea7ce88a7127507c04f2e06ac6f64db0e79fe3c88b0e5b245b51cf220ac59d7d4b2a91d84fa75b5c4f7936da
7
+ data.tar.gz: bae24c84a5f8933e7a19730074f16a83c4fa1284804cbe3fb177c2814373c2e19e86163f49c1fe8473d3bdddd564f65fc2e0219f1c0db9994216050449bbcfe2
@@ -79,9 +79,14 @@ module RuboCop
79
79
  private
80
80
 
81
81
  def find_declared_arg_nodes(node)
82
- argument_declarations(node).select do |arg_declaration|
83
- # argument is declared on the same class that is being analyzed
84
- arg_declaration.each_ancestor(:class).first == node
82
+ node.each_child_node.flat_map do |child|
83
+ if scoped_node?(child)
84
+ []
85
+ elsif argument_declaration?(child)
86
+ [child]
87
+ else
88
+ find_declared_arg_nodes(child)
89
+ end
85
90
  end
86
91
  end
87
92
 
@@ -158,7 +163,19 @@ module RuboCop
158
163
  declared_arg.name
159
164
  end
160
165
 
161
- def_node_search :argument_declarations, <<~PATTERN
166
+ def scoped_node?(node)
167
+ scope_changing_syntax?(node) || block_or_lambda?(node)
168
+ end
169
+
170
+ def scope_changing_syntax?(node)
171
+ node.def_type? || node.defs_type? || node.class_type? || node.module_type?
172
+ end
173
+
174
+ def block_or_lambda?(node)
175
+ node.block_type? || node.lambda_type?
176
+ end
177
+
178
+ def_node_matcher :argument_declaration?, <<~PATTERN
162
179
  (send nil? :argument (:sym _) ...)
163
180
  PATTERN
164
181
 
@@ -3,22 +3,22 @@
3
3
  module RuboCop
4
4
  module GraphQL
5
5
  module SwapRange
6
+ include RuboCop::Cop::RangeHelp
7
+
6
8
  def swap_range(corrector, current, previous)
7
9
  current_range = declaration(current)
8
10
  previous_range = declaration(previous)
9
11
 
10
- src1 = current_range.source
11
- src2 = previous_range.source
12
-
13
- corrector.replace(current_range, src2)
14
- corrector.replace(previous_range, src1)
12
+ corrector.insert_before(previous_range, current_range.source)
13
+ corrector.remove(current_range)
15
14
  end
16
15
 
17
16
  def declaration(node)
18
17
  buffer = processed_source.buffer
19
- begin_pos = node.source_range.begin_pos
18
+ begin_pos = range_by_whole_lines(node.source_range).begin_pos
20
19
  end_line = buffer.line_for_position(node.loc.expression.end_pos)
21
- end_pos = buffer.line_range(end_line).end_pos
20
+ end_pos = range_by_whole_lines(buffer.line_range(end_line),
21
+ include_final_newline: true).end_pos
22
22
  Parser::Source::Range.new(buffer, begin_pos, end_pos)
23
23
  end
24
24
  end
@@ -1,5 +1,5 @@
1
1
  module RuboCop
2
2
  module GraphQL
3
- VERSION = "0.14.3".freeze
3
+ VERSION = "0.14.4".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubocop-graphql
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.3
4
+ version: 0.14.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitry Tsepelev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-16 00:00:00.000000000 Z
11
+ date: 2022-06-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -142,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
142
142
  - !ruby/object:Gem::Version
143
143
  version: '0'
144
144
  requirements: []
145
- rubygems_version: 3.2.33
145
+ rubygems_version: 3.3.3
146
146
  signing_key:
147
147
  specification_version: 4
148
148
  summary: Automatic performance checking tool for Ruby code.