class Qdocs::Base::Const
Public Class Methods
new(original_input)
click to toggle source
# File lib/qdocs.rb, line 72 def initialize(original_input) @original_input = original_input end
Public Instance Methods
show(const) { |constant| ... }
click to toggle source
# File lib/qdocs.rb, line 76 def show(const) const = const.to_s constant = find_constant const yield constant if block_given? const_sl = Object.const_source_location const if constant.instance_of?(Class) || constant.instance_of?(Module) render_response(constant, :constant, { source_location: source_location_to_str(const_sl), instance_methods: own_methods(constant.instance_methods).sort, singleton_methods: own_methods(constant.methods).sort, included_modules: constant.included_modules, constants: constant.constants, constant_type: constant.class.name, inheritance_chain: build_inheritance_chain(constant).map(&:name), }) else render_response(constant, :constant, { source_location: source_location_to_str(const_sl), instance_methods: nil, singleton_methods: nil, included_modules: nil, constants: nil, value: constant, constant_type: constant.class.name, inheritance_chain: nil, }) end end
Private Instance Methods
build_inheritance_chain(initial)
click to toggle source
# File lib/qdocs.rb, line 110 def build_inheritance_chain(initial) chain = [initial] klass = initial while klass.respond_to?(:superclass) break unless (sc = klass.superclass) chain << sc klass = sc end chain end