class FuckingShellScripts::Configuration
Constants
- MissingCloudConfiguration
- MissingServerConfiguration
- MissingServerType
Attributes
options[R]
Public Class Methods
new(command_line_options = {})
click to toggle source
# File lib/fucking_shell_scripts/configuration.rb, line 12 def initialize(command_line_options = {}) @command_line_options = command_line_options read_and_parse_server_options raise MissingServerType, "Please specify a type of server you want to create using the --type option" unless options[:type] raise MissingCloudConfiguration, "Please specify settings for your provider per http://fog.io/about/provider_documentation.html" unless options[:cloud] end
Private Instance Methods
default_options()
click to toggle source
# File lib/fucking_shell_scripts/configuration.rb, line 23 def default_options begin YAML.load(ERB.new(File.read('servers/defaults.yml')).result) rescue Errno::ENOENT {} end end
read_and_parse_server_options()
click to toggle source
# File lib/fucking_shell_scripts/configuration.rb, line 43 def read_and_parse_server_options options_string_hash = default_options.merge(server_options).merge(@command_line_options) @options = options_string_hash.symbolize_keys_deep! end
server_file()
click to toggle source
# File lib/fucking_shell_scripts/configuration.rb, line 39 def server_file "servers/#{type}.yml" end
server_options()
click to toggle source
# File lib/fucking_shell_scripts/configuration.rb, line 31 def server_options begin YAML.load(ERB.new(File.read(server_file)).result) rescue Errno::ENOENT raise MissingServerConfiguration, "Please create a configuration file './servers/#{type}.yml'" end end
type()
click to toggle source
# File lib/fucking_shell_scripts/configuration.rb, line 48 def type @command_line_options[:type] end