Class: Brcobranca::Boleto::BancoBrasilia

Inherits:
Base
  • Object
show all
Defined in:
lib/brcobranca/boleto/banco_brasilia.rb

Overview

Banco Brasilia

Instance Attribute Summary collapse

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

Methods inherited from Base

#agencia_dv, #banco_dv, #codigo_barras, #conta_corrente_dv, #fator_vencimento, #logotipo, #nosso_numero_dv, #valor_documento

Methods included from Template::Base

define_template

Methods included from Validations

#errors, included, #invalid?, #valid?

Constructor Details

#initialize(campos = {}) ⇒ BancoBrasilia

Nova instância da BancoBrasilia

Parameters:

  • campos (Hash) (defaults to: {})


21
22
23
24
25
26
27
28
29
# File 'lib/brcobranca/boleto/banco_brasilia.rb', line 21

def initialize(campos = {})
  campos = {
    carteira: '2',
    nosso_numero_incremento: '000',
    local_pagamento: 'PAGÁVEL EM QUALQUER BANCO ATÉ O VENCIMENTO'
  }.merge!(campos)

  super(campos)
end

Instance Attribute Details

#nosso_numero_incrementoObject

OPCIONAL: Incremento do Campo Livre do Nosso Número



8
9
10
# File 'lib/brcobranca/boleto/banco_brasilia.rb', line 8

def nosso_numero_incremento
  @nosso_numero_incremento
end

Instance Method Details

#agencia=(valor) ⇒ String

Número da agência

Returns:

  • (String)

    3 caracteres numéricos.



39
40
41
# File 'lib/brcobranca/boleto/banco_brasilia.rb', line 39

def agencia=(valor)
  @agencia = valor.to_s.rjust(3, '0') if valor
end

#agencia_conta_boletoString

Número da agência/código cedente do cliente para exibir no boleto.

Examples:

boleto.agencia_conta_boleto #=> "1565/100000-4"

Returns:

  • (String)


71
72
73
# File 'lib/brcobranca/boleto/banco_brasilia.rb', line 71

def agencia_conta_boleto
  "000 - #{agencia} - #{conta_corrente}"
end

#bancoString

Código do banco emissor

Returns:

  • (String)


33
34
35
# File 'lib/brcobranca/boleto/banco_brasilia.rb', line 33

def banco
  '070'
end

#codigo_barras_segunda_parteString

Monta a segunda parte do código de barras.

POSIÇÃO | Tamanho| NOME DO CAMPO | CONTEÚDO/DESCRIÇÃO 1 - 3 | 3 | Incremento do Campo Livre do Nosso Número | Incremento do Campo livre. Tal incremento é opcional e uma vez utilizado deverá ser concatenado com as posições 2 a 7 do Nosso Número. 4 - 13 | 10 | Código do Beneficiário (Agencia/Conta) | Conta corrente de cobrança 14 - 25 | 12 | Nosso Número | Nosso Número. O formato é MSSSSSS070dd, em que M=Modalidade, S=Sequencial (campo livre do Nosso Número), 070-fixo, dd=Dígitos

Composição do Nosso Número POSIÇÃO | Tamanho | NOME DO CAMPO | CONTEÚDO/DESCRIÇÃO 1 - 3 | 1 | Modalidade de Cobrança | Informar a modalidade de cobrança conforme a seguir:

1: Direta Modalidade 1;
2: Direta Modalidade 2;
3: Modalidade 3 (emissão BRB)
As modalidades 1 e 2 são para a emissão local e a 3 para a emissão BRB.
Neste caso, o padrão é postagem SIM.

4 - 9 | 6 | Campo Livre do Nosso Número | Neste campo livre, deve o sistema do sistema do Beneficiário controlar e identificar o boleto em sua carteira.

Pode ser incrementado por meio das posições 1 a 3 da Chave BRB. Não são admitidas duplicidades.

10 - 12 | 3 | Banco | 070 13 - 13 | 1 | Dígito 1 | Calcula-se utilizando-se o sistema de “Módulo 10”, pesos 2 e 1. Ver detalhe ao lado. 14 - 14 | 1 | Dígito 2 | Calcula-se utilizando o sistema de “Modulo 11”, pesos de 2 a 7, com exceções quando o resto é igual a 0 e igual a 1. Ver detalhe ao lado.

Returns:

  • (String)


96
97
98
99
# File 'lib/brcobranca/boleto/banco_brasilia.rb', line 96

def codigo_barras_segunda_parte
  campo_livre = "#{nosso_numero_incremento}#{agencia}#{conta_corrente}#{carteira}#{nosso_numero}070"
  campo_livre + campo_livre.duplo_digito
end

#conta_corrente=(valor) ⇒ String

Conta corrente

Returns:

  • (String)

    7 caracteres numéricos.



45
46
47
# File 'lib/brcobranca/boleto/banco_brasilia.rb', line 45

def conta_corrente=(valor)
  @conta_corrente = valor.to_s.rjust(7, '0') if valor
end

#nosso_numero=(valor) ⇒ String

Número seqüencial utilizado para identificar o boleto.

Returns:

  • (String)

    6 caracteres numéricos.



51
52
53
# File 'lib/brcobranca/boleto/banco_brasilia.rb', line 51

def nosso_numero=(valor)
  @nosso_numero = valor.to_s.rjust(6, '0') if valor
end

#nosso_numero_boletoString

Nosso número boleto

Returns:

  • (String)


63
64
65
# File 'lib/brcobranca/boleto/banco_brasilia.rb', line 63

def nosso_numero_boleto
  "#{carteira}#{nosso_numero}070#{codigo_barras_segunda_parte[-2..]}"
end