Sha256: 1a30082a5ec89bdc8fc8b4ee627d9741f0dbee3e87b92da088e3f1ea875011d0
Contents?: true
Size: 829 Bytes
Versions: 25
Compression:
Stored size: 829 Bytes
Contents
module SSHKit class Coordinator attr_accessor :hosts def initialize(raw_hosts) @raw_hosts = Array(raw_hosts) raise NoValidHosts unless Array(raw_hosts).any? resolve_hosts! end def each(options={}, &block) options = default_options.merge(options) case options[:in] when :parallel then Runner::Parallel when :sequence then Runner::Sequential when :groups then Runner::Group else raise RuntimeError, "Don't know how to handle run style #{options[:in].inspect}" end.new(hosts, &block).execute end private attr_accessor :cooldown def default_options { in: :parallel } end def resolve_hosts! @hosts = @raw_hosts.collect { |rh| rh.is_a?(Host) ? rh : Host.new(rh) }.uniq end end end
Version data entries
25 entries across 25 versions & 1 rubygems