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