Class: Inch::Language::Nodejs::Provider::JSDoc::Object::Base
Abstract
- Inherits:
-
Object
- Object
- Inch::Language::Nodejs::Provider::JSDoc::Object::Base
show all
- Defined in:
- lib/inch/language/nodejs/provider/jsdoc/object/base.rb
Overview
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(hash) ⇒ Base
16
17
18
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 16
def initialize(hash)
@hash = hash
end
|
Instance Attribute Details
#base_dir ⇒ String
13
14
15
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 13
def base_dir
@base_dir
end
|
#children_fullnames ⇒ Object
45
46
47
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 45
def children_fullnames
@children_fullnames ||= []
end
|
Instance Method Details
#aliased_object_fullname ⇒ Object
61
62
63
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 61
def aliased_object_fullname
nil
end
|
#aliases_fullnames ⇒ Object
65
66
67
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 65
def aliases_fullnames
nil
end
|
#api_tag? ⇒ Boolean
57
58
59
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 57
def api_tag?
nil
end
|
#attributes ⇒ Object
69
70
71
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 69
def attributes
[]
end
|
#bang_name? ⇒ Boolean
73
74
75
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 73
def bang_name?
false
end
|
#constant? ⇒ Boolean
77
78
79
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 77
def constant?
false
end
|
#constructor? ⇒ Boolean
81
82
83
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 81
def constructor?
false
end
|
85
86
87
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 85
def depth
fullname.split('.').size
end
|
90
91
92
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 90
def docstring
@docstring ||= Docstring.new(@hash['comment'])
end
|
40
41
42
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 40
def filename
files.first.filename unless files.empty?
end
|
#files ⇒ Array<CodeLocation>
Returns all files declaring the object in the form of an Array of Arrays containing the location of their declaration.
32
33
34
35
36
37
38
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 32
def files
return [] unless meta?
filename = meta['path'] + '/' + meta['filename']
[
Inch::Utils::CodeLocation.new('', filename, meta['lineno'])
]
end
|
24
25
26
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 24
def fullname
"#{@hash['longname']}"
end
|
#getter? ⇒ Boolean
94
95
96
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 94
def getter?
name =~ /^get_/
end
|
#has_children? ⇒ Boolean
98
99
100
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 98
def has_children?
!children_fullnames.empty?
end
|
#has_code_example? ⇒ Boolean
102
103
104
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 102
def has_code_example?
false
end
|
#has_doc? ⇒ Boolean
106
107
108
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 106
def has_doc?
!undocumented?
end
|
#has_multiple_code_examples? ⇒ Boolean
110
111
112
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 110
def has_multiple_code_examples?
false
end
|
114
115
116
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 114
def has_unconsidered_tags?
false
end
|
#in_root? ⇒ Boolean
189
190
191
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 189
def in_root?
depth == 1
end
|
#method? ⇒ Boolean
118
119
120
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 118
def method?
false
end
|
20
21
22
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 20
def name
@hash['name']
end
|
#namespace? ⇒ Boolean
126
127
128
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 126
def namespace?
false
end
|
#nodoc? ⇒ Boolean
122
123
124
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 122
def nodoc?
@hash['comment'] == false
end
|
#original_docstring ⇒ Object
130
131
132
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 130
def original_docstring
@hash['comment']
end
|
#overridden? ⇒ Boolean
134
135
136
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 134
def overridden?
false
end
|
#overridden_method_fullname ⇒ Object
138
139
140
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 138
def overridden_method_fullname
nil
end
|
#parameters ⇒ Object
142
143
144
145
146
147
148
149
150
151
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 142
def parameters
if meta? && meta['code']
names = meta['code']['paramnames'] || []
names.map do |name|
FunctionParameterObject.new(self, name)
end
else
[]
end
end
|
#parent_fullname ⇒ Object
49
50
51
52
53
54
55
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 49
def parent_fullname
if depth == 1
nil
else
fullname.split('.')[0...-1].join('.')
end
end
|
#private? ⇒ Boolean
153
154
155
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 153
def private?
false
end
|
#protected? ⇒ Boolean
165
166
167
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 165
def protected?
false
end
|
#public? ⇒ Boolean
169
170
171
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 169
def public?
true
end
|
#questioning_name? ⇒ Boolean
173
174
175
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 173
def questioning_name?
fullname =~ /\?$/
end
|
#return_described? ⇒ Boolean
177
178
179
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 177
def return_described?
false
end
|
#return_mentioned? ⇒ Boolean
181
182
183
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 181
def return_mentioned?
false
end
|
#return_typed? ⇒ Boolean
185
186
187
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 185
def return_typed?
false
end
|
#setter? ⇒ Boolean
193
194
195
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 193
def setter?
name =~ /^set_/
end
|
197
198
199
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 197
def source
nil
end
|
#tagged_as_internal_api? ⇒ Boolean
157
158
159
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 157
def tagged_as_internal_api?
false
end
|
#tagged_as_private? ⇒ Boolean
161
162
163
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 161
def tagged_as_private?
nodoc?
end
|
#unconsidered_tag_count ⇒ Object
201
202
203
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 201
def unconsidered_tag_count
0
end
|
#undocumented? ⇒ Boolean
205
206
207
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 205
def undocumented?
@hash['comment'].to_s.empty?
end
|
#visibility ⇒ Object
209
210
211
|
# File 'lib/inch/language/nodejs/provider/jsdoc/object/base.rb', line 209
def visibility
docstring.visibility
end
|