rubocop-graphql 0.11.2 → 0.11.3

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: fa0ffd49d0fa9883050aa121e7a344afff34060a89b5d995023dcb76437e8923
4
- data.tar.gz: f34f5c5ddfedd3fb597b0216c88d56cf554bb124e14633a8632f8045c6e935be
3
+ metadata.gz: ffc9fa90011bdaddbf2d485a5948ede1e7bf2ade1c91c3a960799a1e0cd47bb3
4
+ data.tar.gz: 4dcbb755ed55538cfb8539b86f0c186e13b201bbfd0bbf3201d3091b8058c0fe
5
5
  SHA512:
6
- metadata.gz: 00efa45967096346f711c41c712d7e1c09cc301e81c713f9dc7359120854d5273312e471de989d80fbaa5a8f3fa1736dd3b3de4e18688c1f06ed3b86b68dcede
7
- data.tar.gz: a35bfa43b6a7acf8d2820f7e91f442c0ab04ab9867db0e43d427c90daff711ccf47080b66b62f122fbca416e6c604f69e591f4124c24fdf54304f78f5e1d1dd8
6
+ metadata.gz: 25cf86cd5e3e3942eafed3383df445c3f71296bc63a617ba4a0a9e597f6c355a1f5f94b1f2718439cd5606c50573758b8d3381a40af59937ba20cba150a9fe3d
7
+ data.tar.gz: 745057b345ba218c88b5a21addced87fc6bd972147ac72281efa0e1c1db005694f3ec44d33dc6760bdff68edddf8fedaff1d23f270ca3fc5162b5f01652da902
@@ -31,9 +31,13 @@ module RuboCop
31
31
  "Field `%<current>s` is duplicated."
32
32
 
33
33
  def on_class(node)
34
- field_names = Set.new
34
+ return if nested_class?(node)
35
+
36
+ field_names_by_class = Hash.new { |h, k| h[k] = Set.new }
35
37
 
36
38
  field_declarations(node).each do |current|
39
+ current_class = current_class_name(current)
40
+ field_names = field_names_by_class[current_class]
37
41
  current_field_name = field_name(current)
38
42
 
39
43
  unless field_names.include?(current_field_name)
@@ -47,6 +51,10 @@ module RuboCop
47
51
 
48
52
  private
49
53
 
54
+ def nested_class?(node)
55
+ node.each_ancestor(:class).any?
56
+ end
57
+
50
58
  def register_offense(current)
51
59
  message = format(
52
60
  self.class::MSG,
@@ -60,6 +68,10 @@ module RuboCop
60
68
  node.first_argument.value.to_s
61
69
  end
62
70
 
71
+ def current_class_name(node)
72
+ node.each_ancestor(:class).first.defined_module_name
73
+ end
74
+
63
75
  def_node_search :field_declarations, <<~PATTERN
64
76
  {
65
77
  (send nil? :field (:sym _) ...)
@@ -1,5 +1,5 @@
1
1
  module RuboCop
2
2
  module GraphQL
3
- VERSION = "0.11.2".freeze
3
+ VERSION = "0.11.3".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.11.2
4
+ version: 0.11.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitry Tsepelev
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-03 00:00:00.000000000 Z
11
+ date: 2021-12-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -122,7 +122,7 @@ metadata:
122
122
  homepage_uri: https://github.com/DmitryTsepelev/rubocop-graphql
123
123
  source_code_uri: https://github.com/DmitryTsepelev/rubocop-graphql
124
124
  changelog_uri: https://github.com/DmitryTsepelev/rubocop-graphql/CHANGELOG.md
125
- post_install_message:
125
+ post_install_message:
126
126
  rdoc_options: []
127
127
  require_paths:
128
128
  - lib
@@ -137,8 +137,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  requirements: []
140
- rubygems_version: 3.2.31
141
- signing_key:
140
+ rubygems_version: 3.0.3.1
141
+ signing_key:
142
142
  specification_version: 4
143
143
  summary: Automatic performance checking tool for Ruby code.
144
144
  test_files: []