1# frozen_string_literal: true
2
3class WebRegisterManager
4 def initialize
5 @tel_map = Hash.new { ChooseTel.new }
6 end
7
8 def []=(jid, tel)
9 @tel_map[jid.to_s] = HaveTel.new(tel)
10 end
11
12 def [](jid)
13 @tel_map[jid.to_s]
14 end
15
16 def choose_tel(iq)
17 self[iq&.from&.stripped].choose_tel(iq)
18 end
19
20 class HaveTel
21 def initialize(tel)
22 @tel = tel
23 end
24
25 def choose_tel(iq)
26 EMPromise.resolve([iq, @tel])
27 end
28 end
29
30 class ChooseTel
31 def choose_tel(_iq)
32 raise "TODO"
33 end
34 end
35end