Class: ConsulService

Inherits:
Object
  • Object
show all
Extended by:
ConsulConfiguration
Defined in:
lib/consul/consul_service.rb

Constant Summary

Constants included from ConsulConfiguration

ConsulConfiguration::CONFIG

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ConsulConfiguration

configure

Methods included from ApplicationConfiguration

#config, #config_consul, #config_rest, #random_name

Constructor Details

#initialize(option = nil) ⇒ ConsulService

Returns a new instance of ConsulService.



13
14
15
16
# File 'lib/consul/consul_service.rb', line 13

def initialize(option=nil)
puts 'init consul'
self.consul_service_data = ConsulService.configure
end

Instance Attribute Details

#consul_service_dataObject

Returns the value of attribute consul_service_data.



11
12
13
# File 'lib/consul/consul_service.rb', line 11

def consul_service_data
  @consul_service_data
end

Instance Method Details

#startObject



18
19
20
21
22
23
24
25
26
# File 'lib/consul/consul_service.rb', line 18

def start
	puts 'start consul'
	consul_service_data = ConsulConfiguration::CONFIG[:consul_service_data] if consul_service_data.nil?
	Diplomat::Service.register(consul_service_data)

	# start url for consul to check health
	consul_check_route = "/" + consul_service_data[:check][:http].split('/').last
	RestService.start_consul_check_http(consul_check_route)
end

#stopObject



28
29
30
31
32
# File 'lib/consul/consul_service.rb', line 28

def stop
	puts 'stop consul'
	consul_service_id = self.consul_service_data.try(:id) || ConsulConfiguration::CONFIG[:consul_service_data][:id]
   Diplomat::Service.deregister(consul_service_id)
end