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).then do |result|
18 if result.respond_to?(:registered?) && result.registered?
19 result
20 else
21 false
22 end
23 end
24 end
25end