Class: JobWorkflow::HookRegistry

Inherits:
Object
  • Object
show all
Defined in:
lib/job_workflow/hook_registry.rb

Instance Method Summary collapse

Constructor Details

#initializeHookRegistry

: () -> void



6
7
8
9
10
11
# File 'lib/job_workflow/hook_registry.rb', line 6

def initialize
  self.before_hooks = [] #: Array[Hook]
  self.after_hooks = [] #: Array[Hook]
  self.around_hooks = [] #: Array[Hook]
  self.error_hooks = [] #: Array[ErrorHook]
end

Instance Method Details

#add_after_hook(task_names:, block:) ⇒ Object

: (task_names: Array, block: ^(Context, ?TaskCallable) -> void) -> void



19
20
21
# File 'lib/job_workflow/hook_registry.rb', line 19

def add_after_hook(task_names:, block:)
  after_hooks << Hook.new(task_names:, block:)
end

#add_around_hook(task_names:, block:) ⇒ Object

: (task_names: Array, block: ^(Context, ?TaskCallable) -> void) -> void



24
25
26
# File 'lib/job_workflow/hook_registry.rb', line 24

def add_around_hook(task_names:, block:)
  around_hooks << Hook.new(task_names:, block:)
end

#add_before_hook(task_names:, block:) ⇒ Object

: (task_names: Array, block: ^(Context, ?TaskCallable) -> void) -> void



14
15
16
# File 'lib/job_workflow/hook_registry.rb', line 14

def add_before_hook(task_names:, block:)
  before_hooks << Hook.new(task_names:, block:)
end

#add_error_hook(task_names:, block:) ⇒ Object

: (task_names: Array, block: ^(Context, StandardError, Task) -> void) -> void



29
30
31
# File 'lib/job_workflow/hook_registry.rb', line 29

def add_error_hook(task_names:, block:)
  error_hooks << ErrorHook.new(task_names:, block:)
end

#after_hooks_for(task_name) ⇒ Object

: (Symbol) -> Array



39
40
41
# File 'lib/job_workflow/hook_registry.rb', line 39

def after_hooks_for(task_name)
  hooks_for(after_hooks, task_name)
end

#around_hooks_for(task_name) ⇒ Object

: (Symbol) -> Array



44
45
46
# File 'lib/job_workflow/hook_registry.rb', line 44

def around_hooks_for(task_name)
  hooks_for(around_hooks, task_name)
end

#before_hooks_for(task_name) ⇒ Object

: (Symbol) -> Array



34
35
36
# File 'lib/job_workflow/hook_registry.rb', line 34

def before_hooks_for(task_name)
  hooks_for(before_hooks, task_name)
end

#error_hooks_for(task_name) ⇒ Object

: (Symbol) -> Array



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

def error_hooks_for(task_name)
  hooks_for(error_hooks, task_name)
end