Class: Brcobranca::Boleto::Citibank
- Defined in:
- lib/brcobranca/boleto/citibank.rb
Overview
Citibank
Instance Attribute Summary collapse
-
#portfolio ⇒ Object
REQUERIDO: Portfolio.
Attributes inherited from Base
#aceite, #agencia, #avalista, #avalista_documento, #carteira, #carteira_label, #cedente, #cedente_endereco, #codigo_servico, #conta_corrente, #convenio, #data_documento, #data_processamento, #data_vencimento, #demonstrativo, #descontos_e_abatimentos, #documento_cedente, #documento_numero, #emv, #especie, #especie_documento, #instrucao1, #instrucao2, #instrucao3, #instrucao4, #instrucao5, #instrucao6, #instrucao7, #instrucoes, #local_pagamento, #moeda, #nosso_numero, #quantidade, #sacado, #sacado_documento, #sacado_endereco, #valor, #variacao
Instance Method Summary collapse
-
#agencia_conta_boleto ⇒ String
Número da agência/código cedente do cliente para exibir no boleto.
-
#banco ⇒ String
Código do banco emissor.
- #banco_dv ⇒ String
-
#codigo_barras_segunda_parte ⇒ String
Monta a segunda parte do código de barras.
-
#convenio=(valor) ⇒ String
Número do convênio/contrato do cliente junto ao banco.
-
#initialize(campos = {}) ⇒ Citibank
constructor
A new instance of Citibank.
-
#nosso_numero=(valor) ⇒ String
Número seqüencial utilizado para identificar o boleto.
-
#nosso_numero_boleto ⇒ String
Nosso número, 11 dígitos.
-
#nosso_numero_dv ⇒ String
Dígito verificador do Nosso Número Utiliza-se o [-1..-1] para retornar o último caracter.
Methods inherited from Base
#agencia_dv, #codigo_barras, #conta_corrente_dv, #fator_vencimento, #logotipo, #valor_documento
Methods included from Template::Base
Methods included from Validations
#errors, included, #invalid?, #valid?
Constructor Details
#initialize(campos = {}) ⇒ Citibank
Returns a new instance of Citibank.
15 16 17 18 19 20 21 |
# File 'lib/brcobranca/boleto/citibank.rb', line 15 def initialize(campos = {}) campos = { carteira: '3', carteira_label: '3' }.merge!(campos) super(campos) end |
Instance Attribute Details
#portfolio ⇒ Object
REQUERIDO: Portfolio
8 9 10 |
# File 'lib/brcobranca/boleto/citibank.rb', line 8 def portfolio @portfolio end |
Instance Method Details
#agencia_conta_boleto ⇒ String
Número da agência/código cedente do cliente para exibir no boleto.
72 73 74 |
# File 'lib/brcobranca/boleto/citibank.rb', line 72 def agencia_conta_boleto "#{agencia} / #{convenio}" end |
#banco ⇒ String
Código do banco emissor
25 26 27 |
# File 'lib/brcobranca/boleto/citibank.rb', line 25 def banco '745' end |
#banco_dv ⇒ String
30 31 32 |
# File 'lib/brcobranca/boleto/citibank.rb', line 30 def banco_dv '5' end |
#codigo_barras_segunda_parte ⇒ String
Monta a segunda parte do código de barras. Descrição do Campo | Posição | Tamanho | Campo | Conteúdo do Campo Código do Produto | 20 | 1 | 6 | 3 - Cobrança com registro / sem registro ou 4 Cobrança de seguro - sem registro Portfólio | 21 a 23 | 3 | 7 | 3 últimos dígitos do campo de identificação da empresa no CITIBANK (Posição 44 a 46 do arquivo retorno) Base | 24 a 29 | 6. | 8. | Sequência | 30 a 31 | 2 | 9. | Dígito Conta Cosmos | 32 | 1 | 10. | Nosso Número + DV | 33 a 44 | 12 | 11. | A discriminação de “Índice”, “Base”, “Seqüência” e “Dígito verificador” podem ser encontrados na Conta Cosmos do cedente da seguinte forma: 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
92 93 94 |
# File 'lib/brcobranca/boleto/citibank.rb', line 92 def "#{carteira}#{portfolio}#{convenio[1..]}#{nosso_numero}#{nosso_numero_dv}" end |
#convenio=(valor) ⇒ String
Número do convênio/contrato do cliente junto ao banco.
42 43 44 |
# File 'lib/brcobranca/boleto/citibank.rb', line 42 def convenio=(valor) @convenio = valor.to_s.rjust(10, '0') if valor end |
#nosso_numero=(valor) ⇒ String
Número seqüencial utilizado para identificar o boleto.
48 49 50 |
# File 'lib/brcobranca/boleto/citibank.rb', line 48 def nosso_numero=(valor) @nosso_numero = valor.to_s.rjust(11, '0') if valor end |
#nosso_numero_boleto ⇒ String
Nosso número, 11 dígitos
54 55 56 |
# File 'lib/brcobranca/boleto/citibank.rb', line 54 def nosso_numero_boleto "#{nosso_numero}.#{nosso_numero_dv}" end |
#nosso_numero_dv ⇒ String
Dígito verificador do Nosso Número Utiliza-se o [-1..-1] para retornar o último caracter
61 62 63 64 65 66 |
# File 'lib/brcobranca/boleto/citibank.rb', line 61 def nosso_numero_dv nosso_numero.to_s.modulo11( multiplicador: (2..9).to_a, mapeamento: { 10 => 0, 11 => 0 } ) { |total| 11 - (total % 11) }.to_s end |