def deployment_activations
items = []
deployments.each do |deployment|
deployment.activations.each do |activation|
items << {:activation => activation, :deployment => deployment}
end
end
items.sort! {|a,b| a[:activation].created_at <=> b[:activation].created_at }
first_activation = {}
items.each do |item|
deployment = item[:deployment]
activation = item[:activation]
item[:active] = item == items.last
if rollback_to = first_activation[deployment.id]
item[:rollback] = true
item[:rollback_to] = rollback_to
items.each {|i| i[:rolled_back] = true if i[:activation].created_at > rollback_to && i[:activation].created_at < activation.created_at }
else
first_activation[deployment.id] = activation.created_at
end
end
items
end