class SecretGarden::Backend

Attributes

cache[RW]
map[RW]

Public Class Methods

new(map, **options) click to toggle source
# File lib/secret_garden/backend.rb, line 9
def initialize(map, **options)
  self.map = map
  self.cache = {}
  options.each do |key, val|
    send "#{key}=", val
  end
end

Public Instance Methods

fetch_and_cache(name) click to toggle source
# File lib/secret_garden/backend.rb, line 17
def fetch_and_cache(name)
  unless map.defined?(name)
    raise SecretGarden::SecretNotDefined,
      "There is no secret #{name.inspect} defined in #{map.secretfile_path}"
  end
  secret = map[name]
  self.cache[name] ||= fetch(secret)
end