class DEBUGGER__::Tracer
Attributes
              key[R]
            
            
              type[R]
            
            Public Class Methods
                              new(ui, pattern: nil, into: nil)
                              click to toggle source
                            
                            # File debug-1.9.2/lib/debug/tracer.rb, line 19 def initialize ui, pattern: nil, into: nil if /\ADEBUGGER__::(([A-Z][a-z]+?)[A-Z][a-z]+)/ =~ self.class.name @name = $1 @type = $2.downcase end setup if pattern @pattern = Regexp.compile(pattern) else @pattern = nil end if @into = into @output = File.open(into, 'w') @output.puts "PID:#{Process.pid} #{self}" else @output = ui end @key = [@type, @pattern, @into].freeze enable end
Public Instance Methods
                              colorize(str, color)
                              click to toggle source
                            
                            
                                  Calls superclass method
                                  
                              DEBUGGER__::Color#colorize
                              # File debug-1.9.2/lib/debug/tracer.rb, line 8 def colorize(str, color) # don't colorize trace sent into a file if @into str else super end end
                              description()
                              click to toggle source
                            
                            # File debug-1.9.2/lib/debug/tracer.rb, line 61 def description nil end
                              disable()
                              click to toggle source
                            
                            # File debug-1.9.2/lib/debug/tracer.rb, line 53 def disable @tracer.disable end
                              enable()
                              click to toggle source
                            
                            # File debug-1.9.2/lib/debug/tracer.rb, line 49 def enable @tracer.enable end
                              enabled?()
                              click to toggle source
                            
                            # File debug-1.9.2/lib/debug/tracer.rb, line 57 def enabled? @tracer.enabled? end
                              header(depth)
                              click to toggle source
                            
                            # File debug-1.9.2/lib/debug/tracer.rb, line 45 def header depth "DEBUGGER (trace/#{@type}) \#th:#{Thread.current.instance_variable_get(:@__thread_client_id)} \#depth:#{'%-2d'%depth}" end
                              minfo(tp)
                              click to toggle source
                            
                            # File debug-1.9.2/lib/debug/tracer.rb, line 92 def minfo tp return "block{}" if tp.event == :b_call klass = tp.defined_class if klass.singleton_class? "#{tp.self}.#{tp.method_id}" else "#{klass}\##{tp.method_id}" end end
                              out(tp, msg = nil, depth = caller.size - 1)
                              click to toggle source
                            
                            # File debug-1.9.2/lib/debug/tracer.rb, line 80 def out tp, msg = nil, depth = caller.size - 1 location_str = colorize("#{FrameInfo.pretty_path(tp.path)}:#{tp.lineno}", [:GREEN]) buff = "#{header(depth)}#{msg} at #{location_str}" if false # TODO: Ractor.main? ThreadClient.current.on_trace self.object_id, buff else @output.puts buff @output.flush end end
                              skip?(tp)
                              click to toggle source
                            
                            # File debug-1.9.2/lib/debug/tracer.rb, line 72 def skip? tp ThreadClient.current.management? || skip_path?(tp.path) || skip_with_pattern?(tp) end
                              skip_with_pattern?(tp)
                              click to toggle source
                            
                            # File debug-1.9.2/lib/debug/tracer.rb, line 76 def skip_with_pattern?(tp) @pattern && !tp.path.match?(@pattern) end
                              to_s()
                              click to toggle source
                            
                            # File debug-1.9.2/lib/debug/tracer.rb, line 65 def to_s s = "#{@name}#{description} (#{@tracer.enabled? ? 'enabled' : 'disabled'})" s += " with pattern #{@pattern.inspect}" if @pattern s += " into: #{@into}" if @into s end