Class: AgileKeychain
- Inherits:
-
Object
- Object
- AgileKeychain
- 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
-
#initialize(path = nil) ⇒ AgileKeychain
constructor
A new instance of AgileKeychain.
- #list ⇒ Object
- #load(master_password, key_name, field_name = nil) ⇒ Object
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
#list ⇒ Object
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 |