Class: AgileKeychain

Inherits:
Object
  • Object
show all
Defined in:
lib/1pass.rb

Constant Summary collapse

INVALID_PASSWORD =
"Maybe you should try asking a human?"
INVALID_KEY =
"Invalid key. Keys are case-sensitive."

Instance Method Summary collapse

Constructor Details

#initialize(path = nil) ⇒ AgileKeychain

Returns a new instance of AgileKeychain.



8
9
10
11
# File 'lib/1pass.rb', line 8

def initialize(path=nil)
	path = path || "#{ENV["HOME"]}/Library/Application Support/1Password/1Password.agilekeychain"
	@keychain = Keychain.new(path)
end

Instance Method Details

#listObject



13
14
15
# File 'lib/1pass.rb', line 13

def list
	@keychain.content.items.map {|i| puts i.name}
end

#load(master_password, key_name, field_name = nil) ⇒ Object



17
18
19
20
21
22
# File 'lib/1pass.rb', line 17

def load(master_password, key_name, field_name=nil) 
 		inform_and_exit(INVALID_PASSWORD) unless @keychain.unlock(master_password)
 		key = @keychain.get(key_name)
 		inform_and_exit(INVALID_KEY) unless key
 		puts field_name ? key.find(field_name) : key.fields
end