In: |
webrick/httpauth/htgroup.rb
|
Parent: | Object |
# File webrick/httpauth/htgroup.rb, line 15 def initialize(path) @path = path @mtime = Time.at(0) @group = Hash.new open(@path,"a").close unless File::exist?(@path) reload end
# File webrick/httpauth/htgroup.rb, line 23 def reload if (mtime = File::mtime(@path)) > @mtime @group.clear open(@path){|io| while line = io.gets line.chomp! group, members = line.split(/:\s*/) @group[group] = members.split(/\s+/) end } @mtime = mtime end end
# File webrick/httpauth/htgroup.rb, line 37 def flush(output=nil) output ||= @path tmp = Tempfile.new("htgroup", File::dirname(output)) begin @group.keys.sort.each{|group| tmp.puts(format("%s: %s", group, self.members(group).join(" "))) } tmp.close File::rename(tmp.path, output) rescue tmp.close(true) end end