module ChefAPI::Configurable

A re-usable class containing configuration information for the {Connection}. See {Defaults} for a list of default values.

Public Class Methods

keys() click to toggle source

The list of configurable keys.

@return [Array<Symbol>]

# File lib/chef-api/configurable.rb, line 13
def keys
  @keys ||= %i{
    endpoint
    flavor
    client
    key
    proxy_address
    proxy_password
    proxy_port
    proxy_username
    ssl_pem_file
    ssl_verify
    user_agent
    read_timeout
  }
end

Public Instance Methods

configure() { |self| ... } click to toggle source

Set the configuration for this config, using a block.

@example Configure the API endpoint

ChefAPI.configure do |config|
  config.endpoint = "http://www.my-ChefAPI-server.com/ChefAPI"
end
# File lib/chef-api/configurable.rb, line 46
def configure
  yield self
end
reset!() click to toggle source

Reset all configuration options to their default values.

@example Reset all settings

ChefAPI.reset!

@return [self]

# File lib/chef-api/configurable.rb, line 58
def reset!
  ChefAPI::Configurable.keys.each do |key|
    instance_variable_set(:"@#{key}", Defaults.options[key])
  end
  self
end
Also aliased as: setup
setup()
Alias for: reset!

Private Instance Methods

options() click to toggle source

The list of configurable keys, as an options hash.

@return [Hash]

# File lib/chef-api/configurable.rb, line 73
def options
  map = ChefAPI::Configurable.keys.map do |key|
    [key, instance_variable_get(:"@#{key}")]
  end
  Hash[map]
end