Class: Kitsune::Kit::SecretStores::Environment

Inherits:
Store
  • Object
show all
Defined in:
lib/kitsune/kit/secret_store.rb

Instance Method Summary collapse

Constructor Details

#initialize(env: ENV, filter: nil) ⇒ Environment

Returns a new instance of Environment.



10
11
12
13
14
# File 'lib/kitsune/kit/secret_store.rb', line 10

def initialize(env: ENV, filter: nil)
  super()
  @env = env
  @filter = filter
end

Instance Method Details

#configured?(name) ⇒ Boolean

Returns:

  • (Boolean)


28
# File 'lib/kitsune/kit/secret_store.rb', line 28

def configured?(name) = !@env.fetch(name.to_s, "").empty?

#fetch(name, required: true) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/kitsune/kit/secret_store.rb', line 16

def fetch(name, required: true)
  value = @env.fetch(name.to_s, "")
  if required && value.empty?
    raise Errors::ConfigurationError.new(
      "required secret #{name} is not set",
      hint: "Export #{name} before running this command."
    )
  end
  @filter&.register(value)
  value
end