def duplo_digito
      raise ArgumentError, 'Número inválido' unless is_number?

      digito_1 = modulo10
      digito_2 = "#{self}#{digito_1}".modulo11(multiplicador: [2, 3, 4, 5, 6, 7]) { |total| (total < 11 ? total : total % 11) }

      while digito_2 == 1
        digito_1 = if digito_1 == 9
                     0
                   else
                     digito_1 + 1
                   end

        digito_2 = "#{self}#{digito_1}".modulo11(multiplicador: [2, 3, 4, 5, 6, 7]) { |total| (total < 11 ? total : total % 11) }
      end

      digito_2 = 11 - digito_2 if digito_2 != 0

      "#{digito_1}#{digito_2}"
    end
def duplo_digito
      raise ArgumentError, 'Número inválido' unless is_number?

      digito_1 = modulo10
      digito_2 = "#{self}#{digito_1}".modulo11(multiplicador: [2, 3, 4, 5, 6, 7]) { |total| (total < 11 ? total : total % 11) }

      while digito_2 == 1
        digito_1 = if digito_1 == 9
                     0
                   else
                     digito_1 + 1
                   end

        digito_2 = "#{self}#{digito_1}".modulo11(multiplicador: [2, 3, 4, 5, 6, 7]) { |total| (total < 11 ? total : total % 11) }
      end

      digito_2 = 11 - digito_2 if digito_2 != 0

      "#{digito_1}#{digito_2}"
    end
Calcula duplo dígito com modulo 10 e 11

 @return [String]
 @raise  [ArgumentError] Caso não seja um número inteiro.