Class: KumoDockerCloud::DockerCloudApi
- Inherits:
-
Object
- Object
- KumoDockerCloud::DockerCloudApi
- Extended by:
- Forwardable
- Defined in:
- lib/kumo_dockercloud/docker_cloud_api.rb
Instance Method Summary collapse
- #containers_by_stack_name(stack_name) ⇒ Object
-
#initialize(options = {}) ⇒ DockerCloudApi
constructor
A new instance of DockerCloudApi.
- #service_by_resource_uri(resource_uri) ⇒ Object
- #service_by_stack_and_service_name(stack_name, service_name) ⇒ Object
- #services_by_stack_name(stack_name) ⇒ Object
- #stack_by_name(name) ⇒ Object
- #stack_by_resource_uri(resource_uri) ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ DockerCloudApi
Returns a new instance of DockerCloudApi.
9 10 11 12 13 14 |
# File 'lib/kumo_dockercloud/docker_cloud_api.rb', line 9 def initialize( = {}) [:username] ||= ENV['DOCKERCLOUD_USER'] [:api_key] ||= ENV['DOCKERCLOUD_APIKEY'] @client = [:client] || ::DockerCloud::Client.new(.fetch(:username), .fetch(:api_key)) end |
Instance Method Details
#containers_by_stack_name(stack_name) ⇒ Object
31 32 33 34 35 |
# File 'lib/kumo_dockercloud/docker_cloud_api.rb', line 31 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) ⇒ Object
37 38 39 |
# File 'lib/kumo_dockercloud/docker_cloud_api.rb', line 37 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) ⇒ Object
26 27 28 29 |
# File 'lib/kumo_dockercloud/docker_cloud_api.rb', line 26 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) ⇒ Object
20 21 22 23 24 |
# File 'lib/kumo_dockercloud/docker_cloud_api.rb', line 20 def services_by_stack_name(stack_name) stack = stack_by_name(stack_name) return [] unless stack stack.services end |
#stack_by_name(name) ⇒ Object
16 17 18 |
# File 'lib/kumo_dockercloud/docker_cloud_api.rb', line 16 def stack_by_name(name) @client.stacks.all.find { |s| s.name == name } end |
#stack_by_resource_uri(resource_uri) ⇒ Object
41 42 43 |
# File 'lib/kumo_dockercloud/docker_cloud_api.rb', line 41 def stack_by_resource_uri(resource_uri) @client.stacks.get_from_uri(resource_uri) end |