class XmppSetDefaultBookmarksJob < ApplicationJob queue_as :default def perform(user) return unless Setting.xmpp_default_rooms.any? @user = user ejabberd = EjabberdApiClient.new ejabberd.private_set user, storage_content end def storage_content bookmarks = "" Setting.xmpp_default_rooms.each do |r| bookmarks << conference_element( jid: r[/<(.+)>/, 1], name: r[/^(.+)\s/, 1], nick: @user.cn, autojoin: Setting.xmpp_autojoin_default_rooms ) end "#{bookmarks}" end def conference_element(jid:, name:, autojoin: false, nick:) "#{nick}" end end