module BetterRailsDebugger::Parser::Ruby::ProcessorExtension
Public Instance Methods
get_full_class_name(node)
click to toggle source
# File lib/better_rails_debugger/parser/ruby/basic_extensions/context_definer.rb, line 35 def get_full_class_name(node) klass, superclass, _ = *node klass_name = klass.to_sexp_array[2].to_s # Base case return klass_name unless klass.to_sexp_array[1].present? "#{get_full_context_name(superclass)}::#{klass_name}" end
get_full_context_name(node)
click to toggle source
# File lib/better_rails_debugger/parser/ruby/basic_extensions/context_definer.rb, line 3 def get_full_context_name(node) if node.type.to_s == 'class' get_full_class_name node elsif node.type.to_s == 'module' module_t, _ = *node super_module, module_name = *module_t if super_module.present? "#{super_module.to_sexp_array[2]}::#{module_name}" else module_name end elsif node.type.to_s == 'const' pre, name = *node if pre.present? "#{get_full_context_name pre}::#{name}" else name.to_s end # send are superclass elsif node.type.to_s == 'send' n, name, extra = *node if extra "#{name}::#{get_full_context_name(extra)}" else name.to_s end elsif node.type.to_s == 'sym' name = *node name.first.to_s end end
params_to_hash(node)
click to toggle source
# File lib/better_rails_debugger/parser/ruby/basic_extensions/context_definer.rb, line 45 def params_to_hash(node) args = *node args.map do |arg| type, value = arg.type, *arg if type == :optarg [type, value, arg.to_sexp_array[2]] else [type, value] end end end