This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.

enable

        # 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.