# File lib/net/ssh/multi/session.rb, line 213 def group(*args) mapping = args.last.is_a?(Hash) ? args.pop : {} if mapping.any? && block_given? raise ArgumentError, "must provide group mapping OR block, not both" elsif block_given? begin saved_groups = open_groups.dup open_groups.concat(args.map { |a| a.to_sym }).uniq! yield self ensure open_groups.replace(saved_groups) end else mapping.each do |key, value| (open_groups + Array(key)).uniq.each do |grp| groups[grp.to_sym].concat(Array(value)) end end end end