# frozen_string_literal: true class WebRegisterManager def initialize @tel_map = Hash.new { ChooseTel.new } end def []=(jid, tel) @tel_map[jid.to_s] = HaveTel.new(tel) end def [](jid) @tel_map[jid.to_s] end def choose_tel(iq) self[iq.from.stripped].choose_tel(iq) end class HaveTel def initialize(tel) @tel = tel end def choose_tel(iq) EMPromise.resolve([iq, @tel]) end end class ChooseTel def choose_tel(_iq) raise "TODO" end end end