lib/sneakers/publisher.rb in sneakers-2.2.1 vs lib/sneakers/publisher.rb in sneakers-2.3.0
- old
+ new
@@ -18,17 +18,24 @@
attr_reader :exchange
private
def ensure_connection!
- @bunny = Bunny.new(@opts[:amqp], heartbeat: @opts[:heartbeat], vhost: @opts[:vhost], :logger => Sneakers::logger)
+ # If we've already got a bunny object, use it. This allows people to
+ # specify all kinds of options we don't need to know about (e.g. for ssl).
+ @bunny = @opts[:connection]
+ @bunny ||= create_bunny_connection
@bunny.start
@channel = @bunny.create_channel
- @exchange = @channel.exchange(@opts[:exchange], type: @opts[:exchange_type], durable: @opts[:durable], arguments: @opts[:exchange_arguments])
+ @exchange = @channel.exchange(@opts[:exchange], @opts[:exchange_options])
end
def connected?
@bunny && @bunny.connected?
+ end
+
+ def create_bunny_connection
+ Bunny.new(@opts[:amqp], :vhost => @opts[:vhost], :heartbeat => @opts[:heartbeat], :logger => Sneakers::logger)
end
end
end