rosa-abf/rosa-build

View on GitHub
app/admin/builders.rb

Summary

Maintainability
A
0 mins
Test Coverage
ActiveAdmin.register_page 'Builders' do
content do
div class: 'index_as_table' do
nodes = RpmBuildNode.all.to_a
groups = nodes.group_by { |node| node.query_string.presence || '-' }
groups.keys.sort.each do |key|
description = if key != '-'
parsed_key = Rack::Utils.parse_nested_query(key)
parsed_key.delete('native_arches')
tmp = parsed_key.keys.map do |prop|
"#{prop.capitalize.gsub('_', ' ')}: #{parsed_key[prop].gsub(',', ' ')}"
end + ["Total builders: #{groups[key].count}"]
tmp.join(', ')
else
'Everything'
end
panel description do
table_for groups[key], class: "index_table index" do
column :host
column :user_id do |b|
u = User.find_by_id(b.user_id)
u.present? ? link_to(u.uname, admin_user_path(u.id)) : 'Unknown'
end
column :system
column :busy
column 'Last build ID' do |b|
if b.last_build_id.present?
link_to b.last_build_id, build_list_path(b.last_build_id)
else
'-'
end
end
end
end
end
end
end
end