Sha256: 643b1aa1e96ccb6f9e10475ace2b711eca57b82b234441fd13e0a125f80fb5a4
Contents?: true
Size: 1.04 KB
Versions: 2
Compression:
Stored size: 1.04 KB
Contents
# coding: utf-8 require 'json' require 'one_password/profile' require 'one_password/errors' module OnePassword class Keychain def initialize(directory = '~/Dropbox/1Password.agilekeychain') @directory = Pathname(File.expand_path(directory)) @master_password = nil profiles end # @return [Profile] def current_profile @current_profile ||= profiles['default'] end # @param [String, Profile] profile def current_profile=(profile) unless profile.is_a?(Profile) raise UndefinedProfile.new(profile) unless profiles.key?(profile) profile = profiles[profile] end @profile = profile end def password=(password) current_profile.password = password end protected def data_directory @directory.join('data') end def profiles @profiles ||= Dir["#{data_directory}/*"].inject({}) do |result, dir| profile = Profile.new(self, dir) result[profile.name] = profile result end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
one_password-0.0.2 | lib/one_password/keychain.rb |
one_password-0.0.1 | lib/one_password/keychain.rb |