class Gtk2PasswordApp::Accounts

Attributes

data[R]

Public Class Methods

new(dumpfile, password=nil) click to toggle source
# File lib/gtk2passwordapp/accounts.rb, line 9
def initialize(dumpfile, password=nil)
  reset(password) if password # sets @yzb
  @dumpfile = dumpfile
  @data = {}
end

Public Instance Methods

add(account) click to toggle source
# File lib/gtk2passwordapp/accounts.rb, line 48
def add(account)
  raise CONFIG[:AccountHit] if @data.has_key?(account)
  Account.new(account, @data)
end
delete(account) click to toggle source
# File lib/gtk2passwordapp/accounts.rb, line 38
def delete(account)
  raise CONFIG[:AccountMiss] unless @data.has_key?(account)
  @data.delete(account)
end
exist?() click to toggle source
# File lib/gtk2passwordapp/accounts.rb, line 15
def exist?
  File.exist? @dumpfile
end
get(account) click to toggle source
# File lib/gtk2passwordapp/accounts.rb, line 43
def get(account)
  raise CONFIG[:AccountMiss] unless @data.has_key?(account)
  Account.new(account, @data)
end
load(password=nil) click to toggle source

will raise an exception on failed decryption

# File lib/gtk2passwordapp/accounts.rb, line 20
def load(password=nil)
  reset(password) if password
  data = @yzb.load(@dumpfile)
  # Sanity check... load will raise CipherError on decription error.
  raise CONFIG[:CipherError] unless data.class == Hash
  @data = data
end
names() click to toggle source
# File lib/gtk2passwordapp/accounts.rb, line 34
def names
  @data.keys
end
reset(password) click to toggle source
# File lib/gtk2passwordapp/accounts.rb, line 4
def reset(password)
  @yzb =  YamlZlibBlowfish.new(password)
end
save(password=nil) click to toggle source
# File lib/gtk2passwordapp/accounts.rb, line 28
def save(password=nil)
  reset(password) if password
  @yzb.dump(@dumpfile, @data)
  File.chmod(0600, @dumpfile)
end