class RubyRabbitmqJanus::Rabbit::Propertie
@!attribute [r] correlation
@return [String] Is a string uniq generated by SecureRandom
Manage properties to message sending in rabbitmq queue
Attributes
correlation[R]
Public Class Methods
new(instance = 1)
click to toggle source
Initialize a message sending to rabbitmq
# File lib/rrj/rabbit/propertie.rb, line 15 def initialize(instance = 1) ::Log.debug 'initalize a propertie to message' @correlation = SecureRandom.uuid @instance = instance end
Public Instance Methods
options()
click to toggle source
Define options sending to RabbitMQ
# File lib/rrj/rabbit/propertie.rb, line 22 def options base.merge(routing_key: routing_key) end
options_admin()
click to toggle source
Define option sending to rabbitmq for janus admin message
# File lib/rrj/rabbit/propertie.rb, line 27 def options_admin base.merge(routing_key: routing_key_admin) end
Private Instance Methods
base()
click to toggle source
# File lib/rrj/rabbit/propertie.rb, line 43 def base { correlation_id: @correlation, content_type: 'application/json' } end
determine_routing_key(type_request)
click to toggle source
# File lib/rrj/rabbit/propertie.rb, line 33 def determine_routing_key(type_request) cluster = Tools::Cluster.instance if type_request.include?('admin') cluster.queue_admin_to(@instance) else cluster.queue_to(@instance) end end
routing_key()
click to toggle source
# File lib/rrj/rabbit/propertie.rb, line 47 def routing_key Tools::Cluster.instance.queue_to(@instance) end
routing_key_admin()
click to toggle source
# File lib/rrj/rabbit/propertie.rb, line 51 def routing_key_admin Tools::Cluster.instance.queue_admin_to(@instance) end