aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'web/routes/build_status.rb')
-rw-r--r--web/routes/build_status.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/web/routes/build_status.rb b/web/routes/build_status.rb
new file mode 100644
index 0000000..178787b
--- /dev/null
+++ b/web/routes/build_status.rb
@@ -0,0 +1,24 @@
+class RubyTinderbox < Sinatra::Base
+ get '/build_status' do
+ update_timestamp = Build.order(:timestamp).last[:timestamp]
+ portage_timestamp = Package.first[:portage_timestamp]
+ builds = []
+ Package.each do |package|
+ builds << package.build_dataset.where(target: 'current').reverse_order(:timestamp).first
+ end
+ builds = builds.compact.sort_by { |build| build.package[:identifier] }
+ erb :'build/build_status', locals: { builds: builds, update_timestamp: update_timestamp, portage_timestamp: portage_timestamp }
+ end
+
+ get '/build_status/:sha1' do
+ package = Package.where(sha1: params[:sha1]).first
+ builds = package.build_dataset.where(target: 'current').reverse_order(:timestamp)
+ erb :'build/build_history', locals: { builds: builds }
+ end
+
+ get '/build_status/:sha1/:timestamp' do
+ package = Package.where(sha1: params[:sha1]).first
+ build = package.build_dataset.where(timestamp: params[:timestamp]).first
+ erb :'build/build_logs', locals: { package: package, build: build }
+ end
+end