class WebTools::Debugger
Public Instance Methods
method_data_from_frame(frame)
click to toggle source
# File lib/web_tools/debugger.rb, line 67 def method_data_from_frame(frame) dict = frame.method.defining_class.nesting[1] dict = dict ? dict.name : "" { "source" => frame.method.source, "stepPoints" => frame.method.step_offsets, "sends" => frame.method.send_offsets, "nowAt" => frame.step_offset, "dictionaryName" => dict || "", "className" => frame.method.defining_class.name, "isMeta" => frame.method.defining_class.singleton_class? } rescue Exception return { "source" => "", "stepPoints" => "", "sends" => "", "nowAt" => 0, "dictionaryName" => "", "className" => "", "isMeta" => "" } end
str_report_for(process_mirror)
click to toggle source
# File lib/web_tools/debugger.rb, line 106 def str_report_for(process_mirror) process_mirror.stack.collect do |f| str = "" if f.method separator = f.method.defining_class.singleton_class? ? '.' : '#' str = "#{f.method.defining_class.name}#{separator}" end str += (f.name || "block in #{f.selector}") end end
variables_data_from_frame(frame)
click to toggle source
# File lib/web_tools/debugger.rb, line 82 def variables_data_from_frame(frame) list = [{ "name" => "self", "string" => frame.self.name, "oop" => frame.self.reflectee.object_id }] if frame.self != frame.receiver list << { "name" => "receiver", "string" => frame.receiver.name, "oop" => frame.receiver.reflectee.object_id } end frame.arguments.each do |k, v| list << { "name" => k.to_s, "string" => v.name, "oop" => v.reflectee.object_id } end frame.locals.each do |k, v| list << { "name" => k.to_s, "string" => v.name, "oop" => v.reflectee.object_id } end list rescue Exception return [] end