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