web_register_manager.rb

 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