# File webrick/httpauth/htpasswd.rb, line 72
def delete_passwd(realm, user)
@passwd.delete(user)
end
# File webrick/httpauth/htpasswd.rb, line 76
def each
@passwd.keys.sort.each{|user|
yield([user, @passwd[user]])
}
end
# File webrick/httpauth/htpasswd.rb, line 51
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 63
def get_passwd(realm, user, reload_db)
reload() if reload_db
@passwd[user]
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!
case line
when %r\A[^:]+:[a-zA-Z0-9./]{13}\z!
user, pass = line.split(":")
when /:\$/, /:{SHA}/
raise NotImplementedError,
'MD5, SHA1 .htpasswd file not supported'
else
raise StandardError, 'bad .htpasswd file'
end
@passwd[user] = pass
end
}
@mtime = mtime
end
end
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.