Class: Brcobranca::Boleto::Hsbc
- Defined in:
- lib/brcobranca/boleto/hsbc.rb
Overview
Banco HSBC
Instance Attribute Summary
Attributes inherited from Base
#aceite, #agencia, #carteira, #cedente, #codigo_servico, #conta_corrente, #convenio, #data_documento, #data_processamento, #dias_vencimento, #documento_cedente, #especie, #especie_documento, #instrucao1, #instrucao2, #instrucao3, #instrucao4, #instrucao5, #instrucao6, #instrucao7, #local_pagamento, #moeda, #numero_documento, #quantidade, #sacado, #sacado_documento, #sacado_endereco, #valor, #variacao
Instance Method Summary collapse
-
#agencia_conta_boleto ⇒ String
Número do convênio/contrato do cliente para exibir no boleto.
-
#banco ⇒ String
Codigo do banco emissor (3 dígitos sempre).
-
#codigo_barras_segunda_parte ⇒ String
Segunda parte do código de barras.
-
#initialize(campos = {}) ⇒ Hsbc
constructor
Nova instancia do Hsbc.
-
#nosso_numero ⇒ String
Número seqüencial utilizado para identificar o boleto.
-
#nosso_numero_boleto ⇒ String
Nosso número para exibir no boleto.
-
#numero_documento=(valor) ⇒ String
Número seqüencial utilizado para identificar o boleto.
Methods inherited from Base
#agencia_dv, #banco_dv, #codigo_barras, #conta_corrente_dv, #data_vencimento, #fator_vencimento, #logotipo, #nosso_numero_dv, #valor_documento
Methods included from Template::Base
Constructor Details
#initialize(campos = {}) ⇒ Hsbc
Nova instancia do Hsbc
13 14 15 16 |
# File 'lib/brcobranca/boleto/hsbc.rb', line 13 def initialize(campos={}) campos = {:carteira => "CNR"}.merge!(campos) super(campos) end |
Instance Method Details
#agencia_conta_boleto ⇒ String
Número do convênio/contrato do cliente para exibir no boleto.
73 74 75 |
# File 'lib/brcobranca/boleto/hsbc.rb', line 73 def agencia_conta_boleto self.conta_corrente end |
#banco ⇒ String
Codigo do banco emissor (3 dígitos sempre)
21 22 23 |
# File 'lib/brcobranca/boleto/hsbc.rb', line 21 def banco "399" end |
#codigo_barras_segunda_parte ⇒ String
Segunda parte do código de barras.
Montagem é baseada no tipo de carteira e na presença da data de vencimento<br/> OBS: Somente a carteira CNR está implementada.<br/>
84 85 86 87 88 89 90 91 |
# File 'lib/brcobranca/boleto/hsbc.rb', line 84 def if self.carteira == "CNR" dias_julianos = self.data_vencimento.to_juliano "#{self.conta_corrente}#{self.numero_documento}#{dias_julianos}2" else raise Brcobranca::NaoImplementado.new("Tipo de carteira não implementado.") end end |
#nosso_numero ⇒ String
Número seqüencial utilizado para identificar o boleto.
Montagem é baseada na presença da data de vencimento.<br/> OBS: Somente a carteira CNR está implementada.<br/>
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/brcobranca/boleto/hsbc.rb', line 38 def nosso_numero if self.data_vencimento.kind_of?(Date) self.codigo_servico = "4" dia = self.data_vencimento.day.to_s.rjust(2,'0') mes = self.data_vencimento.month.to_s.rjust(2,'0') ano = self.data_vencimento.year.to_s[2..3] data = "#{dia}#{mes}#{ano}" parte_1 = "#{self.numero_documento}#{self.numero_documento.modulo11_9to2_10_como_zero}#{self.codigo_servico}" soma = parte_1.to_i + self.conta_corrente.to_i + data.to_i numero = "#{parte_1}#{soma.to_s.modulo11_9to2_10_como_zero}" numero else raise Brcobranca::NaoImplementado.new("Tipo de carteira não implementado.") # TODO - Verificar outras carteiras. # self.codigo_servico = "5" # parte_1 = "#{self.numero_documento}#{self.numero_documento.modulo11_9to2_10_como_zero}#{self.codigo_servico}" # soma = parte_1.to_i + self.conta_corrente.to_i # numero = "#{parte_1}#{soma.to_s.modulo11_9to2_10_como_zero}" # numero end end |
#nosso_numero_boleto ⇒ String
Nosso número para exibir no boleto.
65 66 67 |
# File 'lib/brcobranca/boleto/hsbc.rb', line 65 def nosso_numero_boleto self.nosso_numero end |
#numero_documento=(valor) ⇒ String
Número seqüencial utilizado para identificar o boleto.
27 28 29 |
# File 'lib/brcobranca/boleto/hsbc.rb', line 27 def numero_documento=(valor) @numero_documento = valor.to_s.rjust(13,'0') unless valor.nil? end |