Class Net::SSH::Multi::Subsession
In: lib/net/ssh/multi/subsession.rb
Parent: Object

A trivial class for representing a subset of servers. It is used internally for restricting operations to a subset of all defined servers.

  subsession = session.with(:app)
  subsession.exec("hostname")

Methods

first   new   slice  

Included Modules

SessionActions

Attributes

master  [R]  The master session that spawned this subsession.
servers  [R]  The list of servers that this subsession can operate on.

Public Class methods

Create a new subsession of the given master session, that operates on the given server_list.

[Source]

    # File lib/net/ssh/multi/subsession.rb, line 22
22:     def initialize(master, server_list)
23:       @master  = master
24:       @servers = server_list.uniq
25:     end

Public Instance methods

Returns a new subsession that consists of only the first server in the server list of the current subsession. This is just convenience for slice(0):

  s1 = subsession.first

[Source]

    # File lib/net/ssh/multi/subsession.rb, line 43
43:     def first
44:       slice(0)
45:     end

Works as Array#slice, but returns a new subsession consisting of the given slice of servers in this subsession. The new subsession will have the same master session as this subsession does.

  s1 = subsession.slice(0)
  s2 = subsession.slice(3, -1)
  s3 = subsession.slice(1..4)

[Source]

    # File lib/net/ssh/multi/subsession.rb, line 34
34:     def slice(*args)
35:       Subsession.new(master, Array(servers.slice(*args)))
36:     end

[Validate]