In: |
webrick/httpauth/htpasswd.rb
|
Parent: | Object |
# File webrick/httpauth/htpasswd.rb, line 19 def initialize(path) @path = path @mtime = Time.at(0) @passwd = Hash.new @auth_type = BasicAuth open(@path,"a").close unless File::exist?(@path) reload end
# File webrick/httpauth/htpasswd.rb, line 28 def reload mtime = File::mtime(@path) if mtime > @mtime @passwd.clear open(@path){|io| while line = io.gets line.chomp! user, pass = line.split(":") @passwd[user] = pass end } @mtime = mtime end end
# File webrick/httpauth/htpasswd.rb, line 43 def flush(output=nil) output ||= @path tmp = Tempfile.new("htpasswd", File::dirname(output)) begin each{|item| tmp.puts(item.join(":")) } tmp.close File::rename(tmp.path, output) rescue tmp.close(true) end end
# File webrick/httpauth/htpasswd.rb, line 55 def get_passwd(realm, user, reload_db) reload() if reload_db @passwd[user] end
# File webrick/httpauth/htpasswd.rb, line 60 def set_passwd(realm, user, pass) @passwd[user] = make_passwd(realm, user, pass) end
# File webrick/httpauth/htpasswd.rb, line 64 def delete_passwd(realm, user) @passwd.delete(user) end