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