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