Class: RubyRabbitmqJanus::Janus::Messages::Message
- Inherits:
-
Object
- Object
- RubyRabbitmqJanus::Janus::Messages::Message
- Defined in:
- lib/rrj/janus/messages/message.rb
Overview
# Create a message for janus.
Create a message, in hash format, and sending to json format. It’s loading file base and change elements and configure message for used in rabbitmq.
Instance Attribute Summary collapse
-
#type ⇒ String
readonly
Type to request sending (‘base::info’, ‘peer::trickle’).
Instance Method Summary collapse
-
#correlation ⇒ String
Return correlation to message.
-
#initialize(template_request, options = {}) ⇒ Message
constructor
Instanciate an message.
-
#to_hash ⇒ Hash
Return request to hash format.
-
#to_json(*_args) ⇒ String
Return request to json format.
-
#to_nice_json ⇒ String
Return request to json format with nice format.
Constructor Details
#initialize(template_request, options = {}) ⇒ Message
Instanciate an message
def initialize(template_request, options = { ‘instance’ => 1 })
44 45 46 47 48 49 50 |
# File 'lib/rrj/janus/messages/message.rb', line 44 def initialize(template_request, = {}) @request = {} @type = template_request @properties = Rabbit::Propertie.new(['instance']) load_request_file prepare_request() end |
Instance Attribute Details
#type ⇒ String (readonly)
Returns Type to request sending (‘base::info’, ‘peer::trickle’).
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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/rrj/janus/messages/message.rb', line 21 class Message attr_reader :type # Instanciate an message # # @param template_request [String] Name of request prepare # @param [Hash] options Options to request # @option options [String] :session_id Identifier to session # @option options [String] :handle_id Identifier to session manipulate # @option options [Hash] :other Element contains in request sending # # @example Initialize a message # Message.new('test', { # "session_id": 42, # "handle_id": 42, # "replace": { # "audio": false, # "video": true # }, # "add": { # "subtitle": true # }) # def initialize(template_request, options = { 'instance' => 1 }) def initialize(template_request, = {}) @request = {} @type = template_request @properties = Rabbit::Propertie.new(['instance']) load_request_file prepare_request() end # Return request to json format # # @return [String] Request to JSON format def to_json(*_args) @request.to_json end # Return request to json format with nice format # # @return [String] Request to JSON format with indent def to_nice_json JSON.pretty_generate to_hash end # Return request to hash format # # @return [Hash] Request to Hash format def to_hash @request end # Return correlation to message # # @return [String] Correlation string def correlation @properties.correlation end private attr_accessor :properties, :request def load_request_file @request = request_instance ::Log.debug "Opening request : #{to_json}" end def prepare_request() ::Log.debug "Prepare request for janus : #{to_json}" end def request_instance JSON.parse File.read Tools::Requests.instance.requests[@type] end def find_instance() if .key?('instance') ['instance'] else Models::JanusInstance.find_by_session(['session_id']) end end end |
Instance Method Details
#correlation ⇒ String
Return correlation to message
76 77 78 |
# File 'lib/rrj/janus/messages/message.rb', line 76 def correlation @properties.correlation end |
#to_hash ⇒ Hash
Return request to hash format
69 70 71 |
# File 'lib/rrj/janus/messages/message.rb', line 69 def to_hash @request end |
#to_json(*_args) ⇒ String
Return request to json format
55 56 57 |
# File 'lib/rrj/janus/messages/message.rb', line 55 def to_json(*_args) @request.to_json end |
#to_nice_json ⇒ String
Return request to json format with nice format
62 63 64 |
# File 'lib/rrj/janus/messages/message.rb', line 62 def to_nice_json JSON.pretty_generate to_hash end |