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.



8
9
10
11
# File 'lib/keylime/credential.rb', line 8

def initialize(params = {})
  @options = params
  @enabled = RUBY_PLATFORM =~ /darwin/ || ENV['CI']
end

Instance Method Details

#delete!Object



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

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

#getObject



13
14
15
16
# File 'lib/keylime/credential.rb', line 13

def get
  return unless @enabled
  keychain_segment.where(@options).first
end

#get!(message) ⇒ Object



18
19
20
# File 'lib/keylime/credential.rb', line 18

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

#set(value) ⇒ Object



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

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