class RubyRabbitmqJanus::Janus::Responses::Response
@author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>
# Read and parse a response to janus.
Read a message in rabbitmq queue. This message is formatted to JSON or Hash format. For developpment it's possible to used a `nice` JSON.
Attributes
request[RW]
Public Class Methods
new(response_janus)
click to toggle source
Instantiate a response
@param [Hash] response_janus
Request parsing after Janus/RabbitMQ receive a response to request sending by user
# File lib/rrj/janus/responses/response.rb, line 19 def initialize(response_janus) @request = response_janus errors if error? bad_request if bad_request? end
Public Instance Methods
error_code()
click to toggle source
Return request error code
@return [Integer] Code error
# File lib/rrj/janus/responses/response.rb, line 50 def error_code @request['error']['code'].to_i end
error_reason()
click to toggle source
Return request error reason
@return [String] Reason error
# File lib/rrj/janus/responses/response.rb, line 57 def error_reason @request['error']['reason'] end
janus()
click to toggle source
Read field Janus
in response message
# File lib/rrj/janus/responses/response.rb, line 62 def janus request['janus'] end
to_hash()
click to toggle source
Return request to hash format
@return [Hash] Response
to Hash format
# File lib/rrj/janus/responses/response.rb, line 43 def to_hash @request end
to_json(*_args)
click to toggle source
Return request to json format
@return [String] Response
to JSON format
# File lib/rrj/janus/responses/response.rb, line 29 def to_json(*_args) @request.to_json end
to_nice_json()
click to toggle source
Return request to json format with nice format
@return [String] Response
to JSON format with indent
# File lib/rrj/janus/responses/response.rb, line 36 def to_nice_json JSON.pretty_generate to_hash end
Private Instance Methods
bad_request()
click to toggle source
# File lib/rrj/janus/responses/response.rb, line 76 def bad_request klass = RubyRabbitmqJanus::Janus::Responses::Errors.new klass.default_error(999, self) end
bad_request?()
click to toggle source
# File lib/rrj/janus/responses/response.rb, line 81 def bad_request? @request.nil? end
error?()
click to toggle source
# File lib/rrj/janus/responses/response.rb, line 72 def error? @request.key?('janus') && @request['janus'].match?('error') end
errors()
click to toggle source
# File lib/rrj/janus/responses/response.rb, line 85 def errors klass = RubyRabbitmqJanus::Janus::Responses::Errors.new klass.send("_#{error_code}", self) end
key?(value)
click to toggle source
# File lib/rrj/janus/responses/response.rb, line 68 def key?(value) @request.key?(value) end