aboutsummaryrefslogblamecommitdiffstats
path: root/activejob/test/support/queue_classic/inline.rb
blob: 0695a34c27858b999d4ae2e5b13a5ac7101748ec (plain) (tree)
1
2
3
4
5
6
7
8
9
                             
 
                       
                                                        


             
                                                
                                                       


                                   
 
                                                            
                                                       



                                   
                                                               
                                                       


                                   

     
# frozen_string_literal: true

require "queue_classic"
require "active_support/core_ext/module/redefine_method"

module QC
  class Queue
    redefine_method(:enqueue) do |method, *args|
      receiver_str, _, message = method.rpartition(".")
      receiver = eval(receiver_str)
      receiver.send(message, *args)
    end

    redefine_method(:enqueue_in) do |seconds, method, *args|
      receiver_str, _, message = method.rpartition(".")
      receiver = eval(receiver_str)
      receiver.send(message, *args)
    end

    redefine_method(:enqueue_at) do |not_before, method, *args|
      receiver_str, _, message = method.rpartition(".")
      receiver = eval(receiver_str)
      receiver.send(message, *args)
    end
  end
end