Class | Debugger::MethodCommand |
In: |
cli/ruby-debug/commands/method.rb
|
Parent: | Command |
Implements the debugger ‘method’ command.
# File cli/ruby-debug/commands/method.rb, line 74 74: def help(cmd) 75: %{ 76: m[ethod] i[nstance] <obj>\tshow methods of object 77: m[ethod] iv <obj>\t\tshow instance variables of object 78: m[ethod] <class|module>\t\tshow instance methods of class or module 79: } 80: end
# File cli/ruby-debug/commands/method.rb, line 48 48: def execute 49: if @match[1] == "iv" 50: obj = debug_eval(@match.post_match) 51: obj.instance_variables.sort.each do |v| 52: print "%s = %s\n", v, obj.instance_variable_get(v).inspect 53: end 54: elsif @match[1] 55: obj = debug_eval(@match.post_match) 56: print "%s\n", columnize(obj.methods.sort(), 57: self.class.settings[:width]) 58: else 59: obj = debug_eval(@match.post_match) 60: unless obj.kind_of? Module 61: print "Should be Class/Module: %s\n", @match.post_match 62: else 63: print "%s\n", columnize(obj.instance_methods(false).sort(), 64: self.class.settings[:width]) 65: end 66: end 67: end