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 class HaveTel
17 def initialize(tel)
18 @tel = tel
19 end
20
21 def choose_tel
22 EMPromise.resolve(@tel)
23 end
24 end
25
26 class ChooseTel
27 def choose_tel
28 Command.finish(
29 "You have not chosen a phone number yet, please return to " \
30 "https://jmp.chat and choose one now.",
31 type: :error
32 )
33 end
34 end
35end