13 lines
335 B
Ruby
13 lines
335 B
Ruby
class Proc #:nodoc:
|
|
def bind(object)
|
|
block, time = self, Time.now
|
|
(class << object; self end).class_eval do
|
|
method_name = "__bind_#{time.to_i}_#{time.usec}"
|
|
define_method(method_name, &block)
|
|
method = instance_method(method_name)
|
|
remove_method(method_name)
|
|
method
|
|
end.bind(object)
|
|
end
|
|
end
|