aboutsummaryrefslogtreecommitdiffstats
path: root/activejob/test/support/queue_classic/inline.rb
blob: 0695a34c27858b999d4ae2e5b13a5ac7101748ec (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 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