Class: Synapse::ProcessManager::GenericProcessFactory

Inherits:
ProcessFactory
  • Object
show all
Defined in:
lib/synapse/process_manager/process_factory.rb

Overview

Generic implementation of a process factory that supports any process implementations that have a no-argument constructor

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeundefined



35
36
37
# File 'lib/synapse/process_manager/process_factory.rb', line 35

def initialize
  @resource_injector = ResourceInjector.new
end

Instance Attribute Details

#resource_injectorResourceInjector

Returns:



32
33
34
# File 'lib/synapse/process_manager/process_factory.rb', line 32

def resource_injector
  @resource_injector
end

Instance Method Details

#create(process_type) ⇒ Process

Parameters:

  • process_type (Class)

Returns:



41
42
43
44
45
46
# File 'lib/synapse/process_manager/process_factory.rb', line 41

def create(process_type)
  process = process_type.new
  process.tap do
    @resource_injector.inject_resources process
  end
end

#supports(process_type) ⇒ Boolean

Parameters:

  • process_type (Class)

Returns:

  • (Boolean)


50
51
52
53
# File 'lib/synapse/process_manager/process_factory.rb', line 50

def supports(process_type)
  ctor = process_type.instance_method :initialize
  ctor.arity <= 0
end