class KumoDockerCloud::DockerCloudApi

Attributes

client[R]

Public Class Methods

new(options = {}) click to toggle source
# File lib/kumo_dockercloud/docker_cloud_api.rb, line 10
def initialize(options = {})
  options[:username] ||= ENV['DOCKERCLOUD_USER']
  options[:api_key] ||= ENV['DOCKERCLOUD_APIKEY']

  @client = options[:client] || ::DockerCloud::Client.new(options.fetch(:username), options.fetch(:api_key))
end

Public Instance Methods

containers_by_stack_name(stack_name) click to toggle source
# File lib/kumo_dockercloud/docker_cloud_api.rb, line 32
def containers_by_stack_name(stack_name)
  services_by_stack_name(stack_name).collect do |service|
    service.containers
  end.flatten
end
service_by_resource_uri(resource_uri) click to toggle source
# File lib/kumo_dockercloud/docker_cloud_api.rb, line 38
def service_by_resource_uri(resource_uri)
  @client.services.get_from_uri(resource_uri)
end
service_by_stack_and_service_name(stack_name, service_name) click to toggle source
# File lib/kumo_dockercloud/docker_cloud_api.rb, line 27
def service_by_stack_and_service_name(stack_name, service_name)
  services = services_by_stack_name(stack_name)
  services.find { |s| s.name == service_name }
end
services_by_stack_name(stack_name) click to toggle source
# File lib/kumo_dockercloud/docker_cloud_api.rb, line 21
def services_by_stack_name(stack_name)
  stack = stack_by_name(stack_name)
  return [] unless stack
  stack.services
end
stack_by_name(name) click to toggle source
# File lib/kumo_dockercloud/docker_cloud_api.rb, line 17
def stack_by_name(name)
  @client.stacks.all.find { |s| s.name == name }
end
stack_by_resource_uri(resource_uri) click to toggle source
# File lib/kumo_dockercloud/docker_cloud_api.rb, line 42
def stack_by_resource_uri(resource_uri)
  @client.stacks.get_from_uri(resource_uri)
end