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