class Ocular::DSL::Orbit::OrbitFunctions

Public Class Methods

new(etcd) click to toggle source
# File lib/ocular/dsl/orbit.rb, line 11
def initialize(etcd)
    @etcd = etcd
end

Public Instance Methods

get_service_endpoints(service_name) click to toggle source
# File lib/ocular/dsl/orbit.rb, line 16
def get_service_endpoints(service_name)
    orbit_endpoints = []
    begin
        endpoints = @etcd.get("/orbit/services/#{service_name}/endpoints").node.children
        endpoints.each do |node|
          ip = node.key.match(/.*endpoints.(.+?):.+/).captures[0]
          orbit_endpoints << ip
        end
    rescue ::Etcd::KeyNotFound
        return []
    end

    return orbit_endpoints
end