tulios-brcobranca-rails2 2.0.9 → 2.0.10
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/brcobranca.rb +1 -1
- data/lib/brcobranca/boleto/banco_caixa.rb +89 -83
- data/spec/brcobranca/banco_caixa_spec.rb +72 -132
- metadata +8 -8
data/lib/brcobranca.rb
CHANGED
@@ -1,118 +1,124 @@
|
|
1
1
|
# Banco Caixa
|
2
|
+
#
|
3
|
+
# A Caixa tem dois padrões para a geração de boleto: SIGCB e SICOB.
|
4
|
+
# O SICOB foi substiuido pelo SIGCB que é implementado por esta classe.
|
5
|
+
# http://downloads.caixa.gov.br/_arquivos/cobranca_caixa_sigcb/manuais/CODIGO_BARRAS_SIGCB.PDF
|
6
|
+
|
2
7
|
class BancoCaixa < Brcobranca::Boleto::Base
|
3
|
-
|
4
|
-
|
8
|
+
MODALIDADE_COBRANCA = {
|
9
|
+
:registrada => '1',
|
10
|
+
:sem_registro => '2'
|
11
|
+
}
|
5
12
|
|
6
|
-
|
7
|
-
|
13
|
+
EMISSAO_BOLETO = {
|
14
|
+
:cedente => '4'
|
8
15
|
}
|
9
16
|
|
10
|
-
#
|
17
|
+
# Validações
|
18
|
+
# validates_length_of :carteira, :is => 2, :message => 'deve possuir 2 dígitos.'
|
19
|
+
# validates_length_of :convenio, :is => 6, :message => 'deve possuir 6 dígitos.'
|
20
|
+
# validates_length_of :numero_documento, :is => 15, :message => 'deve possuir 15 dígitos.'
|
21
|
+
|
22
|
+
# Nova instância da CaixaEconomica
|
11
23
|
# @param (see Brcobranca::Boleto::Base#initialize)
|
12
|
-
def initialize
|
13
|
-
campos = {
|
24
|
+
def initialize campos = {}
|
25
|
+
campos = {
|
26
|
+
:carteira => "#{MODALIDADE_COBRANCA[:sem_registro]}#{EMISSAO_BOLETO[:cedente]}"
|
27
|
+
}.merge!(campos)
|
28
|
+
|
29
|
+
campos.merge!(:convenio => "#{campos[:convenio]}".rjust(6, '0')) if campos[:convenio]
|
30
|
+
campos.merge!(:numero_documento => "#{campos[:numero_documento]}".rjust(15, '0')) if campos[:numero_documento]
|
31
|
+
|
14
32
|
super(campos)
|
15
33
|
end
|
16
|
-
|
17
|
-
def fator_vencimento
|
18
|
-
self.data_vencimento.fator_vencimento.to_s.rjust(4,'0')
|
19
|
-
end
|
20
|
-
|
21
|
-
# Valor total do documento
|
22
|
-
# @return [String] 10 caracteres numéricos.
|
23
|
-
def valor_documento_formatado
|
24
|
-
self.valor_documento.limpa_valor_moeda.to_s.rjust(10,'0')
|
25
|
-
end
|
26
34
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
return CARTEIRAS[self.valor_carteira] if self.valor_carteira.is_number?
|
31
|
-
self.valor_carteira
|
32
|
-
end
|
35
|
+
# Código do banco emissor
|
36
|
+
# @return [String]
|
37
|
+
def banco; '104' end
|
33
38
|
|
34
|
-
#
|
35
|
-
#
|
36
|
-
# @return [String]
|
37
|
-
def
|
38
|
-
|
39
|
+
# Dígito verificador do código do banco em módulo 10
|
40
|
+
# Módulo 10 de 104 é 0
|
41
|
+
# @return [String]
|
42
|
+
def banco_dv; '0' end
|
43
|
+
|
44
|
+
# Nosso número, 17 dígitos
|
45
|
+
# 1 à 2: carteira
|
46
|
+
# 3 à 17: campo_livre
|
47
|
+
# @return [String]
|
48
|
+
def nosso_numero_boleto
|
49
|
+
"#{carteira}#{numero_documento}-#{nosso_numero_dv}"
|
39
50
|
end
|
40
51
|
|
41
|
-
|
42
|
-
|
52
|
+
# Dígito verificador do Nosso Número
|
53
|
+
# Utiliza-se o [-1..-1] para retornar o último caracter
|
54
|
+
# @return [String]
|
55
|
+
def nosso_numero_dv
|
56
|
+
"#{carteira}#{numero_documento}".modulo11_9to2.to_s[-1..-1]
|
43
57
|
end
|
44
58
|
|
45
|
-
# Número da agência/
|
59
|
+
# Número da agência/código cedente do cliente para exibir no boleto.
|
46
60
|
# @return [String]
|
47
61
|
# @example
|
48
|
-
#
|
49
|
-
def agencia_conta_boleto
|
50
|
-
"#{
|
62
|
+
# boleto.agencia_conta_boleto #=> "1565/100000-4"
|
63
|
+
def agencia_conta_boleto
|
64
|
+
"#{agencia}/#{convenio}-#{convenio_dv}"
|
51
65
|
end
|
52
66
|
|
53
|
-
#
|
54
|
-
#
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
def numero_documento
|
59
|
-
case self.carteira
|
60
|
-
when 'SR'
|
61
|
-
"82#{@numero_documento.to_s.rjust(8, '0')}"
|
62
|
-
else
|
63
|
-
raise Brcobranca::NaoImplementado.new("Tipo de convênio não implementado.")
|
64
|
-
end
|
67
|
+
# Dígito verificador do convênio ou código do cedente
|
68
|
+
# @return [String]
|
69
|
+
def convenio_dv
|
70
|
+
raise Brcobranca::BoletoInvalido.new unless convenio
|
71
|
+
"#{convenio.modulo11_2to9}"
|
65
72
|
end
|
66
73
|
|
67
|
-
|
68
|
-
|
69
|
-
# @see BancoBrasil#numero_documento
|
70
|
-
def nosso_numero_dv
|
71
|
-
self.numero_documento.modulo11_2to9
|
74
|
+
def fator_vencimento
|
75
|
+
data_vencimento.fator_vencimento.to_s.rjust(4,'0')
|
72
76
|
end
|
73
77
|
|
74
|
-
#
|
75
|
-
#
|
76
|
-
|
77
|
-
|
78
|
-
# boleto.nosso_numero_boleto #=> "12345678904"
|
79
|
-
def nosso_numero_boleto
|
80
|
-
"#{self.numero_documento}#{self.nosso_numero_dv}"
|
81
|
-
end
|
82
|
-
|
83
|
-
def monta_codigo_43_digitos
|
84
|
-
"#{codigo_barras_primeira_parte}#{codigo_barras_segunda_parte}"
|
78
|
+
# Valor total do documento
|
79
|
+
# @return [String] 10 caracteres numéricos.
|
80
|
+
def valor_documento_formatado
|
81
|
+
valor_documento.limpa_valor_moeda.to_s.rjust(10,'0')
|
85
82
|
end
|
86
|
-
|
83
|
+
|
87
84
|
def codigo_barras
|
88
85
|
codigo = super()
|
89
86
|
raise Brcobranca::BoletoInvalido.new unless codigo
|
90
87
|
codigo
|
91
88
|
end
|
92
|
-
|
89
|
+
|
90
|
+
def monta_codigo_43_digitos
|
91
|
+
"#{codigo_barras_primeira_parte}#{codigo_barras_segunda_parte}"
|
92
|
+
end
|
93
|
+
|
93
94
|
def codigo_barras_primeira_parte
|
94
|
-
"#{
|
95
|
+
"#{banco}" <<
|
96
|
+
"#{moeda}" <<
|
97
|
+
"#{fator_vencimento}" <<
|
98
|
+
"#{valor_documento_formatado}"
|
95
99
|
end
|
96
100
|
|
101
|
+
# Monta a segunda parte do código de barras.
|
102
|
+
# 1 à 6: código do cedente, também conhecido como convênio
|
103
|
+
# 7: dígito verificador do código do cedente
|
104
|
+
# 8 à 10: dígito 3 à 5 do nosso número
|
105
|
+
# 11: dígito 1 do nosso número (modalidade da cobrança)
|
106
|
+
# 12 à 14: dígito 6 à 8 do nosso número
|
107
|
+
# 15: dígito 2 do nosso número (emissão do boleto)
|
108
|
+
# 16 à 24: dígito 9 à 17 do nosso número
|
109
|
+
# 25: dígito verificador do campo livre
|
110
|
+
# @return [String]
|
97
111
|
def codigo_barras_segunda_parte
|
98
|
-
|
112
|
+
campo_livre = "#{convenio}" <<
|
113
|
+
"#{convenio_dv}" <<
|
114
|
+
"#{nosso_numero_boleto[2..4]}" <<
|
115
|
+
"#{nosso_numero_boleto[0..0]}" <<
|
116
|
+
"#{nosso_numero_boleto[5..7]}" <<
|
117
|
+
"#{nosso_numero_boleto[1..1]}" <<
|
118
|
+
"#{nosso_numero_boleto[8..16]}"
|
119
|
+
|
120
|
+
"#{campo_livre}#{campo_livre.modulo11_2to9}"
|
99
121
|
end
|
100
122
|
|
101
|
-
# Para as posições do Campo Livre, informar:
|
102
|
-
# - Se carteira Sem Registro: Nosso número com 10 posições e Código do Cedente, ambos
|
103
|
-
# sem o DV.
|
104
|
-
#
|
105
|
-
# Ex.: 82NNNNNNNN AAAA YYYXXXXXXXX
|
106
|
-
#
|
107
|
-
# Onde: 82 - Identificador da carteira Sem Registro
|
108
|
-
# NNNNNNNN - Nosso número do Cliente
|
109
|
-
# AAAA - CNPJ da Agência Cedente
|
110
|
-
# YYY - Operação Código
|
111
|
-
# XXXXXXXX - Código fornecido pela Agência
|
112
|
-
#
|
113
|
-
# Nota: A operação + o código fornecido pela agência = convênio
|
114
|
-
def campo_livre
|
115
|
-
"#{self.numero_documento}#{self.agencia}#{self.convenio}"
|
116
|
-
end
|
117
123
|
|
118
|
-
end
|
124
|
+
end
|
@@ -1,94 +1,69 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
require File.dirname(__FILE__) + '/../spec_helper.rb'
|
3
|
+
require 'tempfile'
|
3
4
|
|
4
5
|
describe BancoCaixa do #:nodoc:[all]
|
5
|
-
|
6
|
-
before
|
6
|
+
|
7
|
+
before do
|
7
8
|
@valid_attributes = {
|
8
|
-
:especie_documento =>
|
9
|
-
:moeda =>
|
9
|
+
:especie_documento => 'DM',
|
10
|
+
:moeda => '9',
|
10
11
|
:data_documento => Date.today,
|
11
12
|
:dias_vencimento => 1,
|
12
|
-
:aceite =>
|
13
|
+
:aceite => 'S',
|
13
14
|
:quantidade => 1,
|
14
|
-
:valor =>
|
15
|
-
:local_pagamento =>
|
16
|
-
:cedente =>
|
17
|
-
:documento_cedente =>
|
18
|
-
:sacado =>
|
19
|
-
:sacado_documento =>
|
20
|
-
:agencia =>
|
21
|
-
:conta_corrente =>
|
22
|
-
:convenio =>
|
23
|
-
:numero_documento =>
|
15
|
+
:valor => 1.23,
|
16
|
+
:local_pagamento => 'QUALQUER BANCO ATÉ O VENCIMENTO',
|
17
|
+
:cedente => 'Túlio Ornelas',
|
18
|
+
:documento_cedente => '200874000687',
|
19
|
+
:sacado => 'Ana Carolina Mascarenhas',
|
20
|
+
:sacado_documento => '93463665751',
|
21
|
+
:agencia => '1565',
|
22
|
+
:conta_corrente => '0013877',
|
23
|
+
:convenio => '100000',
|
24
|
+
:numero_documento => '123456789123456'
|
24
25
|
}
|
25
26
|
end
|
26
27
|
|
27
|
-
it
|
28
|
+
it 'Criar nova instância com atributos padrões' do
|
28
29
|
boleto_novo = BancoCaixa.new
|
29
|
-
boleto_novo.banco.should eql(
|
30
|
-
boleto_novo.
|
31
|
-
boleto_novo.
|
32
|
-
boleto_novo.
|
30
|
+
boleto_novo.banco.should eql('104')
|
31
|
+
boleto_novo.banco_dv.should eql('0')
|
32
|
+
boleto_novo.especie_documento.should eql('DM')
|
33
|
+
boleto_novo.especie.should eql('R$')
|
34
|
+
boleto_novo.moeda.should eql('9')
|
33
35
|
boleto_novo.data_documento.should eql(Date.today)
|
34
36
|
boleto_novo.dias_vencimento.should eql(1)
|
35
37
|
boleto_novo.data_vencimento.should eql(Date.today + 1)
|
36
|
-
boleto_novo.aceite.should eql(
|
38
|
+
boleto_novo.aceite.should eql('S')
|
37
39
|
boleto_novo.quantidade.should eql(1)
|
38
40
|
boleto_novo.valor.should eql(0.0)
|
39
41
|
boleto_novo.valor_documento.should eql(0.0)
|
40
|
-
boleto_novo.local_pagamento.should eql(
|
41
|
-
boleto_novo.carteira.should eql(BancoCaixa::CARTEIRAS[14])
|
42
|
+
boleto_novo.local_pagamento.should eql('QUALQUER BANCO ATÉ O VENCIMENTO')
|
42
43
|
boleto_novo.codigo_servico.should be_false
|
44
|
+
carteira = "#{BancoCaixa::MODALIDADE_COBRANCA[:sem_registro]}" <<
|
45
|
+
"#{BancoCaixa::EMISSAO_BOLETO[:cedente]}"
|
46
|
+
boleto_novo.carteira.should eql(carteira)
|
43
47
|
end
|
44
|
-
|
48
|
+
|
45
49
|
it "Criar nova instancia com atributos válidos" do
|
46
|
-
boleto_novo = BancoCaixa.new
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
boleto_novo.moeda.should eql("9")
|
51
|
-
boleto_novo.data_documento.should eql(Date.today)
|
52
|
-
boleto_novo.dias_vencimento.should eql(1)
|
53
|
-
boleto_novo.data_vencimento.should eql(Date.today + 1)
|
54
|
-
boleto_novo.aceite.should eql("S")
|
55
|
-
boleto_novo.quantidade.should eql(1)
|
56
|
-
boleto_novo.valor.should eql(0.0)
|
57
|
-
boleto_novo.valor_documento.should eql(0.0)
|
58
|
-
boleto_novo.local_pagamento.should eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
59
|
-
boleto_novo.cedente.should eql("Túlio Ornelas")
|
60
|
-
boleto_novo.documento_cedente.should eql("200874000687")
|
61
|
-
boleto_novo.sacado.should eql("Ana Carolina Mascarenhas")
|
62
|
-
boleto_novo.sacado_documento.should eql("93463665751")
|
63
|
-
boleto_novo.conta_corrente.should eql("13877")
|
64
|
-
boleto_novo.agencia.should eql("1565")
|
65
|
-
boleto_novo.convenio.should eql("87000000414")
|
66
|
-
boleto_novo.numero_documento.should eql("8200000001")
|
67
|
-
boleto_novo.carteira.should eql(BancoCaixa::CARTEIRAS[14])
|
68
|
-
boleto_novo.codigo_servico.should be_false
|
50
|
+
boleto_novo = BancoCaixa.new @valid_attributes
|
51
|
+
@valid_attributes.keys.each do |key|
|
52
|
+
boleto_novo.send(key).should eql(@valid_attributes[key])
|
53
|
+
end
|
69
54
|
end
|
70
|
-
|
71
|
-
it "Montar código de barras para convenio de 11 digitos e nosso número de 10" do
|
72
|
-
@valid_attributes[:valor] = 135.00
|
73
|
-
@valid_attributes[:data_documento] = Date.parse("2008-02-01")
|
74
|
-
@valid_attributes[:dias_vencimento] = 0
|
75
|
-
boleto_novo = BancoCaixa.new(@valid_attributes)
|
76
|
-
|
77
|
-
boleto_novo.codigo_barras_segunda_parte.should eql("8200000001156587000000414")
|
78
|
-
boleto_novo.codigo_barras.should eql("10494376900000135008200000001156587000000414")
|
79
|
-
boleto_novo.codigo_barras.linha_digitavel.should eql("10498.20002 00001.156587 70000.004146 4 37690000013500")
|
80
|
-
boleto_novo.conta_corrente_dv.should eql(0)
|
81
|
-
boleto_novo.nosso_numero_dv.should eql(3)
|
82
|
-
|
83
|
-
@valid_attributes[:dias_vencimento] = 1
|
84
|
-
@valid_attributes[:numero_documento] = "2"
|
85
|
-
boleto_novo = BancoCaixa.new(@valid_attributes)
|
86
55
|
|
87
|
-
|
88
|
-
boleto_novo.
|
89
|
-
boleto_novo.
|
90
|
-
boleto_novo.
|
91
|
-
|
56
|
+
it 'Gerar o dígito verificador do convênio' do
|
57
|
+
boleto_novo = BancoCaixa.new @valid_attributes
|
58
|
+
boleto_novo.convenio_dv.should_not be_nil
|
59
|
+
boleto_novo.convenio_dv.should == '4'
|
60
|
+
end
|
61
|
+
|
62
|
+
it "Gerar o código de barras" do
|
63
|
+
boleto_novo = BancoCaixa.new @valid_attributes
|
64
|
+
lambda { boleto_novo.codigo_barras }.should_not raise_error
|
65
|
+
boleto_novo.codigo_barras_segunda_parte.should_not be_nil
|
66
|
+
boleto_novo.codigo_barras_segunda_parte.should eql('1000004123245647891234568')
|
92
67
|
end
|
93
68
|
|
94
69
|
it "Não permitir gerar boleto com atributos inválidos" do
|
@@ -96,37 +71,38 @@ describe BancoCaixa do #:nodoc:[all]
|
|
96
71
|
lambda { boleto_novo.codigo_barras }.should raise_error(Brcobranca::BoletoInvalido)
|
97
72
|
end
|
98
73
|
|
74
|
+
it 'Número do convênio deve ser preenchido com zeros à esquerda quando menor que 6 dígitos' do
|
75
|
+
boleto_novo = BancoCaixa.new @valid_attributes.merge(:convenio => '12345')
|
76
|
+
boleto_novo.convenio.should == '012345'
|
77
|
+
boleto_novo = BancoCaixa.new @valid_attributes.merge(:convenio => 12345)
|
78
|
+
boleto_novo.convenio.should == '012345'
|
79
|
+
end
|
80
|
+
|
81
|
+
it 'Número do documento deve ser preenchido com zeros à esquerda quando menor que 15 dígitos' do
|
82
|
+
boleto_novo = BancoCaixa.new @valid_attributes.merge(:numero_documento => '1')
|
83
|
+
boleto_novo.numero_documento.should == '000000000000001'
|
84
|
+
boleto_novo = BancoCaixa.new @valid_attributes.merge(:numero_documento => 1)
|
85
|
+
boleto_novo.numero_documento.should == '000000000000001'
|
86
|
+
end
|
87
|
+
|
99
88
|
it "Montar nosso_numero_boleto" do
|
100
|
-
boleto_novo = BancoCaixa.new
|
101
|
-
boleto_novo.
|
102
|
-
|
103
|
-
|
104
|
-
boleto_novo.numero_documento = "2"
|
105
|
-
boleto_novo.nosso_numero_boleto.should eql("82000000021")
|
106
|
-
boleto_novo.nosso_numero_dv.should eql(1)
|
107
|
-
boleto_novo.numero_documento = "3"
|
108
|
-
boleto_novo.nosso_numero_boleto.should eql("82000000031")
|
109
|
-
boleto_novo.nosso_numero_dv.should eql(1)
|
110
|
-
boleto_novo.numero_documento = 10
|
111
|
-
boleto_novo.nosso_numero_boleto.should eql("82000000102")
|
112
|
-
boleto_novo.nosso_numero_dv.should eql(2)
|
113
|
-
boleto_novo.numero_documento = 20
|
114
|
-
boleto_novo.nosso_numero_boleto.should eql("82000000201")
|
115
|
-
boleto_novo.nosso_numero_dv.should eql(1)
|
116
|
-
boleto_novo.numero_documento = 30
|
117
|
-
boleto_novo.nosso_numero_boleto.should eql("82000000307")
|
118
|
-
boleto_novo.nosso_numero_dv.should eql(7)
|
89
|
+
boleto_novo = BancoCaixa.new @valid_attributes
|
90
|
+
boleto_novo.nosso_numero_boleto.should == "#{boleto_novo.carteira}" <<
|
91
|
+
"#{boleto_novo.numero_documento}" <<
|
92
|
+
"-#{boleto_novo.nosso_numero_dv}"
|
119
93
|
end
|
120
94
|
|
121
95
|
it "Montar agencia_conta_boleto" do
|
122
96
|
boleto_novo = BancoCaixa.new(@valid_attributes)
|
123
97
|
|
124
|
-
boleto_novo.agencia_conta_boleto.should eql("1565/
|
125
|
-
|
126
|
-
boleto_novo.
|
98
|
+
boleto_novo.agencia_conta_boleto.should eql("1565/100000-4")
|
99
|
+
|
100
|
+
boleto_novo.convenio = "123456"
|
101
|
+
boleto_novo.agencia_conta_boleto.should eql("1565/123456-1")
|
102
|
+
|
127
103
|
boleto_novo.agencia = "2030"
|
128
|
-
boleto_novo.
|
129
|
-
boleto_novo.agencia_conta_boleto.should eql("2030/
|
104
|
+
boleto_novo.convenio = "654321"
|
105
|
+
boleto_novo.agencia_conta_boleto.should eql("2030/654321-9")
|
130
106
|
end
|
131
107
|
|
132
108
|
it "Busca logotipo do banco" do
|
@@ -152,8 +128,8 @@ describe BancoCaixa do #:nodoc:[all]
|
|
152
128
|
File.exist?(tmp_file.path).should be_false
|
153
129
|
end
|
154
130
|
end
|
155
|
-
|
156
|
-
it '
|
131
|
+
|
132
|
+
it 'Gerar um lote de boletos' do
|
157
133
|
@valid_attributes[:valor] = 135.00
|
158
134
|
@valid_attributes[:data_documento] = Date.parse("2008-02-01")
|
159
135
|
@valid_attributes[:dias_vencimento] = 2
|
@@ -171,41 +147,5 @@ describe BancoCaixa do #:nodoc:[all]
|
|
171
147
|
File.delete(tmp_file.path).should eql(1)
|
172
148
|
File.exist?(tmp_file.path).should be_false
|
173
149
|
end
|
174
|
-
|
175
|
-
|
176
|
-
boleto_novo = BancoCaixa.new(@valid_attributes)
|
177
|
-
boleto_novo.codigo_barras_segunda_parte.should eql(boleto_novo.campo_livre)
|
178
|
-
end
|
179
|
-
|
180
|
-
it 'deveria retornar a carteira sempre com a sigla' do
|
181
|
-
boleto_novo = BancoCaixa.new :carteira => 14
|
182
|
-
boleto_novo.carteira.should eql(BancoCaixa::CARTEIRAS[14])
|
183
|
-
|
184
|
-
boleto_novo = BancoCaixa.new :carteira => 'SR'
|
185
|
-
boleto_novo.carteira.should eql(BancoCaixa::CARTEIRAS[14])
|
186
|
-
end
|
187
|
-
|
188
|
-
it 'deveria retornar o numero_documento com base na carteira' do
|
189
|
-
@valid_attributes[:numero_documento] = "1"
|
190
|
-
@valid_attributes[:carteira] = 14
|
191
|
-
boleto_novo = BancoCaixa.new(@valid_attributes)
|
192
|
-
|
193
|
-
boleto_novo.numero_documento.should eql("8200000001")
|
194
|
-
|
195
|
-
@valid_attributes[:carteira] = 11
|
196
|
-
boleto_novo = BancoCaixa.new(@valid_attributes)
|
197
|
-
lambda { boleto_novo.numero_documento }.should raise_error(Brcobranca::NaoImplementado)
|
198
|
-
|
199
|
-
@valid_attributes[:carteira] = 12
|
200
|
-
boleto_novo = BancoCaixa.new(@valid_attributes)
|
201
|
-
lambda { boleto_novo.numero_documento }.should raise_error(Brcobranca::NaoImplementado)
|
202
|
-
end
|
203
|
-
|
204
|
-
it "deveria calcular o banco_dv corretamente, com base no modulo10" do
|
205
|
-
boleto_novo = BancoCaixa.new
|
206
|
-
boleto_novo.banco.should eql("104")
|
207
|
-
boleto_novo.banco_dv.should eql(0)
|
208
|
-
boleto_novo.banco_dv.should eql(boleto_novo.banco.modulo10)
|
209
|
-
end
|
210
|
-
|
211
|
-
end
|
150
|
+
|
151
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tulios-brcobranca-rails2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 27
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 2.0.
|
9
|
+
- 10
|
10
|
+
version: 2.0.10
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Kivanio Barbosa
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2011-01-27 00:00:00 -02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -164,13 +164,13 @@ files:
|
|
164
164
|
- tasks/rcov.rake
|
165
165
|
- tasks/rspec.rake
|
166
166
|
has_rdoc: true
|
167
|
-
homepage:
|
167
|
+
homepage:
|
168
168
|
licenses: []
|
169
169
|
|
170
170
|
post_install_message: PostInstall.txt
|
171
171
|
rdoc_options:
|
172
172
|
- --main
|
173
|
-
- README.
|
173
|
+
- README.txt
|
174
174
|
require_paths:
|
175
175
|
- lib
|
176
176
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -194,7 +194,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
194
194
|
requirements: []
|
195
195
|
|
196
196
|
rubyforge_project: tulios-brcobranca-rails2
|
197
|
-
rubygems_version: 1.
|
197
|
+
rubygems_version: 1.4.1
|
198
198
|
signing_key:
|
199
199
|
specification_version: 3
|
200
200
|
summary: "Gem que permite trabalhar com bloquetos de cobran\xC3\xA7a para bancos brasileiros. Fork de https://github.com/kivanio/brcobranca, tag 2.0.6 adicionando o banco Caixa."
|