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	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