class SymmetricEncryption::Keystore::Heroku

Heroku uses environment variables too.

Public Class Methods

generate_data_key(**args) click to toggle source

Returns [Hash] a new keystore configuration after generating the data key.

# File lib/symmetric_encryption/keystore/heroku.rb, line 6
def self.generate_data_key(**args)
  config            = super(**args)
  config[:keystore] = :heroku
  config
end

Public Instance Methods

write(key) click to toggle source

Write the encrypted Encryption key to `encrypted_key` attribute.

# File lib/symmetric_encryption/keystore/heroku.rb, line 13
def write(key)
  encrypted_key = key_encrypting_key.encrypt(key)
  puts "\n\n********************************************************************************"
  puts "Add the environment key to Heroku:\n\n"
  puts "  heroku config:add #{key_env_var}=#{encoder.encode(encrypted_key)}"
  puts "********************************************************************************"
end