Module: TimeLine

Defined in:
lib/arbi/timeline.rb

Defined Under Namespace

Classes: Job

Class Method Summary collapse

Class Method Details

.register(job) ⇒ Object

Raises:

  • (ArgumentError)


52
53
54
55
56
# File 'lib/arbi/timeline.rb', line 52

def register(job)
  raise ArgumentError, "job must be a TimeLine::Job" unless job.is_a?(TimeLine::Job)
  @@jobs ||= []
  @@jobs << job
end

.runObject



58
59
60
61
62
63
64
65
66
67
68
# File 'lib/arbi/timeline.rb', line 58

def run
  @@jobs ||= []
  @@jobs.each {|job|
    EventMachine::PeriodicTimer.new(job.every) do
      timeout(job.timeout) {
        job.proc.call
      }
    end
  }
  self
end