Class: SecretsLoader::Loader::SecretsManager

Inherits:
Base
  • Object
show all
Defined in:
lib/secrets_loader/loader/secrets_manager.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client: Aws::SecretsManager::Client.new, secret_id: ENV['SECRETS_MANAGER_SECRET_ID']) ⇒ SecretsManager

Returns a new instance of SecretsManager.



12
13
14
15
# File 'lib/secrets_loader/loader/secrets_manager.rb', line 12

def initialize(client: Aws::SecretsManager::Client.new, secret_id: ENV['SECRETS_MANAGER_SECRET_ID'])
  @client = client
  @secret_id = secret_id
end

Instance Attribute Details

#clientObject

Returns the value of attribute client.



10
11
12
# File 'lib/secrets_loader/loader/secrets_manager.rb', line 10

def client
  @client
end

#secret_idObject

Returns the value of attribute secret_id.



10
11
12
# File 'lib/secrets_loader/loader/secrets_manager.rb', line 10

def secret_id
  @secret_id
end

Instance Method Details

#enable?Boolean

Returns:

  • (Boolean)


17
18
19
20
21
# File 'lib/secrets_loader/loader/secrets_manager.rb', line 17

def enable?
  return false unless super

  !(secret_id.nil? || secret_id.empty?)
end

#loadObject



23
24
25
26
# File 'lib/secrets_loader/loader/secrets_manager.rb', line 23

def load
  secret_string = client.get_secret_value(secret_id: secret_id).secret_string
  JSON.parse(secret_string)
end