module EacRailsBase0App::Application::Envvars::ClassMethods

Public Instance Methods

config_root() click to toggle source
# File lib/eac_rails_base0/app_base/application/envvars.rb, line 18
def config_root
  ::Rails.root.join('config')
end
envvars_files() click to toggle source
# File lib/eac_rails_base0/app_base/application/envvars.rb, line 22
def envvars_files
  ENVVARS_FILE_EXTENSIONS.flat_map do |extension|
    [config_root.join("#{ENVVARS_FILE_BASENAME}#{extension}")] +
      config_root.join(ENVVARS_DIRECTORY_NAME).glob("*#{extension}")
  end
end
load_envvars_file(path) click to toggle source
# File lib/eac_rails_base0/app_base/application/envvars.rb, line 29
def load_envvars_file(path)
  return unless path.exist?

  vars = ::EacRubyUtils::Yaml.load(path.read)
  raise "\"#{path}\" does not contain a Hash" unless vars.is_a?(::Hash)

  vars.each { |name, value| ENV[name.to_s] = value.to_s }
end
setup_envvars() click to toggle source
# File lib/eac_rails_base0/app_base/application/envvars.rb, line 38
def setup_envvars
  envvars_files.each { |path| load_envvars_file(path) }
end