Sha256: 42fccbcb3864145dbfac2979949b8a001ab01e1a202bd5dd690b1c8a7dadd448

Contents?: true

Size: 892 Bytes

Versions: 4

Compression:

Stored size: 892 Bytes

Contents

# frozen_string_literal: true

require_relative "responses/message_data_response"
require_relative "responses/phone_number_data_response"
require_relative "responses/phone_numbers_data_response"
require_relative "responses/read_message_data_response"
require_relative "responses/message_error_response"

module WhatsappSdk
  module Api
    class Response
      attr_accessor :error, :data

      def initialize(response:, data_class_type:, error_class_type: Responses::MessageErrorResponse)
        @data = data_class_type.build_from_response(response: response)
        @error = error_class_type.build_from_response(response: response)
      end

      # @return [Boolean] Whether or not the response is successful.
      def ok?
        @error.nil?
      end

      # @return [Boolean] Whether or not the response has an error.
      def error?
        !!@error
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
whatsapp_sdk-0.3.2 lib/whatsapp_sdk/api/response.rb
whatsapp_sdk-0.3.1 lib/whatsapp_sdk/api/response.rb
whatsapp_sdk-0.3.0 lib/whatsapp_sdk/api/response.rb
whatsapp_sdk-0.2.0 lib/whatsapp_sdk/api/response.rb