aboutsummaryrefslogtreecommitdiffstats
path: root/activejob/lib/active_job/configured_job.rb
blob: 61efc9b09e8d9018fd2c7a72420c63776a829dd7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
module ActiveJob
  class ConfiguredJob #:nodoc:
    def initialize(job_class, options={})
      @options = options
      @options[:in] = @options.delete(:wait) if @options[:wait]
      @options[:at] = @options.delete(:wait_until) if @options[:wait_until]
      @job_class = job_class
    end

    def perform_now(*args)
      @job_class.new(*args).perform_now
    end

    def perform_later(*args)
      @job_class.new(*args).enqueue @options
    end
  end
end