module SecretGarden

Constants

VERSION

Public Class Methods

add_backend(val, **options) click to toggle source
# File lib/secret_garden.rb, line 10
def self.add_backend(val, **options)
  klass = SecretGarden.const_get(val.to_s.capitalize)
  @backends = backends + [klass.new(map, **options)]
  nil
end
backends() click to toggle source
# File lib/secret_garden.rb, line 16
def self.backends
  @backends ||= [Env.new(map)]
end
expose(name) click to toggle source
# File lib/secret_garden.rb, line 35
def self.expose(name)
  ENV[name] ||= fetch!(name)
end
fetch(name) click to toggle source
# File lib/secret_garden.rb, line 20
def self.fetch(name)
  backends.inject(nil) do |value, backend|
    value ||= backend.fetch_and_cache(name)
  end
end
fetch!(name) click to toggle source
# File lib/secret_garden.rb, line 26
def self.fetch!(name)
  value = fetch(name)
  if value.nil?
    raise(SecretNotDefined, "None of your backends have #{name}")
  else
    value
  end
end
map() click to toggle source
# File lib/secret_garden.rb, line 39
def self.map
  @map ||= SecretGarden::Map.new root: secret_file_path
end
secret_file_path() click to toggle source
# File lib/secret_garden.rb, line 46
def self.secret_file_path
  @secret_file_path ||= Dir.pwd
end
secret_file_path=(val) click to toggle source
# File lib/secret_garden.rb, line 43
def self.secret_file_path=(val)
  @secret_file_path = val
end