Class: AppConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/app_config.rb

Direct Known Subclasses

Secrets

Defined Under Namespace

Classes: ParsingError

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.app_config_pathObject



21
22
23
# File 'lib/app_config.rb', line 21

def app_config_path
	expand_path(Options.get("config.path") || default_filename)
end

.config_path_for(env) ⇒ Object



17
18
19
# File 'lib/app_config.rb', line 17

def config_path_for(env)
	"config/#{env}/config.json"
end

.default_filenameObject



13
14
15
# File 'lib/app_config.rb', line 13

def default_filename
	config_path_for(Environment.environment)
end

.loadObject



9
10
11
# File 'lib/app_config.rb', line 9

def load
	new(app_config_path).load
end

Instance Method Details

#loadObject



32
33
34
35
36
37
38
39
40
41
# File 'lib/app_config.rb', line 32

def load
	config['environment']&.each do |key, value|
		if Options.get("config.preserve_existing_env_vars") && ENV[key]
			Output.debug("Environment variable '$#{key}' already set; skipping...")
			next
		end

		ENV[key] = value.is_a?(Hash) || value.is_a?(Array) ? value.to_json : value.to_s
	end
end