Class: NodeSpec::ConfigurationBinding

Inherits:
Object
  • Object
show all
Includes:
VerboseOutput
Defined in:
lib/nodespec/configuration_binding.rb

Constant Summary collapse

BACKEND_ACTIONS =
{
  ssh: {
    diff_session: lambda { |ssh, params| ssh.host != params[:host] || ssh.options[:port] != params[:port] },
    bind_attributes: lambda { |ssh, config| config.ssh_options = ssh.options }
  },
  winrm: {
    diff_session: lambda { |winrm, params| winrm.endpoint != params[:endpoint] }
  }
}

Instance Method Summary collapse

Methods included from VerboseOutput

#verbose_puts

Constructor Details

#initialize(configuration) ⇒ ConfigurationBinding

Returns a new instance of ConfigurationBinding.



17
18
19
# File 'lib/nodespec/configuration_binding.rb', line 17

def initialize(configuration)
  @configuration = configuration
end

Instance Method Details

#unbind_ssh_sessionObject



27
28
29
30
31
32
33
34
35
# 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_sessionObject



37
38
39
40
# 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