Class: Yoda::Model::FunctionSignatures::Constructor

Inherits:
Base
  • Object
show all
Defined in:
lib/yoda/model/function_signatures/constructor.rb

Overview

Constructor provides a signature of ‘YourClass.new` from `initialize` method of the class.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#to_s, #wrap

Constructor Details

#initialize(namespace, initialize_method) ⇒ Constructor



11
12
13
14
# File 'lib/yoda/model/function_signatures/constructor.rb', line 11

def initialize(namespace, initialize_method)
  @namespace = namespace
  @initialize_method = initialize_method
end

Instance Attribute Details

#initialize_methodObject (readonly)

Returns the value of attribute initialize_method.



7
8
9
# File 'lib/yoda/model/function_signatures/constructor.rb', line 7

def initialize_method
  @initialize_method
end

Instance Method Details

#documentString



48
49
50
# File 'lib/yoda/model/function_signatures/constructor.rb', line 48

def document
  initialize_method.document
end

#nameObject



31
32
33
# File 'lib/yoda/model/function_signatures/constructor.rb', line 31

def name
  'new'
end

#namespace_pathObject



43
44
45
# File 'lib/yoda/model/function_signatures/constructor.rb', line 43

def namespace_path
  initialize_method.namespace_path
end

#parameter_type_of(param) ⇒ TypeExpressions::Base?



73
74
75
# File 'lib/yoda/model/function_signatures/constructor.rb', line 73

def parameter_type_of(param)
  type_builder.type_of(param)
end

#parametersParameterList



63
64
65
# File 'lib/yoda/model/function_signatures/constructor.rb', line 63

def parameters
  @parameters ||= ParameterList.new(initialize_method.parameters)
end

#primary_source(String, Integer, Integer)?



68
69
70
# File 'lib/yoda/model/function_signatures/constructor.rb', line 68

def primary_source
  initialize_method.primary_source
end

#rbs_type(env) ⇒ RBS::MethodType



22
23
24
25
26
27
28
29
# File 'lib/yoda/model/function_signatures/constructor.rb', line 22

def rbs_type(env)
  RBS::MethodType.new(
    type_params: [],
    type: type.to_rbs_type(env),
    block: nil,
    location: nil,
  )
end

#sepObject



39
40
41
# File 'lib/yoda/model/function_signatures/constructor.rb', line 39

def sep
  '.'
end

#sourcesArray<(String, Integer, Integer)>



58
59
60
# File 'lib/yoda/model/function_signatures/constructor.rb', line 58

def sources
  initialize_method.sources
end

#tagsArray<Store::Objects::Tag>



53
54
55
# File 'lib/yoda/model/function_signatures/constructor.rb', line 53

def tags
  initialize_method.tag_list
end

#typeObject



16
17
18
# File 'lib/yoda/model/function_signatures/constructor.rb', line 16

def type
  type_builder.type
end

#visibilityObject



35
36
37
# File 'lib/yoda/model/function_signatures/constructor.rb', line 35

def visibility
  :public
end