Sha256: e3783e90bec2ae26c3e52f9259927dfe79b3b7f7cfe471cbbc4d1c097a69dfad

Contents?: true

Size: 650 Bytes

Versions: 1

Compression:

Stored size: 650 Bytes

Contents

require 'json'
module ActionTexter
  module Messagebird
    class ErrorResponse

      attr_reader :code, :description

      ERROR_CODES = {
        2 => 'Request not allowed',
        9 => 'Missing params',
        10 => 'Invalid params',
        20 => 'Not found',
        25 => 'Not enough balance',
        98 => 'API not found',
        99 => 'Internal error'
      }

      def initialize(error)
        @errors = JSON.parse(error, symbolize_names: true)[:errors]
      end

      def errors
        @errors.map { |e| e.merge(error_message: ERROR_CODES[e[:code]]) }
      end

      def count
        @errors.count
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
action-texter-0.2.1.pre lib/action_texter/provider/messagebird/response_error.rb