# frozen_string_literal: true require 'yaml' # Config - loads and manages the app's configuration class Config DEFAULT_CONFIG = 'config/defaults.yaml' ENVIRONMENT_CONFIG = ENV.fetch('RACK_ENV', 'development') def initialize(config_path = "config/#{ENVIRONMENT_CONFIG}.yaml") @data = YAML.load_file(DEFAULT_CONFIG) # merge in user-defined configuration if it exists @data.merge!(YAML.load_file(config_path)) if File.exist?(config_path) end def get(key) bits = key.split('.') value = @data bits.each do |bit| value = value[bit] end return value end end