web_register_manager.rb

 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