Module: Eco::Language::Delegation::ForDelegator::DelegatedClass

Included in:
ChainableDelegator
Defined in:
lib/eco/language/delegation/for_delegator/delegated_class.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#delegated_classObject

Instance methods



41
42
43
# File 'lib/eco/language/delegation/for_delegator/delegated_class.rb', line 41

def delegated_class
  self.class.delegated_class
end

#instance_of?(base) ⇒ Boolean

Returns:

  • (Boolean)


65
66
67
68
69
# File 'lib/eco/language/delegation/for_delegator/delegated_class.rb', line 65

def instance_of?(base)
  return true if base == delegated_class

  super
end

#is_a?(base) ⇒ Boolean

Returns:

  • (Boolean)


57
58
59
60
61
62
63
# File 'lib/eco/language/delegation/for_delegator/delegated_class.rb', line 57

def is_a?(base)
  return true  if super
  return false unless delegated_class
  return true  if delegated_class <= base

  false
end

#newObject



45
46
47
# File 'lib/eco/language/delegation/for_delegator/delegated_class.rb', line 45

def new(...)
  delegated_class.new(...)
end

#of_kind?(obj) ⇒ Boolean

Returns:

  • (Boolean)


49
50
51
52
53
54
55
# File 'lib/eco/language/delegation/for_delegator/delegated_class.rb', line 49

def of_kind?(obj)
  return true  if obj.is_a?(delegated_class)
  return false unless obj.is_a(Delegator)
  return true  if obj.__get_obj__.is_a?(delegated_class)

  false
end