Class: Nonnative::Pool

Inherits:
Object
  • Object
show all
Defined in:
lib/nonnative/pool.rb

Instance Method Summary collapse

Constructor Details

#initialize(configuration) ⇒ Pool

Returns a new instance of Pool.



5
6
7
# File 'lib/nonnative/pool.rb', line 5

def initialize(configuration)
  @configuration = configuration
end

Instance Method Details

#process_by_name(name) ⇒ Object



19
20
21
# File 'lib/nonnative/pool.rb', line 19

def process_by_name(name)
  processes[runner_index(configuration.processes, name)].first
end

#server_by_name(name) ⇒ Object



23
24
25
# File 'lib/nonnative/pool.rb', line 23

def server_by_name(name)
  servers[runner_index(configuration.servers, name)].first
end

#service_by_name(name) ⇒ Object



27
28
29
# File 'lib/nonnative/pool.rb', line 27

def service_by_name(name)
  services[runner_index(configuration.services, name)]
end

#start(&block) ⇒ Object



9
10
11
12
# File 'lib/nonnative/pool.rb', line 9

def start(&block)
  services.each(&:start)
  [servers, processes].each { |t| process(t, :start, :open?, &block) }
end

#stop(&block) ⇒ Object



14
15
16
17
# File 'lib/nonnative/pool.rb', line 14

def stop(&block)
  [processes, servers].each { |t| process(t, :stop, :closed?, &block) }
  services.each(&:stop)
end