Sha256: 4404fd5c26d236792eff085e5a8176d37e078d4b4809cef4b375830891ef35c9
Contents?: true
Size: 1.78 KB
Versions: 15
Compression:
Stored size: 1.78 KB
Contents
module Foreplay class Engine module Defaults include Foreplay DEFAULT_CONFIG_FILE = "#{Dir.getwd}/config/foreplay.yml" DEFAULTS_KEY = 'defaults' def defaults return @defaults if @defaults # Establish defaults # First the default defaults @defaults = { 'name' => File.basename(Dir.getwd), 'environment' => environment, 'port' => DEFAULT_PORT } @defaults['env'] = secrets @defaults['application'] = secrets @defaults = @defaults.supermerge(roles_all[DEFAULTS_KEY]) if roles_all.key? DEFAULTS_KEY @defaults = @defaults.supermerge(roles[DEFAULTS_KEY]) if roles.key? DEFAULTS_KEY @defaults end # Secret environment variables def secrets @secrets ||= (Foreplay::Engine::Secrets.new(environment, roles_all['secrets']).fetch || {}) end def roles @roles ||= roles_all[environment] end def roles_all return @roles_all if @roles_all @roles_all = YAML.load(File.read(config_file)) # This environment unless @roles_all.key? environment terminate("No deployment configuration defined for #{environment} environment.\nCheck #{config_file}") end @roles_all rescue Errno::ENOENT terminate "Can't find configuration file #{config_file}.\n"\ 'Please run foreplay setup or create the file manually.' rescue Psych::SyntaxError terminate "I don't understand the configuration file #{config_file}.\n"\ 'Please run foreplay setup or edit the file manually.' end def config_file @config_file ||= (filters['config_file'] || DEFAULT_CONFIG_FILE) end end end end
Version data entries
15 entries across 15 versions & 1 rubygems