lib/services/service.rb in jn_services-1.0.1 vs lib/services/service.rb in jn_services-1.0.2
- old
+ new
@@ -26,30 +26,31 @@
end
private
def create_if_missing
- Services.get "#{KEY}/#{name}"
- rescue Net::HTTPServerException => e
- Services.set "#{KEY}/#{name}/_created", Time.now if e.message.match 'Not Found'
+ Services.set "#{KEY}/#{name}/_created", Time.now unless Services.exists? "#{KEY}/#{name}"
end
def load_endpoint
endpoint.load
endpoint
end
- # rubocop:disable MethodLength
- def load_members
- begin
- etcd_members = Services.get "#{KEY}/#{name}/members"
- rescue Net::HTTPServerException => e
- etcd_members = nil if e.message.match 'Not Found'
+ def fetch_members
+ if Services.exists? "#{KEY}/#{name}/members"
+ Services.get("#{KEY}/#{name}/members").children
+ else
+ nil
end
+ end
+ # rubocop:disable MethodLength
+ def load_members
+ etcd_members = fetch_members
unless etcd_members.nil? || etcd_members.empty?
- etcd_members.node.nodes.each do |m|
- m_name = File.basename m['key']
+ etcd_members.each do |m|
+ m_name = File.basename m.key
m1 = Services::Member.new(m_name, service: name)
m1.load
@members.push m1
end
end