1# frozen_string_literal: true
2
3require_relative "error_to_send"
4
5class WebRegisterManager
6 def initialize
7 @tel_map = Hash.new { ChooseTel.new }
8 end
9
10 def []=(jid, tel)
11 @tel_map[jid.to_s] = HaveTel.new(tel)
12 end
13
14 def [](jid)
15 @tel_map[jid.to_s]
16 end
17
18 class HaveTel
19 def initialize(tel)
20 @tel = tel
21 end
22
23 def choose_tel
24 EMPromise.resolve(@tel)
25 end
26 end
27
28 class ChooseTel
29 def choose_tel
30 Command.finish(
31 "You have not chosen a phone number yet, please return to " \
32 "https://jmp.chat and choose one now.",
33 type: :error
34 )
35 end
36 end
37end