lib/brcobranca/boleto/citibank.rb in brcobranca-9.2.4 vs lib/brcobranca/boleto/citibank.rb in brcobranca-10.0.0
- old
+ new
@@ -1,22 +1,23 @@
-# -*- encoding: utf-8 -*-
-#
+# frozen_string_literal: true
+
module Brcobranca
module Boleto
- class Citibank < Base # Citibank
+ # Citibank
+ class Citibank < Base
# <b>REQUERIDO</b>: Portfolio
attr_accessor :portfolio
- validates_length_of :convenio, is: 10, message: 'deve possuir 10 dígitos.' #Conta cosmos
+ validates_length_of :convenio, is: 10, message: 'deve possuir 10 dígitos.' # Conta cosmos
validates_length_of :nosso_numero, is: 11, message: 'deve possuir 11 dígitos.'
- validates_length_of :portfolio, is: 3, message: 'deve possuir 3 dígitos.' #Portfolio
+ validates_length_of :portfolio, is: 3, message: 'deve possuir 3 dígitos.' # Portfolio
# @param (see Brcobranca::Boleto::Base#initialize)
def initialize(campos = {})
campos = {
carteira: '3',
- carteira_label: '3',
+ carteira_label: '3'
}.merge!(campos)
super(campos)
end
# Código do banco emissor
@@ -56,11 +57,11 @@
# Dígito verificador do Nosso Número
# Utiliza-se o [-1..-1] para retornar o último caracter
# @return [String]
def nosso_numero_dv
- "#{nosso_numero}".modulo11(
+ nosso_numero.to_s.modulo11(
multiplicador: (2..9).to_a,
mapeamento: { 10 => 0, 11 => 0 }
) { |total| 11 - (total % 11) }.to_s
end
@@ -84,10 +85,10 @@
# Ex.: 0.123456.78.9 = Conta Cosmos
# 0 - Índice
# 123456 - Base (Posição 24 a 29)
# 78 - Sequência (Posição 30 a 31)
# 9 - Dígito Verificador (Posição 32
- #
+ #
# @return [String]
def codigo_barras_segunda_parte
"#{carteira}#{portfolio}#{convenio[1..-1]}#{nosso_numero}#{nosso_numero_dv}"
end
end