sevencop 0.31.0 → 0.31.1

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