diver_down 0.0.1.alpha10 → 0.0.1.alpha11

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: 45734000dad7ab44ca75037957b39dc6caae34d1189864f563ec251453972db8
4
- data.tar.gz: bf21e0f1faeaa051f6fc4e001ff0544570994fc98d8cc75da92c8fd5f6e5d294
3
+ metadata.gz: daf9083c911966538705b30bf44a609d38623c14f10bba3fc48782194d6bdba2
4
+ data.tar.gz: '0596dffb7428713e3daad2102f756d9b2396ca53b7c4200e8a873998493f4291'
5
5
  SHA512:
6
- metadata.gz: 3060ddaba43ef6d91c01e9eb5b9ede908a61629e563d2dfef6b2775a59843cd3cd4e34c0505320ffc035e04459dc00744cf0dc58f8302de812a7b15d2b6b357c
7
- data.tar.gz: bb258e2b3e308848e9debee4acd34930dbe375bc07ec639daeac97d24ff514f4e03a8f3b2cee8717ffb29d10b3600a97a645a9104b3481b4153c2f8ab0ce7ad9
6
+ metadata.gz: 39c405fc2f3a6c73f3e818275f42f16b938cbc7342fcf22a2391827268c8d3b395b3734686a6e0da3854936ac4b9c938c8ac11b1f050abc668fbbe36373865d1
7
+ data.tar.gz: 98e7070abeaa7f74a3c18c6e6528d23afd5fec87779378d8afc7cf0558b7a7e04dca8bdec7284658aff8884e4f99f9d79bbff22673af9e6cd2111eb1e55a1f50
@@ -70,7 +70,8 @@ module DiverDown
70
70
  next
71
71
  end
72
72
 
73
- source_name = DiverDown::Helper.normalize_module_name(mod) if @module_set.include?(mod)
73
+ source_name = normalize_module_name(mod, tp)
74
+
74
75
  pushed = false
75
76
 
76
77
  unless source_name.nil?
@@ -140,6 +141,25 @@ module DiverDown
140
141
 
141
142
  nil
142
143
  end
144
+
145
+ # Return nil if resolved module do not exist.
146
+ # Like an AnonymousController in rspec-rails.
147
+ def normalize_module_name(mod, tp)
148
+ normalized = nil
149
+ normalized ||= constantizable_source_name(DiverDown::Helper.normalize_module_name(mod)) if @module_set.include?(mod)
150
+
151
+ # NOTE: Only one anonymous class is traced back to support `AnonymousController` in rspec-rails, but it can be traced back further
152
+ normalized ||= constantizable_source_name(DiverDown::Helper.normalize_module_name(mod.superclass)) if DiverDown::Helper.class?(mod) && mod != DiverDown::Helper.resolve_module(tp.defined_class) && @module_set.include?(mod.superclass)
153
+
154
+ normalized
155
+ end
156
+
157
+ def constantizable_source_name(source_name)
158
+ DiverDown::Helper.constantize(source_name)
159
+ source_name
160
+ rescue NameError
161
+ nil
162
+ end
143
163
  end
144
164
  end
145
165
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DiverDown
4
- VERSION = '0.0.1.alpha10'
4
+ VERSION = '0.0.1.alpha11'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: diver_down
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.alpha10
4
+ version: 0.0.1.alpha11
5
5
  platform: ruby
6
6
  authors:
7
7
  - alpaca-tc