class Ssource::Source::Klass
Attributes
protocols[R]
superklass[R]
Public Class Methods
new(json)
click to toggle source
Calls superclass method
Ssource::Source::Element::new
# File lib/ssource/source/klass.rb, line 12 def initialize(json) super inherited_types = json.fetch('inheritedtypes', []).map { |hash| hash['key.name'] } @superklass = inherited_types.first @protocols = inherited_types[1..-1] || [] end
Public Instance Methods
class_methods()
click to toggle source
# File lib/ssource/source/klass.rb, line 31 def class_methods methods.select(&:class?) end
elements_variables()
click to toggle source
# File lib/ssource/source/klass.rb, line 54 def elements_variables %i[variables instance_methods static_methods class_methods] end
instance_methods()
click to toggle source
# File lib/ssource/source/klass.rb, line 23 def instance_methods methods.select(&:instance?) end
methods()
click to toggle source
# File lib/ssource/source/klass.rb, line 19 def methods elements.select { |element| element.is_a? Method } end
pretty_print()
click to toggle source
# File lib/ssource/source/klass.rb, line 46 def pretty_print result = elements_variables.each_with_object({}) do |method, hash| collections = send(method).map(&:pretty_print) hash[method.to_s.capitalize] = collections unless collections.empty? end { display_name => result } end
static_methods()
click to toggle source
# File lib/ssource/source/klass.rb, line 27 def static_methods methods.select(&:static?) end
to_hash()
click to toggle source
Calls superclass method
Ssource::Source::Element#to_hash
# File lib/ssource/source/klass.rb, line 39 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()
click to toggle source
# File lib/ssource/source/klass.rb, line 35 def variables elements.select { |element| element.is_a? Variable } end