Class: Brcobranca::Boleto::Sicredi
- Defined in:
- lib/brcobranca/boleto/sicredi.rb
Overview
Banco SICREDI
Instance Attribute Summary collapse
-
#byte_idt ⇒ Object
REQUERIDO: Byte de identificação do cedente do bloqueto utilizado para compor o nosso número.
-
#posto ⇒ Object
REQUERIDO: Código do posto da cooperativa de crédito.
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 ⇒ Object
- #agencia_posto_conta ⇒ Object
-
#banco ⇒ String
Codigo do banco emissor (3 dígitos sempre).
-
#banco_dv ⇒ String
Dígito verificador do banco.
-
#carteira=(valor) ⇒ String
Carteira.
-
#codigo_barras_segunda_parte ⇒ Object
Segunda parte do código de barras.
-
#conta_corrente=(valor) ⇒ String
Número da conta corrente.
-
#convenio=(valor) ⇒ String
Código Beneficiário.
-
#initialize(campos = {}) ⇒ Sicredi
constructor
Nova instancia do Bradesco.
-
#nosso_numero=(valor) ⇒ String
Número seqüencial utilizado para identificar o boleto.
-
#nosso_numero_boleto ⇒ String
Nosso número para exibir no boleto.
- #nosso_numero_codigo_barra ⇒ Object
-
#nosso_numero_dv ⇒ Integer
Dígito verificador do nosso número.
- #nosso_numero_with_byte_idt ⇒ Object
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 = {}) ⇒ Sicredi
Nova instancia do Bradesco
33 34 35 36 |
# File 'lib/brcobranca/boleto/sicredi.rb', line 33 def initialize(campos = {}) campos = { carteira: '3', especie_documento: 'A' }.merge!(campos) super(campos) end |
Instance Attribute Details
#byte_idt ⇒ Object
REQUERIDO: Byte de identificação do cedente do bloqueto utilizado para compor o nosso número.
16 17 18 |
# File 'lib/brcobranca/boleto/sicredi.rb', line 16 def byte_idt @byte_idt end |
#posto ⇒ Object
REQUERIDO: Código do posto da cooperativa de crédito
13 14 15 |
# File 'lib/brcobranca/boleto/sicredi.rb', line 13 def posto @posto end |
Instance Method Details
#agencia_conta_boleto ⇒ Object
111 112 113 |
# File 'lib/brcobranca/boleto/sicredi.rb', line 111 def agencia_conta_boleto "#{agencia}.#{posto}.#{convenio}" end |
#agencia_posto_conta ⇒ Object
115 116 117 |
# File 'lib/brcobranca/boleto/sicredi.rb', line 115 def agencia_posto_conta "#{agencia}#{posto}#{convenio}" end |
#banco ⇒ String
Codigo do banco emissor (3 dígitos sempre)
41 42 43 |
# File 'lib/brcobranca/boleto/sicredi.rb', line 41 def banco '748' end |
#banco_dv ⇒ String
Dígito verificador do banco
73 74 75 |
# File 'lib/brcobranca/boleto/sicredi.rb', line 73 def banco_dv 'X' end |
#carteira=(valor) ⇒ String
Carteira
48 49 50 |
# File 'lib/brcobranca/boleto/sicredi.rb', line 48 def carteira=(valor) @carteira = valor.to_s.rjust(1, '0') if valor end |
#codigo_barras_segunda_parte ⇒ Object
Segunda parte do código de barras. Posição Tamanho Conteúdo 20 – 20 01 Código numérico correspondente ao tipo de cobrança: “1” – Com Registro “3 – Sem Registro”. Obs.: O SICREDI não validará este campo. 21 – 21 01 Código numérico correspondente ao tipo de carteira: “1” - carteira simples 22 – 30 09 Nosso número 31 – 34 # 04 # Cooperativa de crédito/agência beneficiária 35 – 36 # 02 # Posto da cooperativa de crédito/agência beneficiária 37 – 41 # 05 # Código do beneficiário 42 – 42 # 01 # Será 1 (um) quando houver valor expresso no campo “valor do documento”43 – 43 # 01 # Filler – zeros “0”44 – 44 # 01 # DV do campo livre calculado por módulo 11 com aproveitamento total (resto igual a 0 ou 1 DV cai para 0)
130 131 132 133 |
# File 'lib/brcobranca/boleto/sicredi.rb', line 130 def campo_livre = "#{carteira}1#{}#{agencia_posto_conta}10" campo_livre + campo_livre.modulo11(mapeamento: mapeamento_para_modulo_11).to_s end |
#conta_corrente=(valor) ⇒ String
Número da conta corrente
61 62 63 |
# File 'lib/brcobranca/boleto/sicredi.rb', line 61 def conta_corrente=(valor) @conta_corrente = valor.to_s.rjust(5, '0') if valor end |
#convenio=(valor) ⇒ String
Código Beneficiário
67 68 69 |
# File 'lib/brcobranca/boleto/sicredi.rb', line 67 def convenio=(valor) @convenio = valor.to_s.rjust(5, '0') if valor end |
#nosso_numero=(valor) ⇒ String
Número seqüencial utilizado para identificar o boleto.
100 101 102 |
# File 'lib/brcobranca/boleto/sicredi.rb', line 100 def nosso_numero=(valor) @nosso_numero = valor.to_s.rjust(5, '0') if valor end |
#nosso_numero_boleto ⇒ String
Nosso número para exibir no boleto. O campo Nosso Número deve ser apresentado no formato AA/BXXXXX-D, onde: AA = Ano atual B = Byte que pode ser de 2 a 9. Somente será 1 se forem boletos pré-impressos. XXXXX = número sequencial D = dígito verificador calculado
86 87 88 |
# File 'lib/brcobranca/boleto/sicredi.rb', line 86 def nosso_numero_boleto "#{nosso_numero_with_byte_idt[0..1]}/#{nosso_numero_with_byte_idt[2..]}-#{nosso_numero_dv}" end |
#nosso_numero_codigo_barra ⇒ Object
90 91 92 |
# File 'lib/brcobranca/boleto/sicredi.rb', line 90 def nosso_numero_boleto.gsub(/\D/, '') end |
#nosso_numero_dv ⇒ Integer
Dígito verificador do nosso número
106 107 108 109 |
# File 'lib/brcobranca/boleto/sicredi.rb', line 106 def nosso_numero_dv "#{agencia_posto_conta}#{nosso_numero_with_byte_idt}" .modulo11(mapeamento: mapeamento_para_modulo_11) end |
#nosso_numero_with_byte_idt ⇒ Object
94 95 96 |
# File 'lib/brcobranca/boleto/sicredi.rb', line 94 def nosso_numero_with_byte_idt "#{data_processamento.strftime('%y')}#{byte_idt}#{nosso_numero}" end |