module Kernel

Public Instance Methods

instance_exec(*args, &block) click to toggle source

Like instace_eval but allows parameters to be passed.

# File lib/log_tools/converter.rb, line 7
def instance_exec(*args, &block)
    mname = "__instance_exec_#{Thread.current.object_id.abs}_#{object_id.abs}"
    Object.class_eval{ define_method(mname, &block) }
    begin
        ret = send(mname, *args)
    ensure
        Object.class_eval{ undef_method(mname) } rescue nil
    end
    ret
end