diver_down 0.0.1.alpha10 → 0.0.1.alpha11

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