Module: Eco::Language::Delegation::DelegatingMissingOnClass::ClassMethods
- Defined in:
- lib/eco/language/delegation/delegating_missing_on_class.rb
Instance Method Summary collapse
- #delegating_missing_on_class_to(to = nil) ⇒ Object
- #respond_to_missing?(method_name, include_private = false) ⇒ Boolean
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_name, *args, **kargs, &block) ⇒ Object (private)
Note:
if missing, redirect all parameters to target,
as long as responds_to method_name
31 32 33 34 35 |
# File 'lib/eco/language/delegation/delegating_missing_on_class.rb', line 31 def method_missing(method_name, *args, **kargs, &block) return super unless (target = delegating_missing_on_class_target) target.send(method_name, *args, **kargs, &block) end |
Instance Method Details
#delegating_missing_on_class_to(to = nil) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/eco/language/delegation/delegating_missing_on_class.rb', line 14 def delegating_missing_on_class_to(to = nil) return @delegating_missing_on_class_to if to.nil? msg = "Expecting String or Symbol. Given: #{to}." raise ArgumentError, msg unless sym_or_string?(to) @delegating_missing_on_class_to = to end |
#respond_to_missing?(method_name, include_private = false) ⇒ Boolean
23 24 25 |
# File 'lib/eco/language/delegation/delegating_missing_on_class.rb', line 23 def respond_to_missing?(method_name, include_private = false) super end |