module CredStash
Constants
- VERSION
Public Class Methods
config()
click to toggle source
# File lib/cred_stash/config.rb, line 7 def config @config ||= Config.new end
configure() { |config| ... }
click to toggle source
# File lib/cred_stash/config.rb, line 3 def configure yield config end
delete(name)
click to toggle source
# File lib/cred_stash.rb, line 27 def delete(name) # TODO needs delete target version option repository = Repository.instance item = repository.select(name).first repository.delete(item) end
get(name, context: {}, raise_if_missing: false)
click to toggle source
# File lib/cred_stash.rb, line 3 def get(name, context: {}, raise_if_missing: false) secret = Secret.find(name, context: context) if secret.falsified? raise "Invalid secret. #{name} has falsified" end secret.decrypted_value rescue CredStash::ItemNotFound => e raise e if raise_if_missing nil end
list()
click to toggle source
# File lib/cred_stash.rb, line 23 def list Repository.instance.list.inject({}) {|h, item| h[item.name] = item.version; h } end
put(name, value, kms_key_id: nil, context: {})
click to toggle source
# File lib/cred_stash.rb, line 17 def put(name, value, kms_key_id: nil, context: {}) secret = Secret.new(name: name, value: value, context: context) secret.encrypt!(kms_key_id: kms_key_id) secret.save end
setup()
click to toggle source
# File lib/cred_stash.rb, line 34 def setup Repository.instance.setup end
Private Class Methods
get_highest_version(name)
click to toggle source
# File lib/cred_stash.rb, line 40 def get_highest_version(name) item = Repository.instance.select(name, pluck: 'version', limit: 1).first if item item.version.to_i else 0 end end