Module: LontaraUtilities::RMQ

Defined in:
lib/lontara_utilities/rmq.rb,
lib/lontara_utilities/rmq/client.rb,
lib/lontara_utilities/rmq/errors.rb,
lib/lontara_utilities/rmq/server.rb,
lib/lontara_utilities/rmq/listener.rb,
lib/lontara_utilities/rmq/connection.rb,
lib/lontara_utilities/rmq/client/publisher.rb,
lib/lontara_utilities/rmq/server/subscriber.rb,
lib/lontara_utilities/rmq/client/rpc_producer.rb,
lib/lontara_utilities/rmq/server/rpc_consumer.rb

Overview

Lontara RMQ

RMQ module responsible for handling AMQP connection between services.

Defined Under Namespace

Modules: Client, Errors, Server Classes: Connection, Listener

Class Method Summary collapse

Class Method Details

.clientObject



54
55
56
# File 'lib/lontara_utilities/rmq.rb', line 54

def client
  Client
end

.connection(url:, **options) ⇒ Object

Instantiating RMQ connection.



27
28
29
# File 'lib/lontara_utilities/rmq.rb', line 27

def connection(url:, **options)
  Connection.new(url:, **options)
end

.publisher(connection, queue:, **options) ⇒ Object

Publisher client. Options parameter are: ‘exchange:` and `exchange_type:`



50
51
52
# File 'lib/lontara_utilities/rmq.rb', line 50

def publisher(connection, queue:, **options)
  Client::Publisher.new(connection, queue:, **options)
end

.rpc_consumer(connection, queue:, **options) ⇒ Object

RPC Consumer server. Options parameter are: ‘exchange:` and `exchange_type:`



33
34
35
# File 'lib/lontara_utilities/rmq.rb', line 33

def rpc_consumer(connection, queue:, **options)
  Server::RPCConsumer.new(connection, queue:, **options)
end

.rpc_producer(connection, queue:, reply_queue:, **options) ⇒ Object

RPC Producer client. Options parameter are: ‘exchange:` and `exchange_type:`



44
45
46
# File 'lib/lontara_utilities/rmq.rb', line 44

def rpc_producer(connection, queue:, reply_queue:, **options)
  Client::RPCProducer.new(connection, queue:, reply_queue:, **options)
end

.serverObject



58
59
60
# File 'lib/lontara_utilities/rmq.rb', line 58

def server
  Server
end

.subscriber(connection, queue:) ⇒ Object

Publisher server.



38
39
40
# File 'lib/lontara_utilities/rmq.rb', line 38

def subscriber(connection, queue:)
  Server::Subscriber.new(connection, queue:)
end