module SecretEnv

Constants

VERSION

Public Class Methods

env?(env: 'development', secrets_file: 'config/secret_env.yml') click to toggle source
# File lib/secret_env.rb, line 24
def self.env?(env: 'development', secrets_file: 'config/secret_env.yml')
  YAML.load_file(secrets_file).key?(env)
end
load(env: 'development', secrets_file: 'config/secret_env.yml') click to toggle source
# File lib/secret_env.rb, line 6
def self.load(env: 'development', secrets_file: 'config/secret_env.yml')
  config = YAML.load_file(secrets_file).fetch(env)

  storage = Storage.setup(config['storage'])

  env_map = {}
  Array(config.fetch('env')).each do |key, raw_value|
    record = Record.new(key: key, raw_value: raw_value, storage: storage, dependency: env_map)
    env_map[record.key] = record
  end

  env_map.each do |key, record|
    unless ENV.has_key?(record.key)
      ENV[record.key] = record.value
    end
  end
end