Class: Yoda::Model::Values::InstanceValue

Inherits:
Base
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/yoda/model/values/instance_value.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#select_constant_paths, #select_constant_type, #select_method

Constructor Details

#initialize(class_accessor) ⇒ InstanceValue

Returns a new instance of InstanceValue.

Parameters:



15
16
17
# File 'lib/yoda/model/values/instance_value.rb', line 15

def initialize(class_accessor)
  @class_accessor = class_accessor
end

Instance Attribute Details

#class_accessorEnvironment::AccessorInterface (readonly)



10
11
12
# File 'lib/yoda/model/values/instance_value.rb', line 10

def class_accessor
  @class_accessor
end

Instance Method Details

#instance_valueInstanceValue, EmptyValue



29
30
31
32
33
34
35
# File 'lib/yoda/model/values/instance_value.rb', line 29

def instance_value
  if class_accessor.instance_accessor
    InstanceValue.new(class_accessor.instance_accessor)
  else
    EmptyValue.new
  end
end

#referred_objectsObject



19
20
21
# File 'lib/yoda/model/values/instance_value.rb', line 19

def referred_objects
  [class_accessor.class_object].compact
end

#singleton_class_valueInstanceValue

Returns:



24
25
26
# File 'lib/yoda/model/values/instance_value.rb', line 24

def singleton_class_value
  InstanceValue.new(class_accessor.singleton_accessor)
end