def bind
unless class_instance_method_defined(subject_class, original_method_alias_name, false)
unless class_instance_method_defined(subject_class, :singleton_method_added, false)
@placeholder_method_defined = true
subject_class.class_eval do
end
end
memoized_original_method_alias_name = original_method_alias_name
subject_class.__send__(:alias_method, original_method_alias_name, :singleton_method_added)
memoized_subject_class = subject_class
memoized_original_method_alias_name = original_method_alias_name
subject_class.__send__(:define_method, :singleton_method_added) do |method_name_arg|
if Injections::DoubleInjection.exists?(memoized_subject_class, method_name_arg)
Injections::DoubleInjection.find_or_create(memoized_subject_class, method_name_arg).send(:deferred_bind_method)
end
__send__(memoized_original_method_alias_name, method_name_arg)
end
end
self
end