1# frozen_string_literal: true
2
3require_relative "../../addresses"
4require_relative "../../oob"
5
6module Blather
7 class Stanza
8 class Message
9 def recipients
10 if addresses
11 addresses.map { |a| a.jid.node }
12 else
13 [to.node]
14 end
15 end
16
17 def addresses
18 find(
19 "/message/ns:addresses",
20 ns: "http://jabber.org/protocol/address"
21 ).first&.then do |node|
22 Addresses.import(node)
23 end
24 end
25
26 def oobs
27 find("/message/ns:x", ns: "jabber:x:oob").map do |node|
28 OOB.import(node)
29 end
30 end
31 end
32 end
33end