class Firefox::Profile

Attributes

logins[R]
name[R]
path[R]

Public Class Methods

new(name, path) click to toggle source
# File lib/firefox/profile.rb, line 24
def initialize(name, path)
  @name = name
  @path = path
  @logins = nil
end

Public Instance Methods

inspect() click to toggle source
# File lib/firefox/profile.rb, line 34
def inspect()
  to_s()
end
load_logins(decrypt: false) click to toggle source
# File lib/firefox/profile.rb, line 38
def load_logins(decrypt: false)
  path = @path.join('logins.json')
  data = JSON.parse(File.read(path))
  unless data.key? 'logins'
    raise InvalidProfile, "missing 'logins' entry in #{path}"
  end

  logins = []
  data['logins'].each do |login_data|
    login =  Login.from_json(login_data)
    login.decrypt() if decrypt
    logins << login
  end
  @logins = logins
end
to_s() click to toggle source
# File lib/firefox/profile.rb, line 30
def to_s()
  "#<Firefox::Profile #{@name}>"
end