Class: BrBoleto::Boleto::Base Abstract
- Inherits:
-
ActiveModelBase
- Object
- ActiveModelBase
- BrBoleto::Boleto::Base
- Includes:
- Calculos
- Defined in:
- lib/br_boleto/boleto/base.rb
Overview
Métodos { #codigo_banco, #digito_codigo_banco, #agencia_codigo_cedente, #nosso_numero, #codigo_de_barras_do_banco}
Métodos para serem escritos nas subclasses (exitem outros opcionais, conforme visto nessa documentação).
Instance Attribute Summary collapse
-
#aceite ⇒ Object
Aceitar após o vencimento.
-
#agencia ⇒ String
4 caracteres.
-
#carteira ⇒ String
Força a carteira a retornar o valor como string.
-
#cedente ⇒ Object
Nome/Razão social que aparece no campo ‘Cedente’ no boleto.
-
#codigo_cedente ⇒ String
Formatação para o código do cedente conforme o tamanho definido por cada banco Perceba que é obrigatório ter o metodo self.tamanho_maximo_codigo_cedente implementado na classe de cada banco.
-
#codigo_moeda ⇒ Object
Código da moeda.
-
#conta_corrente ⇒ Object
Número da Conta corrente.
-
#data_documento ⇒ Object
Data em que o documento foi gerado.
-
#data_vencimento ⇒ Object
Data do vencimento do boleto.
-
#documento_cedente ⇒ Object
Retorna o documento do cedente com tamanho 0, 11 ou 14 caracteres Sempre retorna o valor sem a formatação.
-
#documento_sacado ⇒ Object
Retorna o documento do sacado com tamanho 0, 11 ou 14 caracteres Sempre retorna o valor sem a formatação.
-
#endereco_cedente ⇒ Object
Deve ser informado o endereço completo do Cedente.
-
#endereco_sacado ⇒ Object
Endereço do sacado.
-
#especie ⇒ Object
Essencial para identificação da moeda em que a operação foi efetuada.
-
#especie_documento ⇒ Object
Normalmente se vê neste campo a informação “DM” que quer dizer duplicata mercantil, mas existem inúmeros tipos de espécie, neste caso é aconselhável discutir com o banco qual a espécie de documento será utilizada, a identificação incorreta da espécie do documento não vai impedir que o boleto seja pago e nem que o credito seja efetuado na conta do cliente, mas pode ocasionar na impossibilidade de se protestar o boleto caso venha a ser necessário..
-
#instrucoes1 ⇒ Object
Campos de instruções.
-
#instrucoes2 ⇒ Object
Campos de instruções.
-
#instrucoes3 ⇒ Object
Campos de instruções.
-
#instrucoes4 ⇒ Object
Campos de instruções.
-
#instrucoes5 ⇒ Object
Campos de instruções.
-
#instrucoes6 ⇒ Object
Campos de instruções.
-
#local_pagamento ⇒ Object
Descrição do local do pagamento.
-
#logo ⇒ Object
Caminho do logo do banco.
- #numero_documento ⇒ String
-
#sacado ⇒ Object
Nome do sacado.
-
#valor_documento ⇒ Object
Valor total do documento.
Class Method Summary collapse
-
.tamanho_maximo_agencia ⇒ Object
Esses métodos servem apenas para questão de testes Não são utilizados nas subclasses.
- .tamanho_maximo_codigo_cedente ⇒ Object
- .tamanho_maximo_numero_documento ⇒ Object
-
.valor_documento_tamanho_maximo ⇒ Float
Tamanho maximo do valor do documento do boleto.
Instance Method Summary collapse
-
#aceite_formatado ⇒ String
Se o aceite for ‘true’, retorna ‘S’.
-
#agencia_codigo_cedente ⇒ String
Agência, código do cedente ou nosso número.
-
#carteira_formatada ⇒ String
Embora o padrão seja mostrar o número da carteira no boleto, alguns bancos requerem que seja mostrado um valor diferente na carteira.
-
#codigo_banco ⇒ String
Código do Banco.
-
#codigo_banco_formatado ⇒ String
Formata o código do banco com o dígito do código do banco.
-
#codigo_de_barras ⇒ String
Código de Barras.
-
#codigo_de_barras_do_banco ⇒ String
Segunda parte do código de barras.
-
#codigo_de_barras_padrao ⇒ String
Primeira parte do código de barras.
-
#data_vencimento_deve_ser_uma_data ⇒ Object
Verifica e valida se a data do vencimento deve ser uma data válida.
-
#default_values ⇒ Hash
Opções default.
-
#deve_validar_agencia? ⇒ True
Método usado para verificar se deve realizar a validação de tamanho do campo ‘agência’.
-
#deve_validar_carteira? ⇒ True
Método usado para verificar se deve realizar a validação do campo ‘carteira’.
-
#deve_validar_codigo_cedente? ⇒ True
Método usado para verificar se deve realizar a validação de tamanho do campo ‘codigo_cedente’.
-
#deve_validar_conta_corrente? ⇒ True
Método usado para verificar se deve realizar a validação de tamanho do campo ‘conta_corrente’.
-
#deve_validar_numero_documento? ⇒ True
Método usado para verificar se deve realizar a validação de tamanho do campo ‘numero_documento’.
-
#digito_codigo_banco ⇒ String
Dígito do código do banco.
-
#digito_codigo_de_barras ⇒ String
Dígito verificador do código de barras (DAC).
-
#documento_cedente_formatado ⇒ Object
Retorna o documento do cedente formatado.
-
#documento_cedente_formatado_com_label ⇒ Object
Retorna o documento do cedente formatado com label de CNPJ ou CPF.
-
#documento_sacado_formatado ⇒ Object
Retorna o documento do sacado formatado.
-
#documento_sacado_formatado_com_label ⇒ Object
Retorna o documento do sacado formatado com label de CNPJ ou CPF.
-
#fator_de_vencimento ⇒ String
Fator de vencimento que é calculado a partir de uma data base.
-
#initialize(options = {}, &block) ⇒ Base
constructor
Passing the attributes as Hash or block.
-
#linha_digitavel ⇒ String
Representação numérica do código de barras, mais conhecida como linha digitável! :p.
-
#nosso_numero ⇒ String
O Nosso Número é o número que identifica unicamente um boleto para uma conta.
-
#persisted? ⇒ False
Seguindo a interface do Active Model.
-
#tipo_cobranca_formatada ⇒ Object
Tipo de cobrança Ex: :com_registro, :sem_registro, :caucionada A implementação para esse valor deve ser implementada para cada banco, pois cada banco tem uma maneira diferente para saber o tipo de cobrança.
-
#to_partial_path ⇒ String
Returns a string that identifying the render path associated with the object.
-
#valor_formatado_para_codigo_de_barras ⇒ String
Formata o valor do documentado para ser mostrado no código de barras e na linha digitável com 08 dígitos na casa dos Reais e 02 dígitos nas casas dos centavos.
Methods inherited from ActiveModelBase
Constructor Details
#initialize(options = {}, &block) ⇒ Base
Passing the attributes as Hash or block
For the options, waiting for the ActiveModel 4 and the ActiveModel::Model. :)
Exemplos
O recomendado é usar os boletos herdando de seu respectivo banco. Por exemplo:
class Sicoob < BrBoleto::Sicoob
end
Agora você pode emitir um boleto usando a classe criada acima:
Sicoob.new(conta_corrente: '89755', agencia: '0097', :carteira => '195')
Você pode usar blocos se quiser:
Sicoob.new do |boleto|
boleto.conta_corrente = '89755'
boleto.agencia = '0097'
boleto.carteira = '198'
boleto.numero_documento = '12345678'
boleto.codigo_cedente = '909014'
end
264 265 266 267 268 269 270 |
# File 'lib/br_boleto/boleto/base.rb', line 264 def initialize(={}, &block) default_values.merge().each do |attribute, value| send("#{attribute}=", value) if respond_to?("#{attribute}=") end yield(self) if block_given? end |
Instance Attribute Details
#aceite ⇒ Object
Aceitar após o vencimento. Nessa gem utilizamos o campo aceite como Boolean. Obviamente, true para ‘S’ e false/nil para ‘N’.
182 183 184 |
# File 'lib/br_boleto/boleto/base.rb', line 182 def aceite @aceite end |
#agencia ⇒ String
Returns 4 caracteres.
96 97 98 |
# File 'lib/br_boleto/boleto/base.rb', line 96 def agencia @agencia end |
#carteira ⇒ String
Força a carteira a retornar o valor como string
92 93 94 |
# File 'lib/br_boleto/boleto/base.rb', line 92 def carteira @carteira end |
#cedente ⇒ Object
Nome/Razão social que aparece no campo ‘Cedente’ no boleto.
12 13 14 |
# File 'lib/br_boleto/boleto/base.rb', line 12 def cedente @cedente end |
#codigo_cedente ⇒ String
Formatação para o código do cedente conforme o tamanho definido por cada banco Perceba que é obrigatório ter o metodo self.tamanho_maximo_codigo_cedente implementado na classe de cada banco
19 20 21 |
# File 'lib/br_boleto/boleto/base.rb', line 19 def codigo_cedente @codigo_cedente end |
#codigo_moeda ⇒ Object
Código da moeda. Campo auto explicativo. Padrão ‘9’ (Real).
111 112 113 |
# File 'lib/br_boleto/boleto/base.rb', line 111 def codigo_moeda @codigo_moeda end |
#conta_corrente ⇒ Object
Número da Conta corrente. Campo auto explicativo.
106 107 108 |
# File 'lib/br_boleto/boleto/base.rb', line 106 def conta_corrente @conta_corrente end |
#data_documento ⇒ Object
Data em que o documento foi gerado. Campo auto explicativo.
146 147 148 |
# File 'lib/br_boleto/boleto/base.rb', line 146 def data_documento @data_documento end |
#data_vencimento ⇒ Object
Data do vencimento do boleto. Campo auto explicativo.
Campo Obrigatório
55 56 57 |
# File 'lib/br_boleto/boleto/base.rb', line 55 def data_vencimento @data_vencimento end |
#documento_cedente ⇒ Object
Retorna o documento do cedente com tamanho 0, 11 ou 14 caracteres Sempre retorna o valor sem a formatação
41 42 43 |
# File 'lib/br_boleto/boleto/base.rb', line 41 def documento_cedente @documento_cedente end |
#documento_sacado ⇒ Object
Retorna o documento do sacado com tamanho 0, 11 ou 14 caracteres Sempre retorna o valor sem a formatação
164 165 166 |
# File 'lib/br_boleto/boleto/base.rb', line 164 def documento_sacado @documento_sacado end |
#endereco_cedente ⇒ Object
Deve ser informado o endereço completo do Cedente. Se o título possuir a figura de Sacador Avalista o endereço informado deverá ser do Sacador Avalista, conforme Lei Federal 12.039 de 01/10/2009.
Campo Obrigatório
49 50 51 |
# File 'lib/br_boleto/boleto/base.rb', line 49 def endereco_cedente @endereco_cedente end |
#endereco_sacado ⇒ Object
Endereço do sacado.
OBS.: Esse campo não possui validação do campo. Caso você precise imeplemente na subclasse.
Esse campo serve apenas para mostrar no boleto no campo “Sacado”.
172 173 174 |
# File 'lib/br_boleto/boleto/base.rb', line 172 def endereco_sacado @endereco_sacado end |
#especie ⇒ Object
Essencial para identificação da moeda em que a operação foi efetuada.
Padrão ‘R$’ (Real).
117 118 119 |
# File 'lib/br_boleto/boleto/base.rb', line 117 def especie @especie end |
#especie_documento ⇒ Object
Normalmente se vê neste campo a informação “DM” que quer dizer duplicata mercantil, mas existem inúmeros tipos de espécie, neste caso é aconselhável discutir com o banco qual a espécie de documento será utilizada, a identificação incorreta da espécie do documento não vai impedir que o boleto seja pago e nem que o credito seja efetuado na conta do cliente, mas pode ocasionar na impossibilidade de se protestar o boleto caso venha a ser necessário.
Segue a sigla e descrição do campo especie do documento:
---------------------------------
| Sigla | Descri
Padrão ‘DM’ (Duplicata Mercantil)
142 143 144 |
# File 'lib/br_boleto/boleto/base.rb', line 142 def especie_documento @especie_documento end |
#instrucoes1 ⇒ Object
Campos de instruções. São permitidas até seis linhas de instruções a serem mostradas no boleto
187 188 189 |
# File 'lib/br_boleto/boleto/base.rb', line 187 def instrucoes1 @instrucoes1 end |
#instrucoes2 ⇒ Object
Campos de instruções. São permitidas até seis linhas de instruções a serem mostradas no boleto
187 188 189 |
# File 'lib/br_boleto/boleto/base.rb', line 187 def instrucoes2 @instrucoes2 end |
#instrucoes3 ⇒ Object
Campos de instruções. São permitidas até seis linhas de instruções a serem mostradas no boleto
187 188 189 |
# File 'lib/br_boleto/boleto/base.rb', line 187 def instrucoes3 @instrucoes3 end |
#instrucoes4 ⇒ Object
Campos de instruções. São permitidas até seis linhas de instruções a serem mostradas no boleto
187 188 189 |
# File 'lib/br_boleto/boleto/base.rb', line 187 def instrucoes4 @instrucoes4 end |
#instrucoes5 ⇒ Object
Campos de instruções. São permitidas até seis linhas de instruções a serem mostradas no boleto
187 188 189 |
# File 'lib/br_boleto/boleto/base.rb', line 187 def instrucoes5 @instrucoes5 end |
#instrucoes6 ⇒ Object
Campos de instruções. São permitidas até seis linhas de instruções a serem mostradas no boleto
187 188 189 |
# File 'lib/br_boleto/boleto/base.rb', line 187 def instrucoes6 @instrucoes6 end |
#local_pagamento ⇒ Object
Descrição do local do pagamento.
176 177 178 |
# File 'lib/br_boleto/boleto/base.rb', line 176 def local_pagamento @local_pagamento end |
#logo ⇒ Object
Caminho do logo do banco.
196 197 198 |
# File 'lib/br_boleto/boleto/base.rb', line 196 def logo @logo end |
#numero_documento ⇒ String
60 61 62 |
# File 'lib/br_boleto/boleto/base.rb', line 60 def numero_documento @numero_documento end |
#sacado ⇒ Object
Nome do sacado.
O sacado é a pessoa para o qual o boleto está sendo emitido, podemos resumir dizendo que o sacado é o cliente do Cedente, ou aquele para o qual uma determina mercadoria foi vendida e o pagamento desta será efetuado por meio de boleto de cobrança.
Campo Obrigatório.
156 157 158 |
# File 'lib/br_boleto/boleto/base.rb', line 156 def sacado @sacado end |
#valor_documento ⇒ Object
Valor total do documento. Campo auto explicativo.
Campo Obrigatório.
72 73 74 |
# File 'lib/br_boleto/boleto/base.rb', line 72 def valor_documento @valor_documento end |
Class Method Details
.tamanho_maximo_agencia ⇒ Object
Esses métodos servem apenas para questão de testes Não são utilizados nas subclasses. Devem obrigatóriamente ser sobrescritos nas subclasses
336 337 338 |
# File 'lib/br_boleto/boleto/base.rb', line 336 def self.tamanho_maximo_agencia 4 end |
.tamanho_maximo_codigo_cedente ⇒ Object
339 340 341 |
# File 'lib/br_boleto/boleto/base.rb', line 339 def self.tamanho_maximo_codigo_cedente 6 end |
.tamanho_maximo_numero_documento ⇒ Object
342 343 344 |
# File 'lib/br_boleto/boleto/base.rb', line 342 def self.tamanho_maximo_numero_documento 6 end |
.valor_documento_tamanho_maximo ⇒ Float
Tamanho maximo do valor do documento do boleto. Acredito que não existirá valor de documento nesse valor, porém a biblioteca precisa manter a consistência.
No código de barras o valor do documento precisa ter um tamanho de 8 caracteres para os reais (acrescentando zeros à esquerda), e 2 caracteres nos centavos (acrescentando zeros à esquerda).
208 209 210 |
# File 'lib/br_boleto/boleto/base.rb', line 208 def self.valor_documento_tamanho_maximo 99999999.99 end |
Instance Method Details
#aceite_formatado ⇒ String
Se o aceite for ‘true’, retorna ‘S’. Retorna ‘N’, caso contrário.
422 423 424 425 426 427 428 |
# File 'lib/br_boleto/boleto/base.rb', line 422 def aceite_formatado if @aceite.present? 'S' else 'N' end end |
#agencia_codigo_cedente ⇒ String
Agência, código do cedente ou nosso número. Esse campo é específico para cada banco.
361 362 363 |
# File 'lib/br_boleto/boleto/base.rb', line 361 def agencia_codigo_cedente raise NotImplementedError.new("Not implemented #agencia_codigo_cedente in #{self}.") end |
#carteira_formatada ⇒ String
Embora o padrão seja mostrar o número da carteira no boleto, alguns bancos requerem que seja mostrado um valor diferente na carteira. Para essas exceções, sobrescreva esse método na subclasse.
413 414 415 |
# File 'lib/br_boleto/boleto/base.rb', line 413 def carteira_formatada carteira end |
#codigo_banco ⇒ String
Código do Banco. Esse campo é específico para cada banco.
319 320 321 |
# File 'lib/br_boleto/boleto/base.rb', line 319 def codigo_banco raise NotImplementedError.new("Not implemented #codigo_banco in #{self}.") end |
#codigo_banco_formatado ⇒ String
Formata o código do banco com o dígito do código do banco. Método usado para o campo de código do banco localizado no cabeçalho do boleto.
351 352 353 |
# File 'lib/br_boleto/boleto/base.rb', line 351 def codigo_banco_formatado "#{codigo_banco}-#{digito_codigo_banco}" end |
#codigo_de_barras ⇒ String
Código de Barras
O código de barras contêm exatamente 44 posições nessa sequência:
____________________________________________________________
| Posi
456 457 458 |
# File 'lib/br_boleto/boleto/base.rb', line 456 def "#{codigo_de_barras_padrao}#{codigo_de_barras_do_banco}".insert(4, ) end |
#codigo_de_barras_do_banco ⇒ String
Segunda parte do código de barras. Esse campo é específico para cada banco.
475 476 477 |
# File 'lib/br_boleto/boleto/base.rb', line 475 def raise NotImplementedError.new("Not implemented #codigo_de_barras_do_banco in #{self}.") end |
#codigo_de_barras_padrao ⇒ String
Primeira parte do código de barras. Essa parte do código de barras é padrão para todos os bancos..
465 466 467 |
# File 'lib/br_boleto/boleto/base.rb', line 465 def "#{codigo_banco}#{codigo_moeda}#{fator_de_vencimento}#{valor_formatado_para_codigo_de_barras}" end |
#data_vencimento_deve_ser_uma_data ⇒ Object
Verifica e valida se a data do vencimento deve ser uma data válida. Precisa ser uma data para o cálculo do fator do vencimento.
598 599 600 |
# File 'lib/br_boleto/boleto/base.rb', line 598 def data_vencimento_deve_ser_uma_data errors.add(:data_vencimento, :invalid) unless data_vencimento.kind_of?(Date) end |
#default_values ⇒ Hash
Opções default.
Caso queira sobrescrever as opções, você pode simplesmente instanciar o objeto passando a opção desejada:
class Bradesco < BrBoleto::Bradesco
end
Bradesco.new do |bradesco|
bradesco.codigo_moeda = 'outro_codigo_da_moeda'
bradesco.especie = 'outra_especie_que_nao_seja_em_reais'
bradesco.especie_documento = 'outra_especie_do_documento'
bradesco.data_documento = Date.tomorrow
bradesco.aceite = false
end
289 290 291 292 293 294 295 296 297 298 |
# File 'lib/br_boleto/boleto/base.rb', line 289 def default_values { :codigo_moeda => '9', :especie => 'R$', :especie_documento => 'DM', :local_pagamento => 'PAGÁVEL EM QUALQUER BANCO ATÉ O VENCIMENTO', :data_documento => Date.current, :aceite => true } end |
#deve_validar_agencia? ⇒ True
Método usado para verificar se deve realizar a validação de tamanho do campo ‘agência’. Sobrescreva esse método na subclasse, caso você mesmo queira fazer as validações.
555 556 557 |
# File 'lib/br_boleto/boleto/base.rb', line 555 def deve_validar_agencia? true end |
#deve_validar_carteira? ⇒ True
Método usado para verificar se deve realizar a validação do campo ‘carteira’. Sobrescreva esse método na subclasse, caso você mesmo queira fazer as validações.
591 592 593 |
# File 'lib/br_boleto/boleto/base.rb', line 591 def deve_validar_carteira? true end |
#deve_validar_codigo_cedente? ⇒ True
Método usado para verificar se deve realizar a validação de tamanho do campo ‘codigo_cedente’. Sobrescreva esse método na subclasse, caso você mesmo queira fazer as validações.
573 574 575 |
# File 'lib/br_boleto/boleto/base.rb', line 573 def deve_validar_codigo_cedente? true end |
#deve_validar_conta_corrente? ⇒ True
Método usado para verificar se deve realizar a validação de tamanho do campo ‘conta_corrente’. Sobrescreva esse método na subclasse, caso você mesmo queira fazer as validações.
564 565 566 |
# File 'lib/br_boleto/boleto/base.rb', line 564 def deve_validar_conta_corrente? true end |
#deve_validar_numero_documento? ⇒ True
Método usado para verificar se deve realizar a validação de tamanho do campo ‘numero_documento’. Sobrescreva esse método na subclasse, caso você mesmo queira fazer as validações.
582 583 584 |
# File 'lib/br_boleto/boleto/base.rb', line 582 def deve_validar_numero_documento? true end |
#digito_codigo_banco ⇒ String
Dígito do código do banco. Esse campo é específico para cada banco.
329 330 331 |
# File 'lib/br_boleto/boleto/base.rb', line 329 def digito_codigo_banco raise NotImplementedError.new("Not implemented #digito_codigo_banco in #{self}.") end |
#digito_codigo_de_barras ⇒ String
Dígito verificador do código de barras (DAC).
Por definição da FEBRABAN e do Banco Central do Brasil, na 5º posição do Código de Barras, deve ser indicado obrigatoriamente o “dígito verificador” (DAC), calculado através do módulo 11.
OBS.: Para mais detalhes deste cálculo, veja a descrição em BrBoleto::Calculos::Modulo11FatorDe2a9.
490 491 492 |
# File 'lib/br_boleto/boleto/base.rb', line 490 def Modulo11FatorDe2a9.new("#{codigo_de_barras_padrao}#{codigo_de_barras_do_banco}") end |
#documento_cedente_formatado ⇒ Object
Retorna o documento do cedente formatado
656 657 658 |
# File 'lib/br_boleto/boleto/base.rb', line 656 def documento_cedente_formatado BrBoleto::Helper::CpfCnpj.new(documento_cedente).com_formatacao end |
#documento_cedente_formatado_com_label ⇒ Object
Retorna o documento do cedente formatado com label de CNPJ ou CPF
664 665 666 |
# File 'lib/br_boleto/boleto/base.rb', line 664 def documento_cedente_formatado_com_label BrBoleto::Helper::CpfCnpj.new(documento_cedente).formatado_com_label end |
#documento_sacado_formatado ⇒ Object
Retorna o documento do sacado formatado
630 631 632 |
# File 'lib/br_boleto/boleto/base.rb', line 630 def documento_sacado_formatado BrBoleto::Helper::CpfCnpj.new(documento_sacado).com_formatacao end |
#documento_sacado_formatado_com_label ⇒ Object
Retorna o documento do sacado formatado com label de CNPJ ou CPF
638 639 640 |
# File 'lib/br_boleto/boleto/base.rb', line 638 def documento_sacado_formatado_com_label BrBoleto::Helper::CpfCnpj.new(documento_sacado).formatado_com_label end |
#fator_de_vencimento ⇒ String
Fator de vencimento que é calculado a partir de uma data base. Veja FatorVencimento para mais detalhes.
435 436 437 |
# File 'lib/br_boleto/boleto/base.rb', line 435 def fator_de_vencimento FatorVencimento.new(data_vencimento) end |
#linha_digitavel ⇒ String
Representação numérica do código de barras, mais conhecida como linha digitável! :p
A representação numérica do código de barras é composta, por cinco campos. Sendo os três primeiros campos, amarrados por DAC’s (dígitos verificadores), todos calculados pelo módulo 10.
OBS.: Para mais detalhes deste cálculo, veja a descrição em Modulo10.
Linha Digitável
A linha digitável contêm exatamente 47 posições nessa sequência:
_______________________________________________________________________________________________________
|Campo | Posi
528 529 530 |
# File 'lib/br_boleto/boleto/base.rb', line 528 def linha_digitavel LinhaDigitavel.new() end |
#nosso_numero ⇒ String
O Nosso Número é o número que identifica unicamente um boleto para uma conta. O tamanho máximo do Nosso Número depende do banco e carteira.
Para carteiras registradas, você deve solicitar ao seu banco um intervalo de números para utilização. Quando estiver perto do fim do intervalo, deve solicitar um novo intervalo.
Para carteiras não registradas o Nosso Número é livre. Ao receber o retorno do banco, é através do Nosso Número que será possível identificar os boletos pagos.
Esse campo é específico para cada banco.
379 380 381 |
# File 'lib/br_boleto/boleto/base.rb', line 379 def nosso_numero raise NotImplementedError.new("Not implemented #nosso_numero in #{self}.") end |
#persisted? ⇒ False
Seguindo a interface do Active Model.
546 547 548 |
# File 'lib/br_boleto/boleto/base.rb', line 546 def persisted? false end |
#tipo_cobranca_formatada ⇒ Object
Tipo de cobrança Ex: :com_registro, :sem_registro, :caucionada A implementação para esse valor deve ser implementada para cada banco, pois cada banco tem uma maneira diferente para saber o tipo de cobrança.
Obs: O VALOR DESSE METODO NÃO INFLUÊNCIA NA GERAÇÃO DO BOLETO É APENAS PARA QUESTÃO DE INFORMAÇÃO CASO PRECISE PARA OUTRAS COISAS, POR EXEMPLO: É UTILIZADO NOS PAGAMENTOS DAS REMESSAS, MAIS ESPECIFICAMENTE NO COMPLEMENTO TRAILER DO LOTE PARA O BANCO SICOOB NO CNAB 240.
309 310 |
# File 'lib/br_boleto/boleto/base.rb', line 309 def tipo_cobranca_formatada end |
#to_partial_path ⇒ String
Returns a string that identifying the render path associated with the object.
ActionPack uses this to find a suitable partial to represent the object.
538 539 540 |
# File 'lib/br_boleto/boleto/base.rb', line 538 def to_partial_path "br_boleto/#{self.class.name.demodulize.underscore}" end |
#valor_formatado_para_codigo_de_barras ⇒ String
Formata o valor do documentado para ser mostrado no código de barras e na linha digitável com 08 dígitos na casa dos Reais e 02 dígitos nas casas dos centavos.
393 394 395 396 397 |
# File 'lib/br_boleto/boleto/base.rb', line 393 def valor_documento_formatado = (Integer(valor_documento.to_f * 100) / Float(100)) real, centavos = valor_documento_formatado.to_s.split(/\./) "#{real.rjust(8, '0')}#{centavos.ljust(2, '0')}" end |