Module: Eco::Language::Delegation::DelegatingMissing

Included in:
Data::CountTrace
Defined in:
lib/eco/language/delegation/delegating_missing.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

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 receiver, as long as responds_to method_name



90
91
92
93
94
95
96
97
98
99
100
# File 'lib/eco/language/delegation/delegating_missing.rb', line 90

def method_missing(method_name, *args, **kargs, &block)
  return super unless self.class.delegating_missing?(method_name)

  target = self.class.delegating_missing_target(self, at: method_name)

  if method_name.to_s.start_with?('@')
    target.instance_variable_get(method_name)
  else
    target.send(method_name, *args, **kargs, &block)
  end
end

Instance Method Details

#respond_to_missing?(method_name, include_private = false) ⇒ Boolean

INSTANCE Methods

Returns:

  • (Boolean)


82
83
84
# File 'lib/eco/language/delegation/delegating_missing.rb', line 82

def respond_to_missing?(method_name, include_private = false)
  super
end