class Flapjack::Configuration
Attributes
filename[R]
Public Instance Methods
all()
click to toggle source
# File lib/flapjack/configuration.rb, line 11 def all @config end
for_redis()
click to toggle source
# File lib/flapjack/configuration.rb, line 15 def for_redis return unless @config redis_defaults = {'host' => '127.0.0.1', 'port' => 6379, 'path' => nil, 'db' => 0} @config['redis'] = {} unless @config.has_key?('redis') redis = @config['redis'] redis_defaults.each_pair do |k,v| next if redis.has_key?(k) && !redis[k].nil? && !(redis[k].is_a?(String) && redis[k].empty?) redis[k] = v end redis_path = (redis['path'] || nil) base_opts = HashWithIndifferentAccess.new({ :db => (redis['db'] || 0) }) base_opts[:driver] = redis['driver'] unless redis['driver'].nil? redis_config = base_opts.merge( (redis_path ? { :path => redis_path } : { :host => (redis['host'] || '127.0.0.1'), :port => (redis['port'] || 6379)}) ) redis_config[:password] = redis["password"] if redis["password"] redis_config end
load(file_pattern)
click to toggle source
# File lib/flapjack/configuration.rb, line 46 def load(file_pattern) @file_pattern = nil @config = nil config_file_names = Dir.glob(file_pattern) if config_file_names.nil? Flapjack.logger.error { "Could not load config files using file_pattern '#{file_pattern}'" } return end yaml_file = config_file_names.detect {|f| f.end_with?('.yaml') } unless yaml_file.nil? raise "#{yaml_file} looks like a YAML file. Flapjack v2 config files are now in TOML, " + "see flapjack.io/docs/2.x/configuration" end config = config_file_names.inject({}) do |config, file_name| config.merge!(TOML.load_file(file_name)) do |key, old_val, new_val| if old_val != new_val Flapjack.logger.error { "Duplicate configuration setting #{key} in #{file_name}" } break else new_val end end end if config.nil? || config.empty? Flapjack.logger.error { "Could not load config files using file_pattern '#{file_pattern}'" } return end @config = HashWithIndifferentAccess.new(config) @file_pattern = file_pattern end
reload()
click to toggle source
# File lib/flapjack/configuration.rb, line 91 def reload if @file_pattern.nil? Flapjack.logger.error "Cannot reload, config file_pattern not set." return end load(@file_pattern) end