Method: Object#instance_exec
- Defined in:
- lib/core/object.rb
#instance_exec(*args, &block) ⇒ Object
Taken from www.ruby-forum.com/topic/54096 Instance eval a block with arguments
57 58 59 60 61 62 63 64 65 66 |
# File 'lib/core/object.rb', line 57 def instance_exec(*args, &block) mname = "__instance_exec_#{Thread.current.object_id.abs}" class << self; self end.class_eval{ define_method(mname, &block) } begin ret = send(mname, *args) ensure class << self; self end.class_eval{ undef_method(mname) } rescue nil end ret end |