class OnePassword::Keychain
Public Class Methods
new(directory = '~/Dropbox/1Password.agilekeychain')
click to toggle source
# File lib/one_password/keychain.rb, line 9 def initialize(directory = '~/Dropbox/1Password.agilekeychain') @directory = Pathname(File.expand_path(directory)) @master_password = nil profiles end
Public Instance Methods
current_profile()
click to toggle source
@return [Profile]
# File lib/one_password/keychain.rb, line 16 def current_profile @current_profile ||= profiles['default'] end
current_profile=(profile)
click to toggle source
@param [String, Profile] profile
# File lib/one_password/keychain.rb, line 21 def current_profile=(profile) unless profile.is_a?(Profile) raise UndefinedProfile.new(profile) unless profiles.key?(profile) profile = profiles[profile] end @profile = profile end
password=(password)
click to toggle source
# File lib/one_password/keychain.rb, line 29 def password=(password) current_profile.password = password end
Protected Instance Methods
data_directory()
click to toggle source
# File lib/one_password/keychain.rb, line 35 def data_directory @directory.join('data') end
profiles()
click to toggle source
# File lib/one_password/keychain.rb, line 39 def profiles @profiles ||= Dir["#{data_directory}/*"].inject({}) do |result, dir| profile = Profile.new(self, dir) result[profile.name] = profile result end end