class OnePassword::Profile
Attributes
directory[R]
encryption_keys[R]
name[R]
Public Class Methods
new(keychain, directory)
click to toggle source
@param [OnePassword::Keychain] keychain @param [String, Pathname] directory
# File lib/one_password/profile.rb, line 8 def initialize(keychain, directory) @keychain = keychain @name = File.basename(directory) @directory = Pathname(directory) end
Public Instance Methods
all()
click to toggle source
# File lib/one_password/profile.rb, line 21 def all load_contents unless @all @all end
all_encryption_keys()
click to toggle source
# File lib/one_password/profile.rb, line 31 def all_encryption_keys load_encryption_keys unless @all_encryption_keys @all_encryption_keys end
contents()
click to toggle source
# File lib/one_password/profile.rb, line 16 def contents load_contents unless @contents @contents end
encryption_keys_loaded?()
click to toggle source
# File lib/one_password/profile.rb, line 36 def encryption_keys_loaded? !!@encryption_keys end
password()
click to toggle source
# File lib/one_password/profile.rb, line 40 def password raise NoPassword unless @password @password end
password=(password)
click to toggle source
# File lib/one_password/profile.rb, line 45 def password=(password) @password = password end
Protected Instance Methods
contents=(new_contents)
click to toggle source
@param [Array] new_contents
# File lib/one_password/profile.rb, line 68 def contents=(new_contents) @all = {} @contents = CATEGORIES.inject({}) do |result, type| result[type] = [] result end new_contents.each do |item_array| item = Item.new(self, item_array) next if item.system? @all[item.uuid] = item @contents[item.category] << item end @contents end
contents_file()
click to toggle source
# File lib/one_password/profile.rb, line 51 def contents_file @directory.join('contents.js') end
encryption_keys=(keys)
click to toggle source
# File lib/one_password/profile.rb, line 86 def encryption_keys=(keys) @all_encryption_keys = keys.delete('list').map { |data| EncryptionKey.new(self, data) } @encryption_keys = keys.inject({}) do |result, (type, identifier)| result[type] = @all_encryption_keys.find { |key| key.identifier == identifier } result end end
encryption_keys_file()
click to toggle source
# File lib/one_password/profile.rb, line 55 def encryption_keys_file @directory.join('encryptionKeys.js') end
load_contents()
click to toggle source
# File lib/one_password/profile.rb, line 63 def load_contents self.contents = JSON.parse(File.read(contents_file)) unless @contents end
load_encryption_keys()
click to toggle source
# File lib/one_password/profile.rb, line 59 def load_encryption_keys self.encryption_keys = JSON.parse(File.read(encryption_keys_file)) end