class DEBUGGER__::Tracer
Attributes
              key[R]
            
            
              type[R]
            
            Public Class Methods
                              new(ui, pattern: nil, into: nil)
                              click to toggle source
                            
                            # File debug-1.4.0/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.4.0/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.4.0/lib/debug/tracer.rb, line 57 def description nil end
                              disable()
                              click to toggle source
                            
                            # File debug-1.4.0/lib/debug/tracer.rb, line 53 def disable @tracer.disable end
                              enable()
                              click to toggle source
                            
                            # File debug-1.4.0/lib/debug/tracer.rb, line 49 def enable @tracer.enable end
                              header(depth)
                              click to toggle source
                            
                            # File debug-1.4.0/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.4.0/lib/debug/tracer.rb, line 99 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.4.0/lib/debug/tracer.rb, line 84 def out tp, msg = nil, depth = caller.size - 1 location_str = colorize("#{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 end end
                              puts(msg)
                              click to toggle source
                            
                            # File debug-1.4.0/lib/debug/tracer.rb, line 95 def puts msg @output.puts msg end
                              skip?(tp)
                              click to toggle source
                            
                            # File debug-1.4.0/lib/debug/tracer.rb, line 68 def skip? tp if tp.path.start_with?(__dir__) || tp.path.start_with?('<internal:') || ThreadClient.current.management? || skip_path?(tp.path) || skip_with_pattern?(tp) true else false end end
                              skip_with_pattern?(tp)
                              click to toggle source
                            
                            # File debug-1.4.0/lib/debug/tracer.rb, line 80 def skip_with_pattern?(tp) @pattern && !tp.path.match?(@pattern) end
                              to_s()
                              click to toggle source
                            
                            # File debug-1.4.0/lib/debug/tracer.rb, line 61 def to_s s = "#{@name}#{description} (#{@tracer.enabled? ? 'enabled' : 'disabled'})" s += " with pattern #{@pattern.inspect}" if @pattern s += " into: #{@into}" if @into s end