Class: Inch::Language::Elixir::Provider::Reader::Object::Base
Abstract
- Inherits:
-
Object
- Object
- Inch::Language::Elixir::Provider::Reader::Object::Base
show all
- Defined in:
- lib/inch/language/elixir/provider/reader/object/base.rb
Overview
Constant Summary
collapse
- HIDDEN_TYPES =
%w(exception impl)
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(hash) ⇒ Base
Returns a new instance of Base.
13
14
15
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 13
def initialize(hash)
@hash = hash
end
|
Instance Attribute Details
#children_fullnames ⇒ Object
36
37
38
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 36
def children_fullnames
@children_fullnames ||= []
end
|
Instance Method Details
#aliased_object_fullname ⇒ Object
52
53
54
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 52
def aliased_object_fullname
nil
end
|
#aliases_fullnames ⇒ Object
56
57
58
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 56
def aliases_fullnames
nil
end
|
#api_tag? ⇒ Boolean
48
49
50
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 48
def api_tag?
nil
end
|
#attributes ⇒ Object
60
61
62
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 60
def attributes
[]
end
|
#bang_name? ⇒ Boolean
64
65
66
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 64
def bang_name?
false
end
|
#constant? ⇒ Boolean
68
69
70
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 68
def constant?
false end
|
#constructor? ⇒ Boolean
72
73
74
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 72
def constructor?
false
end
|
76
77
78
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 76
def depth
fullname.split('.').size
end
|
81
82
83
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 81
def docstring
@docstring ||= Docstring.new(original_docstring)
end
|
31
32
33
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 31
def filename
location[0]
end
|
25
26
27
28
29
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 25
def files
return [] if location.empty?
file, line_no = location[0], location[1]
[Inch::Utils::CodeLocation.new('', file, line_no)]
end
|
21
22
23
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 21
def fullname
fail NotImplementedError
end
|
#getter? ⇒ Boolean
85
86
87
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 85
def getter?
name =~ /^get_/ end
|
#has_children? ⇒ Boolean
89
90
91
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 89
def has_children?
!children_fullnames.empty?
end
|
#has_code_example? ⇒ Boolean
93
94
95
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 93
def has_code_example?
docstring.code_examples.size > 0
end
|
#has_doc? ⇒ Boolean
97
98
99
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 97
def has_doc?
!undocumented?
end
|
#has_multiple_code_examples? ⇒ Boolean
101
102
103
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 101
def has_multiple_code_examples?
docstring.code_examples.size > 1
end
|
105
106
107
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 105
def has_unconsidered_tags?
false end
|
#in_root? ⇒ Boolean
175
176
177
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 175
def in_root?
depth == 1
end
|
#method? ⇒ Boolean
109
110
111
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 109
def method?
false
end
|
17
18
19
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 17
def name
@hash['name']
end
|
#namespace? ⇒ Boolean
119
120
121
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 119
def namespace?
false
end
|
#nodoc? ⇒ Boolean
114
115
116
117
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 114
def nodoc?
@hash['doc'] == false ||
HIDDEN_TYPES.include?(@hash['type'])
end
|
#original_docstring ⇒ Object
123
124
125
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 123
def original_docstring
@hash['doc']
end
|
#overridden? ⇒ Boolean
127
128
129
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 127
def overridden?
false end
|
#overridden_method_fullname ⇒ Object
131
132
133
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 131
def overridden_method_fullname
nil end
|
#parameters ⇒ Object
135
136
137
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 135
def parameters
[]
end
|
#parent_fullname ⇒ Object
40
41
42
43
44
45
46
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 40
def parent_fullname
if depth == 1
nil
else
fullname.split('.')[0...-1].join('.')
end
end
|
#private? ⇒ Boolean
139
140
141
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 139
def private?
false
end
|
#protected? ⇒ Boolean
151
152
153
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 151
def protected?
false
end
|
#public? ⇒ Boolean
155
156
157
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 155
def public?
true
end
|
#questioning_name? ⇒ Boolean
159
160
161
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 159
def questioning_name?
fullname =~ /\?$/
end
|
#return_described? ⇒ Boolean
163
164
165
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 163
def return_described?
false end
|
#return_mentioned? ⇒ Boolean
167
168
169
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 167
def return_mentioned?
false end
|
#return_typed? ⇒ Boolean
171
172
173
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 171
def return_typed?
false end
|
#setter? ⇒ Boolean
179
180
181
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 179
def setter?
name =~ /^set_/ end
|
183
184
185
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 183
def source
nil
end
|
#tagged_as_internal_api? ⇒ Boolean
143
144
145
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 143
def tagged_as_internal_api?
false
end
|
#tagged_as_private? ⇒ Boolean
147
148
149
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 147
def tagged_as_private?
nodoc?
end
|
#unconsidered_tag_count ⇒ Object
187
188
189
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 187
def unconsidered_tag_count
0
end
|
#undocumented? ⇒ Boolean
191
192
193
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 191
def undocumented?
original_docstring.nil? || original_docstring.to_s.strip.empty?
end
|
#visibility ⇒ Object
195
196
197
|
# File 'lib/inch/language/elixir/provider/reader/object/base.rb', line 195
def visibility
:public
end
|