class RubyRabbitmqJanus::Janus::Transactions::Admin

This class work with janus and send a series of message

Public Class Methods

new(session) click to toggle source
Calls superclass method
# File lib/rrj/janus/transactions/admin.rb, line 12
def initialize(session)
  super(true, session)
end

Public Instance Methods

connect() { || ... } click to toggle source

Begin connection with RabbitMQ

# File lib/rrj/janus/transactions/admin.rb, line 17
def connect
  rabbit.transaction_short do
    @publisher = Rabbit::Publisher::Admin.new(rabbit.channel)
    yield
  end
end
publish_message(type, options = {}) click to toggle source

Write a message in queue in RabbitMQ

# File lib/rrj/janus/transactions/admin.rb, line 25
def publish_message(type, options = {})
  msg = Janus::Messages::Admin.new(type, options.merge(opts2))
  response = read_response(publisher.publish(msg))
  Janus::Responses::Admin.new(response)
end

Private Instance Methods

admin_secret() click to toggle source
# File lib/rrj/janus/transactions/admin.rb, line 37
def admin_secret
  Tools::Config.instance.options['rabbit']['admin_pass']
end
opts() click to toggle source
# File lib/rrj/janus/transactions/admin.rb, line 41
def opts
  { 'session_id' => session, 'admin_secret' => admin_secret }
end
opts2() click to toggle source
# File lib/rrj/janus/transactions/admin.rb, line 45
def opts2
  session.merge('admin_secret' => admin_secret)
end
send_a_message() { || ... } click to toggle source
# File lib/rrj/janus/transactions/admin.rb, line 33
def send_a_message
  Janus::Responses::Admin.new(publisher.publish(yield))
end