Change summary
lib/addresses.rb | 15 ---------------
lib/blather_ext.rb | 20 --------------------
lib/blather_ext/jid.rb | 9 +++++++++
lib/blather_ext/stanza/message.rb | 33 +++++++++++++++++++++++++++++++++
lib/oob.rb | 12 ------------
sgx_endstream.rb | 4 +++-
6 files changed, 45 insertions(+), 48 deletions(-)
Detailed changes
@@ -68,18 +68,3 @@ class Addresses < Blather::XMPPNode
end
end
end
-
-module Blather
- class Stanza
- class Message
- def addresses
- find(
- "/message/ns:addresses",
- ns: "http://jabber.org/protocol/address"
- ).first&.then do |node|
- Addresses.import(node)
- end
- end
- end
- end
-end
@@ -1,20 +0,0 @@
-# frozen_string_literal: true
-
-module Blather
- class JID
- def with(node: self.node, domain: self.domain, resource: self.resource)
- self.class.new(node, domain, resource)
- end
- end
-
- class Stanza
- # @param message [Blather::Stanza::Message]
- def recipients(message)
- if message.addresses
- message.addresses.map { |a| a.jid.node }
- else
- [message.to.node]
- end
- end
- end
-end
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+module Blather
+ class JID
+ def with(node: self.node, domain: self.domain, resource: self.resource)
+ self.class.new(node, domain, resource)
+ end
+ end
+end
@@ -0,0 +1,33 @@
+# frozen_string_literal: true
+
+require_relative "../../addresses"
+require_relative "../../oob"
+
+module Blather
+ class Stanza
+ class Message
+ def recipients
+ if addresses
+ addresses.map { |a| a.jid.node }
+ else
+ [to.node]
+ end
+ end
+
+ def addresses
+ find(
+ "/message/ns:addresses",
+ ns: "http://jabber.org/protocol/address"
+ ).first&.then do |node|
+ Addresses.import(node)
+ end
+ end
+
+ def oobs
+ find("/message/ns:x", ns: "jabber:x:oob").map do |node|
+ OOB.import(node)
+ end
+ end
+ end
+ end
+end
@@ -52,15 +52,3 @@ class OOB < Blather::XMPPNode
self << i
end
end
-
-module Blather
- class Stanza
- class Message
- def oobs
- find("/message/ns:x", ns: "jabber:x:oob").map do |node|
- OOB.import(node)
- end
- end
- end
- end
-end
@@ -12,7 +12,6 @@ require "sentry-ruby"
require_relative "lib/addresses"
require_relative "lib/blather_client"
-require_relative "lib/blather_ext"
require_relative "lib/em"
require_relative "lib/event_emitter"
require_relative "lib/incoming_mms"
@@ -20,6 +19,9 @@ require_relative "lib/oob"
require_relative "lib/outgoing_mms"
require_relative "lib/proxied_jid"
require_relative "lib/registration_repo"
+Dir["#{File.dirname(__FILE__)}/lib/blather_ext/**/*.rb"]
+ .sort
+ .each(&Kernel.method(:require))
singleton_class.class_eval do
include Blather::DSL