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