This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.
# TracePoint.enable (from ruby core) --- trace.enable(target: nil, target_line: nil, target_thread: nil) -> true or false trace.enable(target: nil, target_line: nil, target_thread: nil) { block } -> obj --- Activates the trace. Returns `true` if trace was enabled. Returns `false` if trace was disabled. trace.enabled? #=> false trace.enable #=> false (previous state) # trace is enabled trace.enabled? #=> true trace.enable #=> true (previous state) # trace is still enabled If a block is given, the trace will only be enabled within the scope of the block. trace.enabled? #=> false trace.enable do trace.enabled? # only enabled for this block end trace.enabled? #=> false `target`, `target_line` and `target_thread` parameters are used to limit tracing only to specified code objects. `target` should be a code object for which RubyVM::InstructionSequence.of will return an instruction sequence. t = TracePoint.new(:line) { |tp| p tp } def m1 p 1 end def m2 p 2 end t.enable(target: method(:m1)) m1 # prints #<TracePoint:line test.rb:4 in `m1'> m2 # prints nothing Note: You cannot access event hooks within the `enable` block. trace.enable { p tp.lineno } #=> RuntimeError: access from outside
This is MURDOC! A Ruby documentation browser inspired by Smalltalk-80. It allows you to learn about Ruby by browsing through its class hierarchies, and see any of its methods.