ibr_repo.rb

 1# frozen_string_literal: true
 2
 3require "lazy_object"
 4require "value_semantics/monkey_patched"
 5
 6require_relative "ibr"
 7
 8class IBRRepo
 9	value_semantics do
10		iq_manager Anything(), default: LazyObject.new { IQ_MANAGER }
11	end
12
13	def registered?(jid, from:)
14		ibr = IBR.new(:get, jid)
15		ibr.from = from
16
17		iq_manager.write(ibr).catch { nil }.then do |result|
18			if result.respond_to?(:registered?) && result.registered?
19				result
20			else
21				false
22			end
23		end
24	end
25end