Module Net::SSH::Service::Process
In: lib/net/ssh/service/process/driver.rb
lib/net/ssh/service/process/open.rb
lib/net/ssh/service/process/popen3.rb
lib/net/ssh/service/process/services.rb

Methods

Classes and Modules

Class Net::SSH::Service::Process::Driver
Class Net::SSH::Service::Process::OpenManager
Class Net::SSH::Service::Process::POpen3Manager

Public Instance methods

Register all services pertaining to the management of remote processes.

[Source]

    # File lib/net/ssh/service/process/services.rb, line 24
24:         def register_services( container )
25: 
26:           # All process management services are registered in their own
27:           # namespace.
28:           container.namespace_define :process do |ns|
29: 
30:             # The :open_manager service returns a proc object that can be used
31:             # to create new OpenManager instances for a given command.
32:             ns.open_manager do |c,p|
33:               require 'net/ssh/service/process/open'
34:               connection = c[:connection][:driver]
35:               log = c[:log_for, p]
36:               lambda { |cmd| OpenManager.new( connection, log, cmd ) }
37:             end
38: 
39:             # The :popen3_manager service returns a new POpen3Manager instance
40:             # for managing the execution of commands with a popen3-type
41:             # interface.
42:             ns.popen3_manager do |c,p|
43:               require 'net/ssh/service/process/popen3'
44:               connection = c[:connection][:driver]
45:               log = c[:log_for, p]
46:               POpen3Manager.new( connection, log )
47:             end
48: 
49:             # The :driver controls access to all remote process management
50:             # services.
51:             ns.driver do |c,p|
52:               require 'net/ssh/service/process/driver'
53:               Driver.new( c[:connection][:driver],
54:                           c[:log_for, p],
55:                           :open => c[:open_manager],
56:                           :popen3 => c[:popen3_manager] )
57:             end
58: 
59:           end
60:         end

[Validate]