kinabo 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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