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