kinabo 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f4d15b1bbc5b8bccbba64810a7de88df60926aa8
4
- data.tar.gz: 795c6fbd3824679d75bbbcf1108dcbae8db53bf8
3
+ metadata.gz: 924c124c163f64b8b2a49eb37194fac7d5e32940
4
+ data.tar.gz: 0d39e2a10e71008853eb63965bb7eee26b58b4a2
5
5
  SHA512:
6
- metadata.gz: ec6048384b7b8274e807e27fcf49c92bde51e5bdb877336239d925d02ea78c9f2f4aba6699b79fba70262b52df6880d84b50db39dd044ba564a8e95b95a4b273
7
- data.tar.gz: 89c57ad2384a1d125286da4c35b3ad3646baa46d9e34c68614a60941c2a7fc8bf32967fda603e6f6b57462e917cccb1ab59dc7b942cd7f28f30a2ab1934a8acf
6
+ metadata.gz: e731089acbbc3c2da9c1a8c307f883963a4e6e32769a94e0c52ee3ee9495fd6777bf0993a9b0f4e7001d6851bcecbcd18704b4b0a274b04bdd3005735e3e539e
7
+ data.tar.gz: b10167a4ffe21bcff6722223800cfe5d950be54c6e46b7f9ecb50e6782ab21e7a816552551ac655384161eb92e3e158357306bc97bc0615f00c83be542dfcf3e
data/config/kinabo.yml CHANGED
@@ -5,6 +5,13 @@ test:
5
5
  convenio: 4359923
6
6
  conta_corrente: 0147792-2
7
7
  agencia: 00289
8
+ fromtis:
9
+ nome_empresa: FIDC
10
+ convenio: '07652226000116'
11
+ nome_cedente: 'RUBYBANK'
12
+ cnpj_cedente: '59156195000106'
13
+ nome_banco: BANCO PETRA
14
+ codigo_banco: 094
8
15
 
9
16
  development:
10
17
  bradesco:
@@ -13,3 +20,10 @@ development:
13
20
  convenio: 4359923
14
21
  conta_corrente: 0147792-2
15
22
  agencia: 00289
23
+ fromtis:
24
+ nome_empresa: FIDC
25
+ convenio: '07652226000116'
26
+ nome_cedente: 'RUBYBANK'
27
+ cnpj_cedente: '59156195000106'
28
+ nome_banco: BANCO PETRA
29
+ codigo_banco: 094
@@ -17,6 +17,10 @@ module Kinabo
17
17
  config[:bradesco]
18
18
  end
19
19
 
20
+ def fromtis
21
+ config[:fromtis]
22
+ end
23
+
20
24
  private
21
25
 
22
26
  def config
