Class: R509::Config::CAConfigPool

Inherits:
Object
  • Object
show all
Defined in:
lib/r509/config/ca_config.rb

Overview

pool of configs, so we can support multiple CAs from a single config file

Class Method Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (CAConfigPool) initialize(configs)

A new instance of CAConfigPool

Parameters:

  • configs (Hash)

    a customizable set of options

Options Hash (configs):



19
20
21
# File 'lib/r509/config/ca_config.rb', line 19

def initialize(configs)
  @configs = configs
end

Class Method Details

+ (Object) from_yaml(name, yaml_data, opts = {})

Loads the named configuration config from a yaml string.

Parameters:

  • name (String)

    The name of the config within the file. Note that a single yaml file can contain more than one configuration.

  • yaml_data (String)

    The filename to load yaml config data from.



52
53
54
55
56
57
58
59
# File 'lib/r509/config/ca_config.rb', line 52

def self.from_yaml(name, yaml_data, opts = {})
  conf = YAML.load(yaml_data)
  configs = {}
  conf[name].each_pair do |ca_name, data|
    configs[ca_name] = R509::Config::CAConfig.load_from_hash(data, opts)
  end
  R509::Config::CAConfigPool.new(configs)
end

Instance Method Details

- (Object) [](name)

retrieve a particular config by its name



29
30
31
# File 'lib/r509/config/ca_config.rb', line 29

def [](name)
  @configs[name]
end

- (Object) all

A list of all the configs in this pool

Returns:

  • a list of all the configs in this pool



34
35
36
# File 'lib/r509/config/ca_config.rb', line 34

def all
  @configs.values
end

- (Object) names

get all the config names



24
25
26
# File 'lib/r509/config/ca_config.rb', line 24

def names
  @configs.keys
end

- (Hash) to_h

Returns:

  • (Hash)


39
40
41
# File 'lib/r509/config/ca_config.rb', line 39

def to_h
  @configs.merge(@configs) { |k,v| v.to_h }
end

- (YAML) to_yaml

Returns:

  • (YAML)


44
45
46
# File 'lib/r509/config/ca_config.rb', line 44

def to_yaml
  self.to_h.to_yaml
end