Class: RubyRabbitmqJanus::Rabbit::Propertie
- Inherits:
-
Object
- Object
- RubyRabbitmqJanus::Rabbit::Propertie
- Defined in:
- lib/rrj/rabbit/propertie.rb
Overview
Manage properties to message sending in rabbitmq queue
Instance Attribute Summary collapse
-
#correlation ⇒ String
readonly
Is a string uniq generated by SecureRandom.
Instance Method Summary collapse
-
#initialize(instance = 1) ⇒ Propertie
constructor
Initialize a message sending to rabbitmq.
-
#options ⇒ Object
Define options sending to rabbitmq.
-
#options_admin(type_request) ⇒ Object
Define option sending to rabbitmq for janus admin message.
Constructor Details
#initialize(instance = 1) ⇒ Propertie
Initialize a message sending to rabbitmq
15 16 17 18 19 20 21 |
# File 'lib/rrj/rabbit/propertie.rb', line 15 def initialize(instance = 1) Tools::Log.instance.debug 'initalize a propertie to message' @correlation = SecureRandom.uuid @instance = instance rescue raise Errors::Rabbit::Propertie::Initialize end |
Instance Attribute Details
#correlation ⇒ String (readonly)
Returns Is a string uniq generated by SecureRandom.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/rrj/rabbit/propertie.rb', line 11 class Propertie attr_reader :correlation # Initialize a message sending to rabbitmq def initialize(instance = 1) Tools::Log.instance.debug 'initalize a propertie to message' @correlation = SecureRandom.uuid @instance = instance rescue raise Errors::Rabbit::Propertie::Initialize end # Define options sending to rabbitmq def base.merge(routing_key: Tools::Cluster.instance.queue_to(@instance)) rescue raise Errors::Rabbit::Propertie::Options end # Define option sending to rabbitmq for janus admin message def (type_request) base.merge(routing_key: determine_routing_key(type_request)) rescue raise Errors::Rabbit::Propertie::Options_admin end private 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 def base { correlation_id: @correlation, content_type: 'application/json' } end end |
Instance Method Details
#options ⇒ Object
Define options sending to rabbitmq
24 25 26 27 28 |
# File 'lib/rrj/rabbit/propertie.rb', line 24 def base.merge(routing_key: Tools::Cluster.instance.queue_to(@instance)) rescue raise Errors::Rabbit::Propertie::Options end |
#options_admin(type_request) ⇒ Object
Define option sending to rabbitmq for janus admin message
31 32 33 34 35 |
# File 'lib/rrj/rabbit/propertie.rb', line 31 def (type_request) base.merge(routing_key: determine_routing_key(type_request)) rescue raise Errors::Rabbit::Propertie::Options_admin end |