Module: Minestrone::Configuration::Connections
- Included in:
- Minestrone::Configuration
- Defined in:
- lib/minestrone/configuration/connections.rb
Instance Attribute Summary collapse
-
#session ⇒ Object
Returns the value of attribute session.
Instance Method Summary collapse
-
#connect! ⇒ Object
Used to force a connection to be made to the current task’s server.
-
#establish_connection_to_server ⇒ Object
Ensures that there is an active session for the server.
-
#execute_on_server ⇒ Object
Determines the configured server, establishes a connection to it, and yields to the command and transfer layers.
-
#initialize_connections ⇒ Object
:nodoc:.
Instance Attribute Details
#session ⇒ Object
Returns the value of attribute session.
9 10 11 |
# File 'lib/minestrone/configuration/connections.rb', line 9 def session @session end |
Instance Method Details
#connect! ⇒ Object
Used to force a connection to be made to the current task’s server. Connections are normally made lazily in Minestrone–you can use this to force them open before performing some operation that might be time-sensitive.
21 22 23 |
# File 'lib/minestrone/configuration/connections.rb', line 21 def connect! establish_connection_to_server end |
#establish_connection_to_server ⇒ Object
Ensures that there is an active session for the server.
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/minestrone/configuration/connections.rb', line 27 def establish_connection_to_server return if @session server = resolved_server @session = SSH.connect(server, self) rescue Exception => err raise err unless server error = ConnectionError.new("connection failed for: #{server} (#{err.class}: #{err.})") error.host = server raise error end |
#execute_on_server ⇒ Object
Determines the configured server, establishes a connection to it, and yields to the command and transfer layers.
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/minestrone/configuration/connections.rb', line 43 def execute_on_server raise ArgumentError, "expected a block" unless block_given? task = current_task return if task && task.continue_on_error? && @failed begin establish_connection_to_server rescue ConnectionError => error raise error unless task && task.continue_on_error? @failed = true return end begin yield rescue RemoteError => error raise error unless task && task.continue_on_error? @failed = true end end |
#initialize_connections ⇒ Object
:nodoc:
11 12 13 14 |
# File 'lib/minestrone/configuration/connections.rb', line 11 def initialize_connections #:nodoc: @session = nil @failed = false end |