Sha256: 1a0b9bff0aebbd477c450d71e5e638aff985c4562e217dd9210a161d07238c62

Contents?: true

Size: 1.7 KB

Versions: 7

Compression:

Stored size: 1.7 KB

Contents

# frozen_string_literal: true

module RubyRabbitmqJanus
  module Janus
    # Modules for manipulate responses sending by Janus
    module Responses
      # @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>
      # Read and decryt a response to janus
      class Response
        # Instanciate a response
        #
        # @param [Hash] response_janus
        #   Request parsing after Janus/RabbitMQ receive a response to request
        #   sending by user
        def initialize(response_janus)
          @request = response_janus
        rescue => error
          Tools::Log.instance.debug "Request error [initialize] : #{@request}"
          raise Errors::JanusResponseInit, error
        else
          Tools::Log.instance.debug "Response return : #{to_json}"
        end

        # Return request to json format
        def to_json
          @request.to_json
        rescue => error
          Tools::Log.instance.debug "Request error [to_json] : #{@request}"
          raise Errors::JanusResponseJson, [error, @request]
        end

        # Return request to json format with nice format
        def to_nice_json
          JSON.pretty_generate to_hash
        rescue => error
          Tools::Log.instance.debug "Request error [to_nice_json] : #{@request}"
          raise Errors::JanusResponsePrettyJson, error
        end

        # Return request to hash format
        def to_hash
          @request
        rescue => error
          Tools::Log.instance.debug "Request error [to_hash] : #{@request}"
          raise Errors::JanusResponseHash, [error, @request]
        end

        private

        attr_accessor :request
      end
    end
  end
end

require 'rrj/janus/responses/standard'
require 'rrj/janus/responses/event'

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
ruby_rabbitmq_janus-1.2.9 lib/rrj/janus/responses/response.rb
ruby_rabbitmq_janus-1.2.8 lib/rrj/janus/responses/response.rb
ruby_rabbitmq_janus-1.2.7 lib/rrj/janus/responses/response.rb
ruby_rabbitmq_janus-1.2.7.pre.alpha lib/rrj/janus/responses/response.rb
ruby_rabbitmq_janus-1.2.6 lib/rrj/janus/responses/response.rb
ruby_rabbitmq_janus-1.2.5 lib/rrj/janus/responses/response.rb
ruby_rabbitmq_janus-1.2.4 lib/rrj/janus/responses/response.rb