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