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