Module: BetterRailsDebugger::Parser::Ruby::ProcessorExtension
- Included in:
- Processor
- Defined in:
- lib/better_rails_debugger/parser/ruby/basic_extensions/context_definer.rb
Instance Method Summary collapse
- #get_full_class_name(node) ⇒ Object
- #get_full_context_name(node) ⇒ Object
- #params_to_hash(node) ⇒ Object
Instance Method Details
#get_full_class_name(node) ⇒ Object
35 36 37 38 39 40 41 42 43 |
# 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) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# 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) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 |
# 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 |