Sha256: 112a3b9ba77dd8a3ccfc82deb16c1e642d0bdb91358b193d34ed822116063bce

Contents?: true

Size: 720 Bytes

Versions: 2

Compression:

Stored size: 720 Bytes

Contents

require 'json'
module ActionTexter
  module Provider
    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
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
action-texter-0.2.0.pre lib/action_texter/provider/messagebird/response_error.rb
action-texter-0.1.2.ALPHA lib/action_texter/provider/messagebird/response_error.rb