module Nuggets::Proc::BindMixin

Public Instance Methods

bind(object) → aMethod click to toggle source

Straight from Rails' ActiveSupport – effectively binds proc to object.

   # File lib/nuggets/proc/bind_mixin.rb
35 def bind(object)
36   block, time = self, ::Time.now
37 
38   (class << object; self; end).class_eval {
39     method_name = "__bind_#{time.to_i}_#{time.usec}"
40     define_method(method_name, &block)
41 
42     method = instance_method(method_name)
43     remove_method(method_name)
44 
45     method
46   }.bind(object)
47 end