Class: ConvenientService::Utils::Module::GetOwnInstanceMethod Private
- Inherits:
-
Support::Command
- Object
- Support::Command
- ConvenientService::Utils::Module::GetOwnInstanceMethod
- Includes:
- Support::FiniteLoop
- Defined in:
- lib/convenient_service/utils/module/get_own_instance_method.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Constant Summary
Constants included from Support::FiniteLoop
Support::FiniteLoop::MAX_ITERATION_COUNT
Instance Attribute Summary collapse
- #max_iteration_count ⇒ Object readonly private
- #method_name ⇒ Object readonly private
- #mod ⇒ Object readonly private
- #private ⇒ Object readonly private
Instance Method Summary collapse
- #call ⇒ UnboundMethod? private
- #initialize(mod, method_name, private: false, max_iteration_count: Support::FiniteLoop::MAX_ITERATION_COUNT) ⇒ void constructor private
Methods included from Support::FiniteLoop
Methods inherited from Support::Command
Constructor Details
#initialize(mod, method_name, private: false, max_iteration_count: Support::FiniteLoop::MAX_ITERATION_COUNT) ⇒ void
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
45 46 47 48 49 50 |
# File 'lib/convenient_service/utils/module/get_own_instance_method.rb', line 45 def initialize(mod, method_name, private: false, max_iteration_count: Support::FiniteLoop::MAX_ITERATION_COUNT) @mod = mod @method_name = method_name @private = private @max_iteration_count = max_iteration_count end |
Instance Attribute Details
#max_iteration_count ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
36 37 38 |
# File 'lib/convenient_service/utils/module/get_own_instance_method.rb', line 36 def max_iteration_count @max_iteration_count end |
#method_name ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
24 25 26 |
# File 'lib/convenient_service/utils/module/get_own_instance_method.rb', line 24 def method_name @method_name end |
#mod ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
18 19 20 |
# File 'lib/convenient_service/utils/module/get_own_instance_method.rb', line 18 def mod @mod end |
#private ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
30 31 32 |
# File 'lib/convenient_service/utils/module/get_own_instance_method.rb', line 30 def private @private end |
Instance Method Details
#call ⇒ UnboundMethod?
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/convenient_service/utils/module/get_own_instance_method.rb', line 55 def call method = mod.instance_method(method_name) if has_own_instance_method? ## # TODO: Warn if exceeded. # finite_loop do break if method.nil? break if method.owner == mod method = method.super_method end method end |