Class: Brcobranca::Boleto::Banrisul

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

Overview

Banrisul

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, #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 = {}) ⇒ Banrisul

Returns a new instance of Banrisul.



17
18
19
20
# File 'lib/brcobranca/boleto/banrisul.rb', line 17

def initialize(campos = {})
  campos = { carteira: '2' }.merge!(campos)
  super(campos)
end

Instance Attribute Details

#digito_convenioObject

REQUERIDO: digito verificador do convenio



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

def digito_convenio
  @digito_convenio
end

Instance Method Details

#agencia=(valor) ⇒ String

Agência

Returns:

  • (String)

    4 caracteres numéricos.



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

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

#agencia_conta_boletoObject



76
77
78
# File 'lib/brcobranca/boleto/banrisul.rb', line 76

def agencia_conta_boleto
  "#{agencia} / #{convenio[0..5]}.#{convenio[6]}.#{digito_convenio}"
end

#bancoString

Codigo do banco emissor (3 dígitos sempre)

Returns:

  • (String)

    3 caracteres numéricos.



25
26
27
# File 'lib/brcobranca/boleto/banrisul.rb', line 25

def banco
  '041'
end

#banco_dvString

Dígito verificador do banco

Returns:

  • (String)

    1 caractere.



32
33
34
# File 'lib/brcobranca/boleto/banrisul.rb', line 32

def banco_dv
  '8'
end

#codigo_barras_segunda_parteObject

Posições 20 a 20 - Produto:

1 Cobrança Normal, Fichário emitido pelo BANRISUL.
2 Cobrança Direta, Fichário emitido pelo CLIENTE.

Posição 21 a 21 - Constante 1 Posição 22 a 25 - Código da Agência, com quatro dígitos, sem o Número de Controle. Posição 26 a 32 - Código de Cedente do Beneficiário sem Número de Controle. Posição 33 a 40 - Nosso Número sem Número de Controle. Posição 41 a 42 - Constante 40. Posição 43 a 44 - Duplo Dígito referente às posições 20 a 42 (módulos 10 e 11).



89
90
91
92
# File 'lib/brcobranca/boleto/banrisul.rb', line 89

def codigo_barras_segunda_parte
  campo_livre = "#{carteira}1#{agencia}#{convenio}#{nosso_numero}40"
  campo_livre + campo_livre.duplo_digito
end

#conta_corrente=(valor) ⇒ String

Conta

Returns:

  • (String)

    8 caracteres numéricos.



46
47
48
# File 'lib/brcobranca/boleto/banrisul.rb', line 46

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

#convenio=(valor) ⇒ String

Número do convênio do cliente junto ao banco.

Returns:

  • (String)

    7 caracteres numéricos.



59
60
61
# File 'lib/brcobranca/boleto/banrisul.rb', line 59

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

#nosso_numero=(valor) ⇒ String

Número documento

Returns:

  • (String)

    8 caracteres numéricos.



53
54
55
# File 'lib/brcobranca/boleto/banrisul.rb', line 53

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

#nosso_numero_boletoString

Nosso número para exibição no boleto.

Returns:

  • (String)

    caracteres numéricos.



72
73
74
# File 'lib/brcobranca/boleto/banrisul.rb', line 72

def nosso_numero_boleto
  "#{nosso_numero}-#{nosso_numero.duplo_digito}"
end