Sha256: d3b8d2bba845f2f793cc6b57cca7f90201f471e2b6e74fc92108ba26327199aa
Contents?: true
Size: 837 Bytes
Versions: 1
Compression:
Stored size: 837 Bytes
Contents
module SSHKit class Coordinator attr_accessor :hosts def initialize(raw_hosts) @raw_hosts = Array(raw_hosts) raise SSHKit::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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sshkit-0.0.32 | lib/sshkit/coordinator.rb |