class Synapse::Rails::Providers::Base

Attributes

base_path[W]
service[RW]
tester[RW]
check[RW]
function[RW]

Public Class Methods

base_path() click to toggle source
# File lib/synapse/rails/providers/base.rb, line 8
def base_path
  @base_path ||= "/nerve"
end
hosts() click to toggle source
# File lib/synapse/rails/providers/base.rb, line 11
def hosts
  @hosts ||= ::Synapse::Rails::Consul.discover(:zookeeper).collect do |address|
    "#{address}:#{ZK.default_port}"
  end
end
new(params={}) click to toggle source
# File lib/synapse/rails/providers/base.rb, line 18
def initialize params={}
  @function        = "common"
  @default_servers = []
  config params
end

Public Instance Methods

config(params={}) click to toggle source
# File lib/synapse/rails/providers/base.rb, line 50
def config params={}
  params.each do |k,v|
    self.send(:"#{k}=",v) rescue nil
  end
end
default_servers() click to toggle source
# File lib/synapse/rails/providers/base.rb, line 40
def default_servers
  @default_servers
end
discovery() click to toggle source
# File lib/synapse/rails/providers/base.rb, line 29
def discovery
  %i{method path hosts}.collect do |element|
    [element,self.send(element)]
  end.to_h.with_indifferent_access
end
haproxy() click to toggle source
# File lib/synapse/rails/providers/base.rb, line 34
def haproxy
  unless ::Synapse::Rails.started?
    @haproxy = ::Synapse::Rails::ProviderProxy.new(check:@check).haproxy
  end
  @haproxy
end
host() click to toggle source
# File lib/synapse/rails/providers/base.rb, line 61
def host
  "127.0.0.1"
end
hosts() click to toggle source
# File lib/synapse/rails/providers/base.rb, line 26
def hosts
  @hosts ||= self.class.hosts
end
path() click to toggle source
# File lib/synapse/rails/providers/base.rb, line 23
def path
  [base_path,::Synapse::Tenancy.customer,service,function,"services"].join("/")
end
port() click to toggle source
# File lib/synapse/rails/providers/base.rb, line 64
def port
  @haproxy[:port]
end
service() click to toggle source
# File lib/synapse/rails/providers/base.rb, line 58
def service
  self.class.service
end
service_name() click to toggle source
# File lib/synapse/rails/providers/base.rb, line 55
def service_name
  [service,function].join("_")
end
synapse() click to toggle source
# File lib/synapse/rails/providers/base.rb, line 43
def synapse
  {
    default_servers:default_servers,
    discovery: discovery,
    haproxy: haproxy,
  }.with_indifferent_access
end

Protected Instance Methods

base_path() click to toggle source
# File lib/synapse/rails/providers/base.rb, line 71
def base_path
  self.class.base_path
end
method() click to toggle source
# File lib/synapse/rails/providers/base.rb, line 68
def method
  "zookeeper"
end