1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
module CallerFixture
def block
@block
end
module_function :block
def block=(block)
@block = block
end
module_function :block=
def capture(&block)
@block = block
end
module_function :capture
def caller_of(block)
eval("caller(0)", block.binding)
end
module_function :caller_of
def eval_caller(depth)
eval("caller(#{depth})")
end
module_function :eval_caller
class InitializeRecorder
attr_reader :caller_on_initialize
def initialize(level)
@caller_on_initialize = caller(level)
end
end
end
|