diff options
Diffstat (limited to 'web/routes/build_status.rb')
-rw-r--r-- | web/routes/build_status.rb | 24 |
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 |