Class: Keylime::Credential

Inherits:
Object
  • Object
show all
Defined in:
lib/keylime/credential.rb

Overview

Easy wrapper around getting and setting secrets

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ Credential

Returns a new instance of Credential.



16
17
18
# File 'lib/keylime/credential.rb', line 16

def initialize(params = {})
  @options = params
end

Instance Method Details

#delete!Object



33
34
35
36
# File 'lib/keylime/credential.rb', line 33

def delete!
  get && keychain_segment.where(@options).first.delete
  nil
end

#getObject



20
21
22
# File 'lib/keylime/credential.rb', line 20

def get
  keychain_segment.where(@options).first
end

#get!(message) ⇒ Object



24
25
26
# File 'lib/keylime/credential.rb', line 24

def get!(message)
  get || prompt(message)
end

#set(value) ⇒ Object



28
29
30
31
# File 'lib/keylime/credential.rb', line 28

def set(value)
  delete!
  keychain_segment.create(@options.merge(password: value))
end