Class: Keylime::FileKeychainSegment

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

Overview

Stub segment for if keylime is running on a non-Mac

Instance Method Summary collapse

Constructor Details

#initialize(keychain) ⇒ FileKeychainSegment

Returns a new instance of FileKeychainSegment.



82
83
84
# File 'lib/keylime/credential.rb', line 82

def initialize(keychain)
  @keychain = keychain || '~/.keylime'
end

Instance Method Details

#create(fields = {}) ⇒ Object



93
94
95
96
97
98
99
100
# File 'lib/keylime/credential.rb', line 93

def create(fields = {})
  raise('No fields given') if fields.empty?
  fields = stringify(fields)
  fields['ref'] = self
  new = FileKeychainObject.new(fields)
  write_file! entries + [new]
  new
end

#delete(fields = {}) ⇒ Object



102
103
104
105
106
107
108
109
# File 'lib/keylime/credential.rb', line 102

def delete(fields = {})
  raise('No fields given') if fields.empty?
  fields = stringify(fields)
  new = entries.select do |x|
    fields.any? { |k, v| x[k] != v }
  end
  write_file! new
end

#where(fields = {}) ⇒ Object



86
87
88
89
90
91
# File 'lib/keylime/credential.rb', line 86

def where(fields = {})
  fields = stringify(fields)
  entries.select do |x|
    fields.all? { |k, v| x[k] == v }
  end
end