Class: ProcessHost::Host
- Inherits:
-
Object
- Object
- ProcessHost::Host
- Defined in:
- lib/process_host/host.rb
Defined Under Namespace
Modules: Assertions
Instance Attribute Summary collapse
-
#component_names ⇒ Object
readonly
Returns the value of attribute component_names.
-
#supervisor ⇒ Object
readonly
Returns the value of attribute supervisor.
Class Method Summary collapse
Instance Method Summary collapse
- #component(component_class) ⇒ Object
- #components ⇒ Object
-
#initialize(supervisor, component_names) ⇒ Host
constructor
A new instance of Host.
Constructor Details
#initialize(supervisor, component_names) ⇒ Host
Returns a new instance of Host.
6 7 8 9 |
# File 'lib/process_host/host.rb', line 6 def initialize supervisor, component_names @component_names = component_names @supervisor = supervisor end |
Instance Attribute Details
#component_names ⇒ Object (readonly)
Returns the value of attribute component_names.
3 4 5 |
# File 'lib/process_host/host.rb', line 3 def component_names @component_names end |
#supervisor ⇒ Object (readonly)
Returns the value of attribute supervisor.
4 5 6 |
# File 'lib/process_host/host.rb', line 4 def supervisor @supervisor end |
Class Method Details
.build(env = nil, supervisor: nil, &block) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/process_host/host.rb', line 11 def self.build env=nil, supervisor: nil, &block env ||= ENV supervisor ||= Actor::Supervisor.new component_names = Component::NameList.get env instance = new supervisor, component_names instance.instance_exec supervisor, &block instance end |
Instance Method Details
#component(component_class) ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/process_host/host.rb', line 23 def component component_class return unless component_names.include? component_class.name component = component_class.start supervisor components << component component end |
#components ⇒ Object
31 32 33 |
# File 'lib/process_host/host.rb', line 31 def components @components ||= Set.new end |