travis-web/waiter/lib/travis/web/config.rb
Piotr Sarnacki 8959f382c2 Move server/ to waiter/
Apparently server dir conflicts with some scripts in ember-cli
2015-02-03 10:13:48 +01:00

51 lines
1.2 KiB
Ruby

require 'hashr'
require 'yaml'
# Encapsulates the configuration necessary for travis-listener.
#
# Configuration values will be read from
#
# * either ENV['travis_config'] (this variable is set on Heroku by `travis config [env]`,
# see travis-cli) or
# * a local file config/travis.yml which contains the current env key (e.g. development,
# production, test)
#
# The env key can be set through various ENV variables, see Travis::Config.env.
#
module Travis
module Web
class Config < Hashr
class << self
def env
ENV['ENV'] || ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'development'
end
def load_env
@load_env ||= YAML.load(ENV['travis_config']) if ENV['travis_config']
end
def load_file
@load_file ||= YAML.load_file(filename)[env] if File.exists?(filename) rescue {}
end
def filename
@filename ||= File.expand_path('config/travis.yml')
end
end
define ssl: { hsts: true }
default _access: [:key]
def initialize(data = nil, *args)
data ||= self.class.load_env || self.class.load_file || {}
super
end
def env
self.class.env
end
end
end
end