class NodeSpec::ConfigurationBinding

Constants

BACKEND_ACTIONS

Public Class Methods

new(configuration) click to toggle source
# File lib/nodespec/configuration_binding.rb, line 17
def initialize(configuration)
  @configuration = configuration
end

Public Instance Methods

unbind_ssh_session() click to toggle source
# File lib/nodespec/configuration_binding.rb, line 27
def unbind_ssh_session
  if @configuration.ssh
    msg = "\nClosing connection to #{@configuration.ssh.host}"
    msg << ":#{@configuration.ssh.options[:port]}" if @configuration.ssh.options[:port]
    verbose_puts msg
    @configuration.ssh.close
  end
  @configuration.ssh = @configuration.ssh_options = @configuration.host =nil
end
unbind_winrm_session() click to toggle source
# File lib/nodespec/configuration_binding.rb, line 37
def unbind_winrm_session
  verbose_puts "\nClosing connection to #{@configuration.winrm.endpoint}" if @configuration.winrm
  @configuration.winrm = @configuration.host = nil
end

Private Instance Methods

bind_session_for(backend, params) { || ... } click to toggle source
# File lib/nodespec/configuration_binding.rb, line 44
def bind_session_for(backend, params)
  current_session = @configuration.send(backend)
  if current_session.nil? || BACKEND_ACTIONS[backend][:diff_session].call(current_session, params)
    send("unbind_#{backend}_session")
    current_session = yield
    @configuration.send("#{backend}=", current_session)
    @configuration.host = params[:host]
    BACKEND_ACTIONS[backend][:bind_attributes].call(current_session, @configuration) if BACKEND_ACTIONS[backend][:bind_attributes]
  end
  current_session
end