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