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
-
#delegated_class ⇒ Object
Instance methods.
- #instance_of?(base) ⇒ Boolean
- #is_a?(base) ⇒ Boolean
- #new ⇒ Object
- #of_kind?(obj) ⇒ Boolean
Instance Method Details
#delegated_class ⇒ Object
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
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
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 |
#new ⇒ Object
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
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 |