Sha256: 887c0731828d44c44dd70b9a985afc14d69fbe34c9b367129d30e55a2a4d4aae

Contents?: true

Size: 582 Bytes

Versions: 1

Compression:

Stored size: 582 Bytes

Contents

require 'bunny'

module Jobi
  module Clients
    class Rabbitmq
      def initialize(config = Jobi::Config::Rabbitmq.new)
        @connection = Bunny.new(config.to_h)
        @connection.start
      end

      def channel
        @channel ||= @connection.create_channel
      end

      def default_exchange
        @default_exchange ||= channel.default_exchange
      end

      def queue(name:, options: {})
        default_exchange
        channel.queue(name)
      end

      def publish(message:, queue:, options: {})
        queue.publish(message)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jobi-0.1.1 lib/jobi/clients/rabbitmq.rb