Class: WhyChain::MethodLocator
- Inherits:
-
Object
- Object
- WhyChain::MethodLocator
- Defined in:
- lib/why_chain/method_locator.rb
Overview
Finds where super resolves after a method owner.
Instance Method Summary collapse
-
#initialize(lookup_chain, owner, method_name) ⇒ MethodLocator
constructor
A new instance of MethodLocator.
- #next_super_owner ⇒ Object
Constructor Details
#initialize(lookup_chain, owner, method_name) ⇒ MethodLocator
Returns a new instance of MethodLocator.
6 7 8 9 10 |
# File 'lib/why_chain/method_locator.rb', line 6 def initialize(lookup_chain, owner, method_name) @lookup_chain = lookup_chain @owner = owner @method_name = method_name end |
Instance Method Details
#next_super_owner ⇒ Object
12 13 14 15 16 17 18 19 20 |
# File 'lib/why_chain/method_locator.rb', line 12 def next_super_owner owner_index = @lookup_chain.index(@owner) return nil unless owner_index @lookup_chain[(owner_index + 1)..].find do |mod| defines_instance_method?(mod) end end |