Sha256: 97cbbafe7ad417b9526f6443582948bf916ffee958599fdd29c54f1da50857a7

Contents?: true

Size: 406 Bytes

Versions: 4

Compression:

Stored size: 406 Bytes

Contents

module Afipws
  class ResponseError < Error
    attr_reader :errors

    def initialize errors
      raise ArgumentError, '`errors` must be an array of maps, each with :code and :msg keys' unless errors.is_a? Array

      super errors.map { |e| "#{e[:code]}: #{e[:msg]}" }.join '; '
      @errors = errors
    end

    def code? code
      @errors.any? { |e| e[:code].to_s == code.to_s }
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
afipws-2.3.0 lib/afipws/errors/response_error.rb
afipws-2.2.0 lib/afipws/errors/response_error.rb
afipws-2.1.0 lib/afipws/errors/response_error.rb
afipws-2.0.0 lib/afipws/errors/response_error.rb