module Blab

Constants

VERSION

Public Class Methods

included(base) click to toggle source
# File lib/blab.rb, line 10
def self.included(base)
  base.define_singleton_method(:blab) do |name|
    old_m = self.instance_method(name)

    self.send(:define_method, name) do |*args|
      begin
        set_trace_func(Blab::Tracer.trace)
        old_m.bind(self).call(*args)
      ensure
        set_trace_func(nil)
        Blab::Tracer.reset
      end
    end
  end

  def with_blab
    begin
      set_trace_func(Blab::Tracer.trace)
      yield
    ensure
      set_trace_func(nil)
      Blab::Tracer.reset
    end
  end
end

Public Instance Methods

with_blab() { || ... } click to toggle source
# File lib/blab.rb, line 25
def with_blab
  begin
    set_trace_func(Blab::Tracer.trace)
    yield
  ensure
    set_trace_func(nil)
    Blab::Tracer.reset
  end
end