class ContainersManager::Consul

Attributes

configuration[R]
id_provider[R]

Public Class Methods

new(configuration, id_provider) click to toggle source
# File lib/containers_manager/entities/consul.rb, line 3
def initialize(configuration, id_provider)
  @configuration = configuration
  @id_provider   = id_provider
end

Public Instance Methods

all_entries() click to toggle source
# File lib/containers_manager/entities/consul.rb, line 8
def all_entries
  @all_entries ||= response_from(consul_service_urls)
                     .map { |node| ConsulEntry.new(node, configuration).set_id_provider(id_provider) }
end

Private Instance Methods

consul_service() click to toggle source
# File lib/containers_manager/entities/consul.rb, line 29
def consul_service
  @consul_service ||= ConsulService.new(configuration)
end
consul_service_urls() click to toggle source
# File lib/containers_manager/entities/consul.rb, line 17
def consul_service_urls
  @configuration.consul_service_urls
end
response_from(param) click to toggle source
# File lib/containers_manager/entities/consul.rb, line 21
def response_from(param)
  if param.is_a?(String)
    consul_service.services(param)
  elsif param.is_a?(Array)
    param.map { |e| response_from(e) }.flatten
  end
end