Sha256: 25286f890ab1d7ffdddd7b6e118eddeeb1f5f43795beafd66a551fcf8b63c043

Contents?: true

Size: 717 Bytes

Versions: 3

Compression:

Stored size: 717 Bytes

Contents

module Crono
  # Crono::PerformerProxy is a proxy used in cronotab.rb semantic
  class PerformerProxy
    def initialize(performer, scheduler, job_args)
      @performer = performer
      @scheduler = scheduler
      @job_args = job_args
    end

    def every(period, *args)
      @job = Job.new(@performer, Period.new(period, *args), @job_args, @options)
      @scheduler.add_job(@job)
      self
    end

    def once_per(execution_interval)
      @job.execution_interval = execution_interval if @job
      self
    end

    def with_options(options)
      @options = options
      self
    end
  end

  def self.perform(performer, *job_args)
    PerformerProxy.new(performer, Crono.scheduler, job_args)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
crono-1.1.2 lib/crono/performer_proxy.rb
crono-1.1.1 lib/crono/performer_proxy.rb
crono-1.1.0 lib/crono/performer_proxy.rb