class Docktor::Manifest
Public Instance Methods
find_container_by_name(name)
click to toggle source
# File lib/docktor/manifest.rb, line 35 def find_container_by_name(name) containers.find { |container| container.name == name } end
find_container_links(container)
click to toggle source
# File lib/docktor/manifest.rb, line 39 def find_container_links(container) container.links.map { |link| find_container_by_name link } end
select_container_for_execution(container_name)
click to toggle source
# File lib/docktor/manifest.rb, line 15 def select_container_for_execution(container_name) select_containers_for_execution([container_name]) end
select_containers_for_execution(container_names)
click to toggle source
# File lib/docktor/manifest.rb, line 19 def select_containers_for_execution(container_names) self.containers_for_execution = [] container_names.each do |name| container = find_container_by_name(name) fail ContainerNotFound, %(There is no container "#{name}") if container.nil? containers_for_execution << container self.containers_for_execution += find_container_links(container) end containers_for_execution.uniq! sort_containers_for_execution! end
sort_containers_for_execution!()
click to toggle source
# File lib/docktor/manifest.rb, line 43 def sort_containers_for_execution! sorted_containers = [] containers_for_execution.each do |container| links_indexes = container.links.map { |link| sorted_containers.index link } sorted_containers.insert((links_indexes.max || -1) + 1, container) end self.containers_for_execution = sorted_containers end