Class: Brcobranca::Boleto::Cecred

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

Overview

Cecred

Instance Attribute Summary

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, #documento_cedente, #documento_numero, #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, #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 = {}) ⇒ Cecred

Nova instancia do Cecred

Parameters:

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

14
15
16
17
18
19
20
# File 'lib/brcobranca/boleto/cecred.rb', line 14

def initialize(campos = {})
  campos = {
    carteira: '1',
    local_pagamento: 'PAGÁVEL PREFERENCIALMENTE NAS COOPERATIVAS DO SISTEMA CECRED'
  }.merge!(campos)
  super(campos)
end

Instance Method Details

#agencia_conta_boletoString

Agência + conta corrente do cliente para exibir no boleto.

Examples:

boleto.agencia_conta_boleto #=> "0001-9 / 0000002-7"

Returns:

  • (String)

75
76
77
# File 'lib/brcobranca/boleto/cecred.rb', line 75

def agencia_conta_boleto
  "#{agencia}-#{agencia_dv} / #{conta_corrente}-#{conta_corrente_dv}"
end

#bancoString

Codigo do banco emissor (3 dígitos sempre)

Returns:

  • (String)

    3 caracteres numéricos.


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

def banco
  '085'
end

#banco_dvInteger

Dígito verificador do banco

Returns:

  • (Integer)

    1 caracteres numéricos.


31
32
33
# File 'lib/brcobranca/boleto/cecred.rb', line 31

def banco_dv
  "1"
end

#carteira=(valor) ⇒ String

Carteira

Returns:

  • (String)

    2 caracteres numéricos.


49
50
51
# File 'lib/brcobranca/boleto/cecred.rb', line 49

def carteira=(valor)
  @carteira = valor.to_s.rjust(2, '0') if valor
end

#codigo_barras_segunda_parteString

Segunda parte do código de barras.

Returns:

  • (String)

    25 caracteres numéricos.


81
82
83
# File 'lib/brcobranca/boleto/cecred.rb', line 81

def codigo_barras_segunda_parte
  "#{convenio}#{nosso_numero_boleto}#{carteira}"
end

#conta_corrente_dvInteger

Dígito verificador da conta corrente

Returns:

  • (Integer)

    1 caracteres numéricos.


37
38
39
# File 'lib/brcobranca/boleto/cecred.rb', line 37

def conta_corrente_dv
  conta_corrente.modulo11(mapeamento: { 10 => 0 })
end

#convenio=(valor) ⇒ String

Convenio

Returns:

  • (String)

    6 caracteres numéricos.


43
44
45
# File 'lib/brcobranca/boleto/cecred.rb', line 43

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

#numeroString

Número seqüencial utilizado para identificar o boleto. (Número de dígitos depende do tipo de convênio).

Returns 9 caracteres numéricos.

Returns:

  • (String)

    9 caracteres numéricos.

Raises:


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

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

#nosso_numero_boletoString

Nosso número para exibir no boleto.

Examples:

boleto.nosso_numero_boleto #=> "10000000027000095-7"

Returns:

  • (String)

67
68
69
# File 'lib/brcobranca/boleto/cecred.rb', line 67

def nosso_numero_boleto
  "#{conta_corrente}#{conta_corrente_dv}#{nosso_numero}"
end