class Soyuz::Config
Public Class Methods
new(config_file)
click to toggle source
# File lib/soyuz/config.rb, line 9 def initialize(config_file) @config_file = config_file end
Public Instance Methods
check()
click to toggle source
# File lib/soyuz/config.rb, line 13 def check validate! puts "Config file is valid. We are go for launch." end
environments()
click to toggle source
# File lib/soyuz/config.rb, line 22 def environments @environments ||= config_data[:environments].map{|attributes| Environment.new(attributes, defaults) } if config_data[:environments] @environments ||= [] end
validate!()
click to toggle source
# File lib/soyuz/config.rb, line 18 def validate! raise InvalidConfig, "Your config file is invalid" unless valid? end
Private Instance Methods
config_data()
click to toggle source
# File lib/soyuz/config.rb, line 33 def config_data @config_data ||= load_config end
defaults()
click to toggle source
# File lib/soyuz/config.rb, line 29 def defaults config_data[:defaults] || {} end
load_config()
click to toggle source
# File lib/soyuz/config.rb, line 37 def load_config symbolize_keys(SafeYAML.load_file(@config_file)) end
valid?()
click to toggle source
# File lib/soyuz/config.rb, line 41 def valid? File.exists?(@config_file) && config_data.is_a?(Hash) environments.all?{|env| env.valid?} rescue StandardError => e puts e.message false end