Class: Synapse::ProcessManager::GenericProcessFactory
- Inherits:
-
ProcessFactory
- Object
- ProcessFactory
- Synapse::ProcessManager::GenericProcessFactory
- 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
- #create(process_type) ⇒ Process
- #initialize ⇒ undefined constructor
- #supports(process_type) ⇒ Boolean
Constructor Details
#initialize ⇒ undefined
31 32 33 |
# File 'lib/synapse/process_manager/process_factory.rb', line 31 def initialize @resource_injector = ResourceInjector.new end |
Instance Attribute Details
#resource_injector ⇒ ResourceInjector
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
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
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 |