Class: Kitchen::Transport::Base
- Inherits:
-
Object
- Object
- Kitchen::Transport::Base
- Includes:
- Configurable, Logging
- Defined in:
- lib/kitchen/transport/base.rb
Overview
Base class for a transport.
Defined Under Namespace
Classes: Connection
Instance Attribute Summary
Attributes included from Configurable
Class Method Summary collapse
-
.kitchen_transport_api_version(version) ⇒ Object
Sets the API version for this transport.
Instance Method Summary collapse
-
#cleanup! ⇒ void
Closes the connection, if it is still active.
-
#connection(state) ⇒ Connection
Creates a new Connection, configured by a merging of configuration and state data.
-
#initialize(config = {}) ⇒ Base
constructor
Create a new transport by providing a configuration hash.
Methods included from Logging
#banner, #debug, #error, #fatal, #info, #warn
Methods included from Configurable
#[], #bourne_shell?, #calculate_path, #config_keys, #diagnose, #diagnose_plugin, #finalize_config!, included, #name, #powershell_shell?, #remote_path_join, #unix_os?, #verify_dependencies, #windows_os?
Constructor Details
#initialize(config = {}) ⇒ Base
Create a new transport by providing a configuration hash.
49 50 51 |
# File 'lib/kitchen/transport/base.rb', line 49 def initialize(config = {}) init_config(config) end |
Class Method Details
.kitchen_transport_api_version(version) ⇒ Object
Sets the API version for this transport. If the transport does not set this value, then nil
will be used and reported.
Sets the API version for this transport
204 205 206 |
# File 'lib/kitchen/transport/base.rb', line 204 def self.kitchen_transport_api_version(version) @api_version = version end |
Instance Method Details
#cleanup! ⇒ void
This method returns an undefined value.
Closes the connection, if it is still active.
69 70 71 |
# File 'lib/kitchen/transport/base.rb', line 69 def cleanup! # This method may be left unimplemented if that is applicable end |
#connection(state) ⇒ Connection
Creates a new Connection, configured by a merging of configuration and state data. Depending on the implementation, the Connection could be saved or cached to speed up multiple calls, given the same state hash as input.
rubocop:disable Lint/UnusedMethodArgument
62 63 64 |
# File 'lib/kitchen/transport/base.rb', line 62 def connection(state) raise ClientError, "#{self.class}#connection must be implemented" end |