class HyperDock::Resource::Project

Public Instance Methods

attributes() click to toggle source
# File lib/hyperdock/resource/project.rb, line 51
def attributes
  { names: services }
end
containers() click to toggle source
# File lib/hyperdock/resource/project.rb, line 13
def containers
  @containers ||= ::Docker::Container.all.select do |container|
    container.info.dig('Labels', 'com.docker.compose.project') == project
  end
end
project() click to toggle source
# File lib/hyperdock/resource/project.rb, line 8
def project
  @project ||= request.path_info[:project]
end
resource_exists?() click to toggle source
# File lib/hyperdock/resource/project.rb, line 20
def resource_exists?
  !containers.empty?
end
services() click to toggle source
# File lib/hyperdock/resource/project.rb, line 25
def services
  @services ||= containers.map do |container|
    container.info.dig('Labels', 'com.docker.compose.service')
  end.uniq
end