Class: RubyRabbitmqJanus::Janus::Transactions::Admin

Inherits:
Session show all
Defined in:
lib/rrj/janus/transactions/admin.rb

Overview

This class work with janus and send a series of message

Instance Method Summary collapse

Constructor Details

#initialize(session) ⇒ Admin

Returns a new instance of Admin.



10
11
12
13
14
# File 'lib/rrj/janus/transactions/admin.rb', line 10

def initialize(session)
  super(true, session)
rescue
  raise Errors::Janus::TransactionAdmin::Initialize
end

Instance Method Details

#connectObject

Begin connection with RabbitMQ



17
18
19
20
21
22
23
24
# File 'lib/rrj/janus/transactions/admin.rb', line 17

def connect
  rabbit.transaction_short do
    @publisher = Rabbit::Publisher::PublisherAdmin.new(rabbit.channel)
    yield
  end
rescue
  raise Errors::Janus::TransactionAdmin::Connect
end

#publish_message(type, options = {}) ⇒ Object

Write a message in queue in RabbitMQ



27
28
29
30
31
32
33
# File 'lib/rrj/janus/transactions/admin.rb', line 27

def publish_message(type, options = {})
  msg = Janus::Messages::Admin.new(type, opts.merge(options))
  response = read_response(publisher.publish(msg))
  Janus::Responses::Admin.new(response)
rescue
  raise Errors::Janus::TransactionAdmin::PublishMessage
end