class AutoConsul::Cluster

Attributes

uri_string[R]

Public Class Methods

get_provider_for_uri(uri_string) click to toggle source
# File lib/auto-consul/cluster.rb, line 5
def self.get_provider_for_uri uri_string
  uri = URI(uri_string)
  Registry.supported_schemes[uri.scheme.downcase].new uri
end
new(uri) click to toggle source
# File lib/auto-consul/cluster.rb, line 12
def initialize uri
  @uri_string = uri
end

Public Instance Methods

agents() click to toggle source
# File lib/auto-consul/cluster.rb, line 20
def agents
  @agents ||= self.class.get_provider_for_uri File.join(uri_string, 'agents')
end
servers() click to toggle source
# File lib/auto-consul/cluster.rb, line 16
def servers
  @servers ||= self.class.get_provider_for_uri File.join(uri_string, 'servers')
end
set_mode!(local_state, expiry, desired_servers=1) click to toggle source
# File lib/auto-consul/cluster.rb, line 24
def set_mode! local_state, expiry, desired_servers=1
  if servers.members(expiry).size < desired_servers
    local_state.set_server!
  else
    local_state.set_agent!
  end
end