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

#resetObject



31
32
33
34
35
# File 'lib/nonnative/pool.rb', line 31

def reset
  services.each { |s| s.proxy.reset }
  servers.each { |s| s.first.proxy.reset }
  processes.each { |p| p.first.proxy.reset }
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

#startObject



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

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

#stopObject



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

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