lib/nonnative/pool.rb in nonnative-1.43.0 vs lib/nonnative/pool.rb in nonnative-1.44.0
- old
+ new
@@ -15,26 +15,30 @@
[processes, servers].each { |t| process(t, :stop, :closed?, &block) }
services.each(&:stop)
end
def process_by_name(name)
- index = configuration.processes.find_index { |s| s.name == name }
- processes[index].first
+ processes[runner_index(configuration.processes, name)].first
end
def server_by_name(name)
- index = configuration.servers.find_index { |s| s.name == name }
- servers[index].first
+ servers[runner_index(configuration.servers, name)].first
end
def service_by_name(name)
- index = configuration.services.find_index { |s| s.name == name }
- services[index]
+ services[runner_index(configuration.services, name)]
end
private
attr_reader :configuration
+
+ def runner_index(runners, name)
+ index = runners.find_index { |s| s.name == name }
+ raise NotFoundError, "Could not find runner with name '#{name}'" if index.nil?
+
+ index
+ end
def processes
@processes ||= configuration.processes.map do |p|
[Nonnative::Process.new(p), Nonnative::Port.new(p)]
end