message.rb

 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