Module: Quebert::AsyncSender::Instance::ClassMethods

Defined in:
lib/quebert/async_sender/instance.rb

Instance Method Summary collapse

Instance Method Details

#overwrite_initializeObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/quebert/async_sender/instance.rb', line 30

def overwrite_initialize
  class_eval do
    unless method_defined?(:initialize_with_async_sender)
      define_method(:initialize_with_async_sender) do
        initialize_without_async_sender
      end
    end
    
    if instance_method(:initialize) != instance_method(:initialize_with_async_sender)
      alias_method :initialize_without_async_sender, :initialize
      alias_method :initialize, :initialize_with_async_sender
    end
  end
end