Module: Ductwork

Defined in:
lib/ductwork.rb,
lib/ductwork/cli.rb,
lib/ductwork/engine.rb,
lib/ductwork/testing.rb,
lib/ductwork/version.rb,
app/models/ductwork/job.rb,
app/models/ductwork/run.rb,
app/models/ductwork/step.rb,
app/models/ductwork/record.rb,
app/models/ductwork/result.rb,
lib/ductwork/configuration.rb,
app/models/ductwork/process.rb,
app/models/ductwork/pipeline.rb,
lib/ductwork/running_context.rb,
lib/ductwork/testing/helpers.rb,
app/models/ductwork/execution.rb,
lib/ductwork/testing/minitest.rb,
lib/ductwork/dsl/branch_builder.rb,
lib/ductwork/machine_identifier.rb,
app/models/ductwork/availability.rb,
lib/ductwork/processes/job_worker.rb,
lib/ductwork/processes/supervisor.rb,
lib/ductwork/dsl/definition_builder.rb,
lib/ductwork/processes/job_worker_runner.rb,
lib/ductwork/processes/pipeline_advancer.rb,
lib/ductwork/processes/supervisor_runner.rb,
lib/ductwork/processes/pipeline_advancer_runner.rb,
lib/generators/ductwork/install/install_generator.rb

Defined Under Namespace

Modules: DSL, Processes, Testing Classes: Availability, CLI, Configuration, Engine, Execution, InstallGenerator, Job, MachineIdentifier, Pipeline, Process, Record, Result, Run, RunningContext, Step

Constant Summary collapse

VERSION =
"0.5.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.app_executorObject

Returns the value of attribute app_executor.



22
23
24
# File 'lib/ductwork.rb', line 22

def app_executor
  @app_executor
end

.configurationObject

Returns the value of attribute configuration.



22
23
24
# File 'lib/ductwork.rb', line 22

def configuration
  @configuration
end

.defined_pipelinesObject



65
66
67
# File 'lib/ductwork.rb', line 65

def defined_pipelines
  @defined_pipelines ||= []
end

.hooksObject



33
34
35
36
37
38
39
# File 'lib/ductwork.rb', line 33

def hooks
  @hooks ||= {
    supervisor: { start: [], stop: [] },
    advancer: { start: [], stop: [] },
    worker: { start: [], stop: [] },
  }
end

.loggerObject

Returns the value of attribute logger.



22
23
24
# File 'lib/ductwork.rb', line 22

def logger
  @logger
end

Class Method Details

.on_advancer_start(&block) ⇒ Object



49
50
51
# File 'lib/ductwork.rb', line 49

def on_advancer_start(&block)
  add_lifecycle_hook(:advancer, :start, block)
end

.on_advancer_stop(&block) ⇒ Object



53
54
55
# File 'lib/ductwork.rb', line 53

def on_advancer_stop(&block)
  add_lifecycle_hook(:advancer, :stop, block)
end

.on_supervisor_start(&block) ⇒ Object



41
42
43
# File 'lib/ductwork.rb', line 41

def on_supervisor_start(&block)
  add_lifecycle_hook(:supervisor, :start, block)
end

.on_supervisor_stop(&block) ⇒ Object



45
46
47
# File 'lib/ductwork.rb', line 45

def on_supervisor_stop(&block)
  add_lifecycle_hook(:supervisor, :stop, block)
end

.on_worker_start(&block) ⇒ Object



57
58
59
# File 'lib/ductwork.rb', line 57

def on_worker_start(&block)
  add_lifecycle_hook(:worker, :start, block)
end

.on_worker_stop(&block) ⇒ Object



61
62
63
# File 'lib/ductwork.rb', line 61

def on_worker_stop(&block)
  add_lifecycle_hook(:worker, :stop, block)
end

.wrap_with_app_executor(&block) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/ductwork.rb', line 25

def wrap_with_app_executor(&block)
  if app_executor.present?
    app_executor.wrap(&block)
  else
    yield
  end
end