disco_items_iq.rb

 1# frozen_string_literal: true
 2
 3require "jennifer"
 4require_relative "../rantly_extensions/data_extensions"
 5
 6class DiscoItemsIQ
 7	# @param redis [FakeRedis]
 8	def initialize(redis)
 9		@redis = redis
10	end
11
12	include Jennifer.rant(self) {
13		jid { bare_jid }
14		phone(transient: true) { nanpa_phone }
15
16		stanza derived_from(:jid) do |jid|
17			di = Blather::Stanza::DiscoItems.new
18			di.type = :get
19			di.to = ARGV[0]
20			di.node = 'http://jabber.org/protocol/commands'
21			di.from = jid
22			di
23		end
24
25		redis_state derived_from(:jid, :phone), transient: true do |jid, phone|
26			@redis.reset!
27			@redis.rpush("catapult_cred-#{jid}", 'acct', 'token', 'secret', phone)
28		end
29
30		written_state(transient: true) {
31			SGXbwmsgsv2.instance_variable_set(:@written, [])
32		}
33	}
34end