Class: Ssource::Source::Klass
Instance Attribute Summary
Attributes inherited from Element
#accessibility, #elements, #kind, #name
Instance Method Summary
collapse
Methods inherited from Element
#display_name
Constructor Details
#initialize(json) ⇒ Klass
Returns a new instance of Klass.
8
9
10
|
# File 'lib/ssource/source/klass.rb', line 8
def initialize(json)
super
end
|
Instance Method Details
#class_methods ⇒ Object
24
25
26
|
# File 'lib/ssource/source/klass.rb', line 24
def class_methods
methods.select(&:class?)
end
|
#elements_variables ⇒ Object
47
48
49
|
# File 'lib/ssource/source/klass.rb', line 47
def elements_variables
%i[variables instance_methods static_methods class_methods]
end
|
#instance_methods ⇒ Object
16
17
18
|
# File 'lib/ssource/source/klass.rb', line 16
def instance_methods
methods.select(&:instance?)
end
|
#methods ⇒ Object
12
13
14
|
# File 'lib/ssource/source/klass.rb', line 12
def methods
elements.select { |element| element.is_a? Method }
end
|
#pretty_print ⇒ Object
39
40
41
42
43
44
45
|
# File 'lib/ssource/source/klass.rb', line 39
def pretty_print
result = elements_variables.each_with_object(super) do |method, hash|
collections = send(method).map(&:pretty_print)
hash[instance_variable.to_s.capitalize] = collections unless collections.empty?
end
{ display_name => result }
end
|
#static_methods ⇒ Object
20
21
22
|
# File 'lib/ssource/source/klass.rb', line 20
def static_methods
methods.select(&:static?)
end
|
#to_hash ⇒ Object
32
33
34
35
36
37
|
# File 'lib/ssource/source/klass.rb', line 32
def to_hash
elements_variables.each_with_object(super) do |method, hash|
collections = send(method).map(&:to_hash)
hash[instance_variable.to_s.capitalize] = collections unless collections.empty?
end
end
|
#variables ⇒ Object
28
29
30
|
# File 'lib/ssource/source/klass.rb', line 28
def variables
elements.select { |element| element.is_a? Variable }
end
|