class SimpleProvision::Configuration

Constants

MissingServerConfiguration
MissingServerType

Attributes

options[R]
profile[R]

Public Class Methods

new(profile) click to toggle source
# File lib/simple_provision/configuration.rb, line 12
def initialize(profile)
  @profile = profile

  read_and_parse_server_options
end

Private Instance Methods

default_file() click to toggle source
# File lib/simple_provision/configuration.rb, line 36
def default_file
  "provision/servers/default.yml"
end
default_options() click to toggle source
# File lib/simple_provision/configuration.rb, line 20
def default_options
  begin
    YAML.load(ERB.new(File.read(default_file)).result)
  rescue Errno::ENOENT
    {}
  end
end
read_and_parse_server_options() click to toggle source
# File lib/simple_provision/configuration.rb, line 44
def read_and_parse_server_options
  options_string_hash = default_options.merge(server_options)
  @options = Hash[options_string_hash.map{ |(k,v)| [k.to_sym, v] }]
end
server_file() click to toggle source
# File lib/simple_provision/configuration.rb, line 40
def server_file
  "provision/servers/#{profile}.yml"
end
server_options() click to toggle source
# File lib/simple_provision/configuration.rb, line 28
def server_options
  begin
    YAML.load(ERB.new(File.read(server_file)).result)
  rescue Errno::ENOENT
    raise MissingServerConfiguration, "Please create a configuration file at '#{server_file}'"
  end
end