Class: Keylime::FileKeychainSegment
- Inherits:
-
Object
- Object
- Keylime::FileKeychainSegment
- Defined in:
- lib/keylime/credential.rb
Overview
Stub segment for if keylime is running on a non-Mac
Instance Method Summary collapse
- #create(fields = {}) ⇒ Object
- #delete(fields = {}) ⇒ Object
-
#initialize(keychain) ⇒ FileKeychainSegment
constructor
A new instance of FileKeychainSegment.
- #where(fields = {}) ⇒ Object
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 |