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



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

def initialize
  @resource_injector = ResourceInjector.new
end

Instance Attribute Details

#resource_injectorResourceInjector

Returns:



28
29
30
# File 'lib/synapse/process_manager/process_factory.rb', line 28

def resource_injector
  @resource_injector
end

Instance Method Details

#create(process_type) ⇒ Process

Parameters:

  • process_type (Class)

Returns:



37
38
39
40
41
42
# File 'lib/synapse/process_manager/process_factory.rb', line 37

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)


46
47
48
49
# File 'lib/synapse/process_manager/process_factory.rb', line 46

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