@@ -0,0 +1,19 @@
1
+ module Kinabo
2
+ module Fromtis
3
+ module Remessa
4
+ class Builder < Hashie::Dash
5
+ include Hashie::Extensions::Dash::Coercion
6
+ include Kinabo::Utils
7
+
8
+ property :header, coerce: Header, required: true
9
+ property :transacoes, coerce: Array[Transacao], required: true
10
+
11
+ def build
12
+ lines = [header, transacoes, Trailler.new].flatten.map(&:build)
13
+
14
+ fill_sequencial(lines.flatten)
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,32 @@
1
+ module Kinabo
2
+ module Fromtis
3
+ module Remessa
4
+ class Header < Hashie::Dash
5
+ include Kinabo::Utils
6
+
7
+ property :codigo_empresa, required: true, default: Kinabo.config.fromtis&.dig(:convenio)
8
+ property :nome_empresa, required: true, default: Kinabo.config.fromtis&.dig(:nome_empresa)
9
+ property :codigo_banco, required: true, default: Kinabo.config.fromtis&.dig(:codigo_banco)
10
+ property :nome_banco, required: true, default: Kinabo.config.fromtis&.dig(:nome_banco)
11
+ property :data_gravacao, required: true
12
+ property :sequencial, required: true
13
+
14
+ def build
15
+ parts = '01REMESSA01'
16
+
17
+ parts << justify_string('COBRANCA', 15)
18
+ parts << justify_string(codigo_empresa, 20)
19
+ parts << justify_string(nome_empresa, 30)
20
+ parts << justify_number(codigo_banco, 3)
21
+ parts << justify_string(nome_banco, 15)
22
+ parts << justify_number(data_gravacao, 6)
23
+ parts << justify_string('', 8)
24
+ parts << 'MX'
25
+ parts << justify_number(sequencial, 7)
26
+ parts << justify_string('', 277)
27
+ parts << justify_string('', 44) # Put more 44 because it is a CNAB 444
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,16 @@
1
+ module Kinabo
2
+ module Fromtis
3
+ module Remessa
4
+ class Trailler < Hashie::Dash
5
+ include Kinabo::Utils
6
+
7
+ def build
8
+ parts = '9'
9
+
10
+ parts << justify_string('', 393)
11
+ parts << justify_string('', 44) # Put more 44 because it is a CNAB 444
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,107 @@
1
+ module Kinabo
2
+ module Fromtis
3
+ module Remessa
4
+ class Transacao < Hashie::Dash
5
+ include Kinabo::Utils
6
+
7
+ property :coobrigacao, required: true, default: 2
8
+ property :caracteristica_especial
9
+ property :modalidade_operacao
10
+ property :natureza_operacao
11
+ property :origem_recurso
12
+ property :risco_operacao
13
+ property :numero_controle, required: true
14
+ property :codigo_banco_c3, default: '000'
15
+ property :nosso_numero
16
+ property :nosso_numero_dv
17
+ property :valor_pago, required: true
18
+ property :data_liquidacao
19
+ property :ocorrencia, required: true
20
+ property :numero_documento, required: true
21
+ property :data_vencimento, required: true
22
+ property :valor, required: true
23
+ property :codigo_banco_cobranca
24
+ property :agencia_depositaria
25
+ property :especie, required: true, default: '01'
26
+ property :data_emissao, required: true
27
+
28
+ property :termo_cessao, default: '0000000000000000000'
29
+ property :valor_parcela, required: true
30
+ property :valor_abatimento
31
+ property :tipo_inscricao_pagador, required: true, default: '01'
32
+ property :inscricao_pagador, required: true
33
+ property :nome_pagador, required: true
34
+ property :endereco_pagador
35
+ property :nota_fiscal, default: '000000000'
36
+ property :serie_nota_fiscal, default: '000'
37
+ property :cep_pagador
38
+ property :nome_cedente, required: true, default: Kinabo.config.fromtis&.dig(:nome_cedente)
39
+ property :cnpj_cedente, required: true, default: Kinabo.config.fromtis&.dig(:cnpj_cedente)
40
+ property :chave_nota_fiscal
41
+
42
+ def build
43
+ parts = '1'
44
+
45
+ parts << justify_string('', 19)
46
+
47
+ parts << justify_number(coobrigacao, 2)
48
+ parts << justify_number(caracteristica_especial, 2)
49
+ parts << justify_number(modalidade_operacao, 4)
50
+ parts << justify_number(natureza_operacao, 2)
51
+ parts << justify_number(origem_recurso, 4)
52
+ parts << justify_string(risco_operacao, 2)
53
+
54
+ parts << '0'
55
+
56
+ parts << justify_string(numero_controle, 25)
57
+ parts << justify_number(codigo_banco_c3, 3)
58
+
59
+ parts << '00000'
60
+
61
+ parts << justify_number(nosso_numero, 11)
62
+ parts << justify_string(nosso_numero_dv, 1)
63
+ parts << justify_number(valor_pago, 10)
64
+
65
+ parts << '1 '
66
+
67
+ parts << justify_number(data_liquidacao, 6)
68
+
69
+ parts << ' '
70
+
71
+ parts << justify_number(ocorrencia, 2)
72
+ parts << justify_string(numero_documento, 10)
73
+ parts << justify_number(data_vencimento, 6)
74
+ parts << justify_number(valor, 13)
75
+ parts << justify_number(codigo_banco_cobranca, 3)
76
+ parts << justify_number(agencia_depositaria, 5)
77
+ parts << justify_number(especie, 2)
78
+
79
+ parts << ' '
80
+
81
+ parts << justify_number(data_emissao, 6)
82
+
83
+ parts << '000'
84
+
85
+ parts << '02000000000000'
86
+
87
+ parts << justify_string(termo_cessao, 19)
88
+ parts << justify_number(valor_parcela, 13)
89
+ parts << justify_number(valor_abatimento, 13)
90
+
91
+ parts << justify_number(tipo_inscricao_pagador, 2)
92
+ parts << justify_number(inscricao_pagador, 14)
93
+ parts << justify_string(nome_pagador, 40)
94
+ parts << justify_string(endereco_pagador, 40)
95
+
96
+ parts << justify_string(nota_fiscal, 9)
97
+ parts << justify_string(serie_nota_fiscal, 3)
98
+
99
+ parts << justify_number(cep_pagador, 8)
100
+ parts << justify_string(nome_cedente, 46)
101
+ parts << justify_string(cnpj_cedente, 14)
102
+ parts << justify_string(chave_nota_fiscal, 44)
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
@@ -1,3 +1,3 @@
1
1
  module Kinabo
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
data/lib/kinabo.rb CHANGED
@@ -29,3 +29,8 @@ require 'kinabo/bradesco/remessa/boleto'
29
29
  require 'kinabo/bradesco/remessa/builder'
30
30
 
31
31
  require 'kinabo/bradesco/retorno'
32
+
33
+ require 'kinabo/fromtis/remessa/header'
34
+ require 'kinabo/fromtis/remessa/transacao'
35
+ require 'kinabo/fromtis/remessa/trailler'
36
+ require 'kinabo/fromtis/remessa/builder'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kinabo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Noverde Team
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2017-04-12 00:00:00.000000000 Z
12
+ date: 2017-09-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: hashie
@@ -126,6 +126,10 @@ files:
126
126
  - lib/kinabo/bradesco/remessa/transacao.rb
127
127
  - lib/kinabo/bradesco/retorno.rb
128
128
  - lib/kinabo/configuration.rb
129
+ - lib/kinabo/fromtis/remessa/builder.rb
130
+ - lib/kinabo/fromtis/remessa/header.rb
131
+ - lib/kinabo/fromtis/remessa/trailler.rb
132
+ - lib/kinabo/fromtis/remessa/transacao.rb
129
133
  - lib/kinabo/utils.rb
130
134
  - lib/kinabo/version.rb
131
135
  homepage: https://github.com/noverde/kinabo