Sha256: c10af8924be553b2208584dcaa818346c52ff47043999953edf55ce7cd253905

Contents?: true

Size: 802 Bytes

Versions: 1

Compression:

Stored size: 802 Bytes

Contents

require 'active_job/scheduler/cli'
require 'rake/tasklib'

module ActiveJob::Scheduler
  # Run the scheduler as a Rake task, and preload the Rails environment.
  #
  # Example Task:
  #
  #   ActiveJob::Scheduler::Task.new :schedule
  #
  # Example Shell Command:
  #
  #   rake schedule
  #
  # The task can also be pre-loaded with a task called `schedule:setup`.
  class Task < Rake::TaskLib
    attr_reader :name

    def initialize(with_name=:schedule)
      @name = with_name
      yield self if block_given?
      define
    end

    def define
      namespace name do
        task :setup

        task :run do
          ActiveJob::Scheduler::Cli.run ARGV, ENV
        end
      end

      desc "Run the ActiveJob::Scheduler"
      task name => ["#{name}:setup", "#{name}:run"]
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
activejob-scheduler-0.0.1 lib/active_job/scheduler/task.rb