Class: Kitchen::Provisioner::Base

Inherits:
Object
  • Object
show all
Includes:
Logging
Defined in:
lib/kitchen/provisioner/base.rb

Overview

Base class for a provisioner.

Author:

Direct Known Subclasses

ChefBase, Dummy

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config = {}) ⇒ Base

Returns a new instance of Base.



34
35
36
37
38
39
# File 'lib/kitchen/provisioner/base.rb', line 34

def initialize(config = {})
  @config = LazyHash.new(config, self)
  self.class.defaults.each do |attr, value|
    @config[attr] = value unless @config.has_key?(attr)
  end
end

Instance Attribute Details

#instanceObject

Returns the value of attribute instance.



32
33
34
# File 'lib/kitchen/provisioner/base.rb', line 32

def instance
  @instance
end

Instance Method Details

#[](attr) ⇒ Object

Provides hash-like access to configuration keys.

Parameters:

  • attr (Object)

    configuration key

Returns:

  • (Object)

    value at configuration key



52
53
54
# File 'lib/kitchen/provisioner/base.rb', line 52

def [](attr)
  config[attr]
end

#cleanup_sandboxObject



73
# File 'lib/kitchen/provisioner/base.rb', line 73

def cleanup_sandbox ; end

#config_keysArray

Returns an array of configuration keys.

Returns:

  • (Array)

    array of configuration keys



59
60
61
# File 'lib/kitchen/provisioner/base.rb', line 59

def config_keys
  config.keys
end

#create_sandboxObject



67
# File 'lib/kitchen/provisioner/base.rb', line 67

def create_sandbox ; end

#diagnoseHash

Returns a Hash of configuration and other useful diagnostic information.

Returns:

  • (Hash)

    a diagnostic hash



78
79
80
81
82
# File 'lib/kitchen/provisioner/base.rb', line 78

def diagnose
  result = Hash.new
  config_keys.sort.each { |k| result[k] = config[k] }
  result
end

#init_commandObject



65
# File 'lib/kitchen/provisioner/base.rb', line 65

def init_command ; end

#install_commandObject



63
# File 'lib/kitchen/provisioner/base.rb', line 63

def install_command ; end

#nameString

Returns the name of this driver, suitable for display in a CLI.

Returns:

  • (String)

    name of this driver



44
45
46
# File 'lib/kitchen/provisioner/base.rb', line 44

def name
  self.class.name.split('::').last
end

#prepare_commandObject



69
# File 'lib/kitchen/provisioner/base.rb', line 69

def prepare_command ; end

#run_commandObject



71
# File 'lib/kitchen/provisioner/base.rb', line 71

def run_command ; end