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

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(registry, class_object) ⇒ InstanceValue

Returns a new instance of InstanceValue.

Parameters:

  • registry (Registry)
  • class_object (::YARD::CodeObjects::ClassObject, ::YARD::CodeObjects::Proxy)


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

def initialize(registry, class_object)
  fail ArgumentError, registry unless registry.is_a?(Registry)
  fail ArgumentError, class_object unless class_object.is_a?(::YARD::CodeObjects::NamespaceObject) || class_object.is_a?(::YARD::CodeObjects::Proxy)
  @registry = registry
  @class_object = class_object
end

Instance Attribute Details

#class_objectObject (readonly)

Returns the value of attribute class_object.



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

def class_object
  @class_object
end

#registryObject (readonly)

Returns the value of attribute registry.



6
7
8
# File 'lib/yoda/model/values/instance_value.rb', line 6

def registry
  @registry
end

Instance Method Details

#defined_filesArray<[String, Integer]>

Returns:

  • (Array<[String, Integer]>)


42
43
44
# File 'lib/yoda/model/values/instance_value.rb', line 42

def defined_files
  namespace.files
end

#docstringObject

Parameters:

  • (String)


37
38
39
# File 'lib/yoda/model/values/instance_value.rb', line 37

def docstring
  class_object.docstring
end

#methods(visibility: nil) ⇒ Array<Functions::Base>

Returns:

  • (Array<Functions::Base>)


21
22
23
24
25
# File 'lib/yoda/model/values/instance_value.rb', line 21

def methods(visibility: nil)
  return [] if class_object.type == :proxy
  opts = { scope: :instance, visibility: visibility }.compact
  class_object.meths(opts).map { |meth| Functions::Method.new(meth) } + object_methods(visibility: visibility)
end

#namespaceObject



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

def namespace
  class_object
end

#pathString

Returns:

  • (String)


28
29
30
# File 'lib/yoda/model/values/instance_value.rb', line 28

def path
  namespace.path
end