def self.update_status status
dir = File.join(DIR, @@project_name)
serial = Time.now.to_i
file = "status.#{serial}.xml"
FileUtils.mkdir_p dir
Dir.chdir dir do
File.open(file, 'w') do |f|
f.puts %(<Project name="#{@@project_name}" activity="Sleeping" lastBuildStatus="#{STATUS[status]}" lastBuildLabel="build.#{serial}" lastBuildTime="#{Time.now.xmlschema}" webUrl="http://localhost/~ryan/dashboard/#{@@project_name}/"/>)
end
files = Dir["*.xml"].sort_by { |f| File.mtime f }.reverse
(files - files.first(MAX)).each do |f|
File.unlink f
end
end
Dir.chdir DIR do
new_file = "cctray.xml.#{$$}"
old_file = "cctray.xml"
File.open(from_file, "w") do |out|
out.puts "<Projects>"
Dir["*"].each do |d|
next unless File.directory? d
Dir.chdir d do
latest = Dir["*.xml"].sort_by { |f| File.mtime f }.last
out.puts File.read(latest)
end
end
out.puts "</Projects>"
end
File.rename new_file, old_file
end
end