Class: LcpRuby::BackgroundJobs::HandlerFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/lcp_ruby/background_jobs/handler_factory.rb

Class Method Summary collapse

Class Method Details

.build(definition, execution) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/lcp_ruby/background_jobs/handler_factory.rb', line 4

def self.build(definition, execution)
  if definition.multi_step?
    StepsExecutor.new(execution, definition)
  elsif definition.class_handler?
    build_class_handler(definition, execution)
  elsif definition.declarative_handler?
    build_declarative_handler(definition, execution)
  else
    raise HandlerClassNotFoundError, "Cannot determine handler type for job '#{definition.name}'"
  end
end