sevencop 0.31.0 → 0.31.1

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: ee749fe11f72d661269fa08344e0b5f578a21517375a75d58f5c2bab1877fdcd
4
- data.tar.gz: 15a392c82cc473f1a5c327e2b1a6f0e1620d3b8e405aa6e548b020559bd24afd
3
+ metadata.gz: fc9eabfebd03bc54220aefb905dcc084374a282323a47907cbd05b7bd03df7ae
4
+ data.tar.gz: b27b429ddbdfa4324f2bb929fbd84622265133a78a5045cab24ac20171c62ae3
5
5
  SHA512:
6
- metadata.gz: 9c2ea95803821697a72157ab0608459b44467cb2ec868ba66dc21f2613f7ac4eb52745d69d19d5ea43dff6fb40e70ebc2b59110a7bd58ff9ece189b401532c74
7
- data.tar.gz: f3e26944c43c61b5ccf1f0875117ce77aba7b1ca8f223e5b174ea7a2d4737407b949bc1e362aa1363ee350106b60dc1852ee89af55b5953393b5d7dec432c8d2
6
+ metadata.gz: e9667ad3506390f48001dc07e16faa48c07eab28afb91f06d5406043481a0c7637fb789e2718b0f7c3414a6666b8f7cda70c950eb4b40c11217629748fc85880
7
+ data.tar.gz: 799f7f8cd175b53edf5804b507e954834e030c5973887b8b148ea803b0ace967e60c181bbf4f212386607eff838371cfccb8d1d255b5e2414b0a6fc9cfccf746
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sevencop (0.31.0)
4
+ sevencop (0.31.1)
5
5
  activesupport
6
6
  rubocop
7
7
 
@@ -48,17 +48,30 @@ module RuboCop
48
48
 
49
49
  private
50
50
 
51
- # @!method named_class_or_module?(node)
52
- # @param node [RuboCop::AST::Node]
53
- # @return [Boolean]
54
- def_node_matcher :named_class_or_module?, <<~PATTERN
55
- ({class module} const ...)
56
- PATTERN
57
-
58
51
  # @param node [RuboCop::AST::CbaseNode]
59
52
  # @return [Boolean]
60
53
  def bad?(node)
61
- node.each_ancestor(:class, :module).none?
54
+ module_nesting_ancestors_of(node).none?
55
+ end
56
+
57
+ # @param node [RuboCop::AST::Node]
58
+ # @return [Enumerable<RuboCop::AST::Node>]
59
+ def module_nesting_ancestors_of(node)
60
+ node.each_ancestor(:class, :module).reject do |ancestor|
61
+ ancestor.class_type? && used_in_super_class_part?(node, class_node: ancestor)
62
+ end
63
+ end
64
+
65
+ # @param class_node [RuboCop::AST::Node]
66
+ # @param node [RuboCop::AST::CbaseNode]
67
+ # @return [Boolean]
68
+ def used_in_super_class_part?(
69
+ node,
70
+ class_node:
71
+ )
72
+ class_node.parent_class&.each_descendant(:cbase)&.any? do |descendant|
73
+ descendant.eql?(node)
74
+ end
62
75
  end
63
76
  end
64
77
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sevencop
4
- VERSION = '0.31.0'
4
+ VERSION = '0.31.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sevencop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.31.0
4
+ version: 0.31.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakamura
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-11-14 00:00:00.000000000 Z
11
+ date: 2022-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport