Class: KumoDockerCloud::DockerCloudApi
- Inherits:
-
Object
- Object
- KumoDockerCloud::DockerCloudApi
- Extended by:
- Forwardable
- Defined in:
- lib/kumo_dockercloud/docker_cloud_api.rb
Instance Attribute Summary collapse
-
#client ⇒ Object
readonly
Returns the value of attribute client.
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.
10 11 12 13 14 15 |
# File 'lib/kumo_dockercloud/docker_cloud_api.rb', line 10 def initialize( = {}) [:username] ||= ENV['DOCKERCLOUD_USER'] [:api_key] ||= ENV['DOCKERCLOUD_APIKEY'] @client = [:client] || ::DockerCloud::Client.new(.fetch(:username), .fetch(:api_key)) end |
Instance Attribute Details
#client ⇒ Object (readonly)
Returns the value of attribute client.
8 9 10 |
# File 'lib/kumo_dockercloud/docker_cloud_api.rb', line 8 def client @client end |
Instance Method Details
#containers_by_stack_name(stack_name) ⇒ Object
32 33 34 35 36 |
# 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) ⇒ Object
38 39 40 |
# 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) ⇒ Object
27 28 29 30 |
# 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) ⇒ Object
21 22 23 24 25 |
# 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) ⇒ Object
17 18 19 |
# 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) ⇒ Object
42 43 44 |
# 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 |