Class: Wheneverd::Entry

Inherits:
Object
  • Object
show all
Defined in:
lib/wheneverd/entry.rb

Overview

A single scheduled unit of work.

An entry ties together a trigger (when to run) and one or more jobs (what to run).

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(trigger:, jobs: []) ⇒ Entry

Returns a new instance of Entry.

Parameters:

  • trigger (Object)

    a trigger object describing when to run

  • jobs (Array<Object>) (defaults to: [])

    job objects (usually Job::Command)

Raises:

  • (ArgumentError)


13
14
15
16
17
18
# File 'lib/wheneverd/entry.rb', line 13

def initialize(trigger:, jobs: [])
  raise ArgumentError, "trigger is required" if trigger.nil?

  @trigger = trigger
  @jobs = jobs.dup
end

Instance Attribute Details

#jobsWheneverd::Trigger::Interval, ... (readonly)



9
10
11
# File 'lib/wheneverd/entry.rb', line 9

def jobs
  @jobs
end

#triggerWheneverd::Trigger::Interval, ... (readonly)



9
10
11
# File 'lib/wheneverd/entry.rb', line 9

def trigger
  @trigger
end

Instance Method Details

#add_job(job) ⇒ Entry

Append a job to the entry.

Parameters:

  • job (Object)

Returns:



24
25
26
27
# File 'lib/wheneverd/entry.rb', line 24

def add_job(job)
  jobs << job
  self
end