FIX: `queue_in_memory` option not being passed to the backends.

FIX: queue_in_memory option not being passed to the backends.

diff --git a/CHANGELOG b/CHANGELOG
index 176edd1..44da34f 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,7 @@
 - Unrelease
 
+  - FIX: `queue_in_memory` option not being passed to the backends.
+
 15-09-2020
 
 - Version 3.3.2
diff --git a/lib/message_bus.rb b/lib/message_bus.rb
index 0976407..ce5bf28 100644
--- a/lib/message_bus.rb
+++ b/lib/message_bus.rb
@@ -365,13 +365,17 @@ module MessageBus::Implementation
       client_ids: client_ids
     )
 
-    channel_opts = nil
+    channel_opts = {}
 
-    if opts && ((age = opts[:max_backlog_age]) || (size = opts[:max_backlog_size]))
-      channel_opts = {
-        max_backlog_size: size,
-        max_backlog_age: age
-      }
+    if opts
+      if ((age = opts[:max_backlog_age]) || (size = opts[:max_backlog_size]))
+        channel_opts[:max_backlog_size] = size,
+        channel_opts[:max_backlog_age] = age
+      end
+
+      if opts.has_key?(:queue_in_memory)
+        channel_opts[:queue_in_memory] = opts[:queue_in_memory]
+      end
     end
 
     encoded_channel_name = encode_channel_name(channel, site_id)

GitHub sha: ec60d886