Class: Yoda::Model::Environment::SingletonAccessor
- Inherits:
-
Object
- Object
- Yoda::Model::Environment::SingletonAccessor
- Extended by:
- Forwardable
- Includes:
- AccessorInterface, WithCache
- Defined in:
- lib/yoda/model/environment/singleton_accessor.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
- #class_object ⇒ Store::Objects::MetaClassObject::Connected?
-
#initialize(instance_accessor) ⇒ SingletonAccessor
constructor
A new instance of SingletonAccessor.
- #members ⇒ NamespaceMembers
- #rbs_definition ⇒ RBS::Definition?
- #self_object ⇒ Store::Objects::MetaClassObject::Connected?
- #singleton_accessor ⇒ SingletonAccessor
Methods included from WithCache
Constructor Details
#initialize(instance_accessor) ⇒ SingletonAccessor
Returns a new instance of SingletonAccessor.
20 21 22 |
# File 'lib/yoda/model/environment/singleton_accessor.rb', line 20 def initialize(instance_accessor) @instance_accessor = instance_accessor end |
Instance Attribute Details
#instance_accessor ⇒ InstanceAccessor, SingletonAccessor (readonly)
15 16 17 |
# File 'lib/yoda/model/environment/singleton_accessor.rb', line 15 def instance_accessor @instance_accessor end |
Instance Method Details
#class_object ⇒ Store::Objects::MetaClassObject::Connected?
51 52 53 54 55 |
# File 'lib/yoda/model/environment/singleton_accessor.rb', line 51 def class_object with_cache(:class_object) do instance_accessor.class_object&. end end |
#members ⇒ NamespaceMembers
25 26 27 |
# File 'lib/yoda/model/environment/singleton_accessor.rb', line 25 def members @members ||= NamespaceMembers.new(accessor: self, environment: environment) end |
#rbs_definition ⇒ RBS::Definition?
35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/yoda/model/environment/singleton_accessor.rb', line 35 def rbs_definition with_cache(:rbs_definition) do if instance_accessor.rbs_definition if instance_accessor.rbs_definition.self_type.is_a?(RBS::Types::ClassInstance) rbs_definition_builder.build_singleton(instance_accessor.rbs_definition.type_name) else # Interface or Singleton nil end else nil end end end |
#self_object ⇒ Store::Objects::MetaClassObject::Connected?
58 59 60 61 62 |
# File 'lib/yoda/model/environment/singleton_accessor.rb', line 58 def self_object with_cache(:self_object) do instance_accessor.class_object end end |
#singleton_accessor ⇒ SingletonAccessor
30 31 32 |
# File 'lib/yoda/model/environment/singleton_accessor.rb', line 30 def singleton_accessor SingletonAccessor.new(self) end |