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
35 36 37 |
# File 'lib/synapse/process_manager/process_factory.rb', line 35 def initialize @resource_injector = ResourceInjector.new end |
Instance Attribute Details
#resource_injector ⇒ ResourceInjector
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
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
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 |