cnab240 0.0.17 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (151) hide show
  1. checksums.yaml +7 -0
  2. data/cnab240.gemspec +2 -1
  3. data/lib/cnab240/arquivo/arquivo.rb +89 -60
  4. data/lib/cnab240/arquivo/builder.rb +162 -154
  5. data/lib/cnab240/arquivo/estrutura.rb +159 -95
  6. data/lib/cnab240/arquivo/lote.rb +57 -57
  7. data/lib/cnab240/arquivo/v40/header.rb +30 -30
  8. data/lib/cnab240/arquivo/v40/trailer.rb +11 -11
  9. data/lib/cnab240/arquivo/v80/header.rb +28 -27
  10. data/lib/cnab240/arquivo/v80/trailer.rb +11 -11
  11. data/lib/cnab240/arquivo/v83/header.rb +38 -0
  12. data/lib/cnab240/arquivo/v83/trailer.rb +17 -0
  13. data/lib/cnab240/arquivo/v86/header.rb +27 -28
  14. data/lib/cnab240/arquivo/v86/trailer.rb +12 -12
  15. data/lib/cnab240/arquivo/v87/header.rb +38 -0
  16. data/lib/cnab240/arquivo/v87/trailer.rb +18 -0
  17. data/lib/cnab240/ext/attribute_accessors.rb +2 -2
  18. data/lib/cnab240/ext/bindata.rb +9 -9
  19. data/lib/cnab240/ext/default_mixin.rb +11 -12
  20. data/lib/cnab240/ext/filler.rb +16 -16
  21. data/lib/cnab240/ext/lstring.rb +5 -5
  22. data/lib/cnab240/ext/segmento_mixin.rb +4 -4
  23. data/lib/cnab240/helper/helper.rb +15 -0
  24. data/lib/cnab240/helper/pagamento_bb.rb +51 -0
  25. data/lib/cnab240/helper/pagamento_bradesco.rb +49 -0
  26. data/lib/cnab240/helper/pagamento_itau.rb +34 -49
  27. data/lib/cnab240/helper/pagamento_sicoob.rb +55 -0
  28. data/lib/cnab240/pagamentos/v40/header.rb +35 -37
  29. data/lib/cnab240/pagamentos/v40/trailer.rb +13 -13
  30. data/lib/cnab240/pagamentos/v80/header.rb +45 -45
  31. data/lib/cnab240/pagamentos/v80/trailer.rb +13 -13
  32. data/lib/cnab240/pagamentos/v83/header.rb +45 -0
  33. data/lib/cnab240/pagamentos/v83/trailer.rb +18 -0
  34. data/lib/cnab240/pagamentos/v86/header.rb +44 -44
  35. data/lib/cnab240/pagamentos/v86/titulos/header.rb +44 -44
  36. data/lib/cnab240/pagamentos/v86/titulos/trailer.rb +14 -14
  37. data/lib/cnab240/pagamentos/v86/trailer.rb +14 -14
  38. data/lib/cnab240/pagamentos/v86/tributos/header.rb +45 -45
  39. data/lib/cnab240/pagamentos/v86/tributos/trailer.rb +12 -12
  40. data/lib/cnab240/pagamentos/v87/header.rb +46 -0
  41. data/lib/cnab240/pagamentos/v87/titulos/header.rb +46 -0
  42. data/lib/cnab240/pagamentos/v87/titulos/trailer.rb +18 -0
  43. data/lib/cnab240/pagamentos/v87/trailer.rb +18 -0
  44. data/lib/cnab240/pagamentos/v87/tributos/header.rb +47 -0
  45. data/lib/cnab240/pagamentos/v87/tributos/trailer.rb +17 -0
  46. data/lib/cnab240/segmentos/v40/segmento_a.rb +45 -48
  47. data/lib/cnab240/segmentos/v80/agencia_itau.rb +11 -12
  48. data/lib/cnab240/segmentos/v80/agencia_outros.rb +9 -10
  49. data/lib/cnab240/segmentos/v80/segmento_a.rb +59 -61
  50. data/lib/cnab240/segmentos/v83/segmento_a.rb +42 -0
  51. data/lib/cnab240/segmentos/v83/segmento_b.rb +40 -0
  52. data/lib/cnab240/segmentos/v83/segmento_j.rb +33 -0
  53. data/lib/cnab240/segmentos/v83/segmento_z.rb +19 -0
  54. data/lib/cnab240/segmentos/v86/segmento_a.rb +42 -45
  55. data/lib/cnab240/segmentos/v86/segmento_b.rb +38 -39
  56. data/lib/cnab240/segmentos/v86/segmento_c.rb +23 -24
  57. data/lib/cnab240/segmentos/v86/segmento_j.rb +25 -26
  58. data/lib/cnab240/segmentos/v86/segmento_j52.rb +22 -24
  59. data/lib/cnab240/segmentos/v86/segmento_n.rb +50 -51
  60. data/lib/cnab240/segmentos/v86/segmento_n1.rb +13 -15
  61. data/lib/cnab240/segmentos/v86/segmento_n2.rb +15 -17
  62. data/lib/cnab240/segmentos/v86/segmento_n3.rb +15 -17
  63. data/lib/cnab240/segmentos/v86/segmento_n4.rb +17 -19
  64. data/lib/cnab240/segmentos/v86/segmento_n5.rb +15 -17
  65. data/lib/cnab240/segmentos/v86/segmento_n6.rb +15 -17
  66. data/lib/cnab240/segmentos/v86/segmento_n7.rb +16 -18
  67. data/lib/cnab240/segmentos/v86/segmento_n8.rb +15 -18
  68. data/lib/cnab240/segmentos/v86/segmento_o.rb +20 -21
  69. data/lib/cnab240/segmentos/v86/segmento_w.rb +16 -17
  70. data/lib/cnab240/segmentos/v86/segmento_w1.rb +12 -13
  71. data/lib/cnab240/segmentos/v86/segmento_z.rb +14 -14
  72. data/lib/cnab240/segmentos/v87/segmento_a.rb +44 -0
  73. data/lib/cnab240/segmentos/v87/segmento_b.rb +40 -0
  74. data/lib/cnab240/segmentos/v87/segmento_c.rb +32 -0
  75. data/lib/cnab240/segmentos/v87/segmento_j.rb +33 -0
  76. data/lib/cnab240/segmentos/v87/segmento_j52.rb +32 -0
  77. data/lib/cnab240/segmentos/v87/segmento_n.rb +59 -0
  78. data/lib/cnab240/segmentos/v87/segmento_n1.rb +19 -0
  79. data/lib/cnab240/segmentos/v87/segmento_n2.rb +21 -0
  80. data/lib/cnab240/segmentos/v87/segmento_n3.rb +21 -0
  81. data/lib/cnab240/segmentos/v87/segmento_n4.rb +23 -0
  82. data/lib/cnab240/segmentos/v87/segmento_n5.rb +21 -0
  83. data/lib/cnab240/segmentos/v87/segmento_n6.rb +21 -0
  84. data/lib/cnab240/segmentos/v87/segmento_n7.rb +21 -0
  85. data/lib/cnab240/segmentos/v87/segmento_n8.rb +22 -0
  86. data/lib/cnab240/segmentos/v87/segmento_o.rb +27 -0
  87. data/lib/cnab240/segmentos/v87/segmento_w.rb +24 -0
  88. data/lib/cnab240/segmentos/v87/segmento_w1.rb +16 -0
  89. data/lib/cnab240/segmentos/v87/segmento_z.rb +19 -0
  90. data/lib/cnab240/version.rb +1 -2
  91. data/lib/cnab240.rb +54 -24
  92. metadata +64 -133
  93. data/.gitignore +0 -19
  94. data/.rspec +0 -2
  95. data/.travis.yml +0 -4
  96. data/Gemfile +0 -6
  97. data/LICENSE +0 -22
  98. data/README.md +0 -135
  99. data/docs/vendor/febraban/subcpadr12_layout_padrao_V86.pdf +0 -0
  100. data/docs/vendor/itau/SISPAG_CNAB_240.pdf +0 -0
  101. data/docs/vendor/itau/sisdeb_cnab_240.pdf +0 -0
  102. data/spec/arquivo/arquivo_spec.rb +0 -95
  103. data/spec/arquivo/v40/header_spec.rb +0 -68
  104. data/spec/arquivo/v40/trailer_spec.rb +0 -25
  105. data/spec/arquivo/v80/header_spec.rb +0 -60
  106. data/spec/arquivo/v80/trailer_spec.rb +0 -26
  107. data/spec/arquivo/v86/header_spec.rb +0 -89
  108. data/spec/arquivo/v86/trailer_spec.rb +0 -27
  109. data/spec/bindata/bindata_spec.rb +0 -55
  110. data/spec/cnab240_spec.rb +0 -22
  111. data/spec/helper/pagamento_itau_spec.rb +0 -83
  112. data/spec/hom/hom_spec.rb +0 -65
  113. data/spec/hom/retorno/SB22112AIT.RET +0 -5
  114. data/spec/hom/retorno/SB23112AIT.RET +0 -5
  115. data/spec/pagamentos/v40/header_spec.rb +0 -59
  116. data/spec/pagamentos/v40/lote_spec.rb +0 -25
  117. data/spec/pagamentos/v40/trailer_spec.rb +0 -28
  118. data/spec/pagamentos/v80/header_spec.rb +0 -52
  119. data/spec/pagamentos/v80/lote_spec.rb +0 -25
  120. data/spec/pagamentos/v80/trailer_spec.rb +0 -28
  121. data/spec/pagamentos/v86/header_spec.rb +0 -53
  122. data/spec/pagamentos/v86/lote_spec.rb +0 -38
  123. data/spec/pagamentos/v86/titulos/header_spec.rb +0 -51
  124. data/spec/pagamentos/v86/titulos/lote_spec.rb +0 -37
  125. data/spec/pagamentos/v86/titulos/trailer_spec.rb +0 -30
  126. data/spec/pagamentos/v86/trailer_spec.rb +0 -30
  127. data/spec/pagamentos/v86/tributos/header_spec.rb +0 -53
  128. data/spec/pagamentos/v86/tributos/lote_spec.rb +0 -43
  129. data/spec/pagamentos/v86/tributos/trailer_spec.rb +0 -27
  130. data/spec/segmentos/v40/segmento_a_spec.rb +0 -70
  131. data/spec/segmentos/v80/segmento_a_spec.rb +0 -70
  132. data/spec/segmentos/v86/segmento_a_spec.rb +0 -65
  133. data/spec/segmentos/v86/segmento_b_spec.rb +0 -67
  134. data/spec/segmentos/v86/segmento_c_spec.rb +0 -51
  135. data/spec/segmentos/v86/segmento_j52_spec.rb +0 -55
  136. data/spec/segmentos/v86/segmento_j_spec.rb +0 -55
  137. data/spec/segmentos/v86/segmento_n1_spec.rb +0 -43
  138. data/spec/segmentos/v86/segmento_n2_spec.rb +0 -46
  139. data/spec/segmentos/v86/segmento_n3_spec.rb +0 -45
  140. data/spec/segmentos/v86/segmento_n4_spec.rb +0 -47
  141. data/spec/segmentos/v86/segmento_n5_spec.rb +0 -45
  142. data/spec/segmentos/v86/segmento_n6_spec.rb +0 -45
  143. data/spec/segmentos/v86/segmento_n7_spec.rb +0 -46
  144. data/spec/segmentos/v86/segmento_n8_spec.rb +0 -45
  145. data/spec/segmentos/v86/segmento_n_spec.rb +0 -73
  146. data/spec/segmentos/v86/segmento_o_spec.rb +0 -50
  147. data/spec/segmentos/v86/segmento_spec.rb +0 -12
  148. data/spec/segmentos/v86/segmento_w_spec.rb +0 -51
  149. data/spec/segmentos/v86/segmento_z_spec.rb +0 -42
  150. data/spec/spec_helper.rb +0 -10
  151. data/spec/tmp/.gitkeep +0 -0
metadata CHANGED
@@ -1,46 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cnab240
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.17
5
- prerelease:
4
+ version: 0.1.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Eduardo Mourao
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-05-07 00:00:00.000000000 Z
11
+ date: 2014-10-03 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rspec
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: debugger
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
28
39
  - !ruby/object:Gem::Version
29
40
  version: '0'
30
41
  - !ruby/object:Gem::Dependency
31
42
  name: bindata
32
43
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
44
  requirements:
35
- - - ! '>='
45
+ - - ">="
36
46
  - !ruby/object:Gem::Version
37
47
  version: '0'
38
48
  type: :runtime
39
49
  prerelease: false
40
50
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
51
  requirements:
43
- - - ! '>='
52
+ - - ">="
44
53
  - !ruby/object:Gem::Version
45
54
  version: '0'
46
55
  description: Formato CNAB 240.
@@ -50,17 +59,8 @@ executables: []
50
59
  extensions: []
51
60
  extra_rdoc_files: []
52
61
  files:
53
- - .gitignore
54
- - .rspec
55
- - .travis.yml
56
- - Gemfile
57
- - LICENSE
58
- - README.md
59
62
  - Rakefile
60
63
  - cnab240.gemspec
61
- - docs/vendor/febraban/subcpadr12_layout_padrao_V86.pdf
62
- - docs/vendor/itau/SISPAG_CNAB_240.pdf
63
- - docs/vendor/itau/sisdeb_cnab_240.pdf
64
64
  - lib/cnab240.rb
65
65
  - lib/cnab240/arquivo/arquivo.rb
66
66
  - lib/cnab240/arquivo/builder.rb
@@ -70,29 +70,49 @@ files:
70
70
  - lib/cnab240/arquivo/v40/trailer.rb
71
71
  - lib/cnab240/arquivo/v80/header.rb
72
72
  - lib/cnab240/arquivo/v80/trailer.rb
73
+ - lib/cnab240/arquivo/v83/header.rb
74
+ - lib/cnab240/arquivo/v83/trailer.rb
73
75
  - lib/cnab240/arquivo/v86/header.rb
74
76
  - lib/cnab240/arquivo/v86/trailer.rb
77
+ - lib/cnab240/arquivo/v87/header.rb
78
+ - lib/cnab240/arquivo/v87/trailer.rb
75
79
  - lib/cnab240/ext/attribute_accessors.rb
76
80
  - lib/cnab240/ext/bindata.rb
77
81
  - lib/cnab240/ext/default_mixin.rb
78
82
  - lib/cnab240/ext/filler.rb
79
83
  - lib/cnab240/ext/lstring.rb
80
84
  - lib/cnab240/ext/segmento_mixin.rb
85
+ - lib/cnab240/helper/helper.rb
86
+ - lib/cnab240/helper/pagamento_bb.rb
87
+ - lib/cnab240/helper/pagamento_bradesco.rb
81
88
  - lib/cnab240/helper/pagamento_itau.rb
89
+ - lib/cnab240/helper/pagamento_sicoob.rb
82
90
  - lib/cnab240/pagamentos/v40/header.rb
83
91
  - lib/cnab240/pagamentos/v40/trailer.rb
84
92
  - lib/cnab240/pagamentos/v80/header.rb
85
93
  - lib/cnab240/pagamentos/v80/trailer.rb
94
+ - lib/cnab240/pagamentos/v83/header.rb
95
+ - lib/cnab240/pagamentos/v83/trailer.rb
86
96
  - lib/cnab240/pagamentos/v86/header.rb
87
97
  - lib/cnab240/pagamentos/v86/titulos/header.rb
88
98
  - lib/cnab240/pagamentos/v86/titulos/trailer.rb
89
99
  - lib/cnab240/pagamentos/v86/trailer.rb
90
100
  - lib/cnab240/pagamentos/v86/tributos/header.rb
91
101
  - lib/cnab240/pagamentos/v86/tributos/trailer.rb
102
+ - lib/cnab240/pagamentos/v87/header.rb
103
+ - lib/cnab240/pagamentos/v87/titulos/header.rb
104
+ - lib/cnab240/pagamentos/v87/titulos/trailer.rb
105
+ - lib/cnab240/pagamentos/v87/trailer.rb
106
+ - lib/cnab240/pagamentos/v87/tributos/header.rb
107
+ - lib/cnab240/pagamentos/v87/tributos/trailer.rb
92
108
  - lib/cnab240/segmentos/v40/segmento_a.rb
93
109
  - lib/cnab240/segmentos/v80/agencia_itau.rb
94
110
  - lib/cnab240/segmentos/v80/agencia_outros.rb
95
111
  - lib/cnab240/segmentos/v80/segmento_a.rb
112
+ - lib/cnab240/segmentos/v83/segmento_a.rb
113
+ - lib/cnab240/segmentos/v83/segmento_b.rb
114
+ - lib/cnab240/segmentos/v83/segmento_j.rb
115
+ - lib/cnab240/segmentos/v83/segmento_z.rb
96
116
  - lib/cnab240/segmentos/v86/segmento_a.rb
97
117
  - lib/cnab240/segmentos/v86/segmento_b.rb
98
118
  - lib/cnab240/segmentos/v86/segmento_c.rb
@@ -111,135 +131,46 @@ files:
111
131
  - lib/cnab240/segmentos/v86/segmento_w.rb
112
132
  - lib/cnab240/segmentos/v86/segmento_w1.rb
113
133
  - lib/cnab240/segmentos/v86/segmento_z.rb
134
+ - lib/cnab240/segmentos/v87/segmento_a.rb
135
+ - lib/cnab240/segmentos/v87/segmento_b.rb
136
+ - lib/cnab240/segmentos/v87/segmento_c.rb
137
+ - lib/cnab240/segmentos/v87/segmento_j.rb
138
+ - lib/cnab240/segmentos/v87/segmento_j52.rb
139
+ - lib/cnab240/segmentos/v87/segmento_n.rb
140
+ - lib/cnab240/segmentos/v87/segmento_n1.rb
141
+ - lib/cnab240/segmentos/v87/segmento_n2.rb
142
+ - lib/cnab240/segmentos/v87/segmento_n3.rb
143
+ - lib/cnab240/segmentos/v87/segmento_n4.rb
144
+ - lib/cnab240/segmentos/v87/segmento_n5.rb
145
+ - lib/cnab240/segmentos/v87/segmento_n6.rb
146
+ - lib/cnab240/segmentos/v87/segmento_n7.rb
147
+ - lib/cnab240/segmentos/v87/segmento_n8.rb
148
+ - lib/cnab240/segmentos/v87/segmento_o.rb
149
+ - lib/cnab240/segmentos/v87/segmento_w.rb
150
+ - lib/cnab240/segmentos/v87/segmento_w1.rb
151
+ - lib/cnab240/segmentos/v87/segmento_z.rb
114
152
  - lib/cnab240/version.rb
115
- - spec/arquivo/arquivo_spec.rb
116
- - spec/arquivo/v40/header_spec.rb
117
- - spec/arquivo/v40/trailer_spec.rb
118
- - spec/arquivo/v80/header_spec.rb
119
- - spec/arquivo/v80/trailer_spec.rb
120
- - spec/arquivo/v86/header_spec.rb
121
- - spec/arquivo/v86/trailer_spec.rb
122
- - spec/bindata/bindata_spec.rb
123
- - spec/cnab240_spec.rb
124
- - spec/helper/pagamento_itau_spec.rb
125
- - spec/hom/hom_spec.rb
126
- - spec/hom/retorno/SB22112AIT.RET
127
- - spec/hom/retorno/SB23112AIT.RET
128
- - spec/pagamentos/v40/header_spec.rb
129
- - spec/pagamentos/v40/lote_spec.rb
130
- - spec/pagamentos/v40/trailer_spec.rb
131
- - spec/pagamentos/v80/header_spec.rb
132
- - spec/pagamentos/v80/lote_spec.rb
133
- - spec/pagamentos/v80/trailer_spec.rb
134
- - spec/pagamentos/v86/header_spec.rb
135
- - spec/pagamentos/v86/lote_spec.rb
136
- - spec/pagamentos/v86/titulos/header_spec.rb
137
- - spec/pagamentos/v86/titulos/lote_spec.rb
138
- - spec/pagamentos/v86/titulos/trailer_spec.rb
139
- - spec/pagamentos/v86/trailer_spec.rb
140
- - spec/pagamentos/v86/tributos/header_spec.rb
141
- - spec/pagamentos/v86/tributos/lote_spec.rb
142
- - spec/pagamentos/v86/tributos/trailer_spec.rb
143
- - spec/segmentos/v40/segmento_a_spec.rb
144
- - spec/segmentos/v80/segmento_a_spec.rb
145
- - spec/segmentos/v86/segmento_a_spec.rb
146
- - spec/segmentos/v86/segmento_b_spec.rb
147
- - spec/segmentos/v86/segmento_c_spec.rb
148
- - spec/segmentos/v86/segmento_j52_spec.rb
149
- - spec/segmentos/v86/segmento_j_spec.rb
150
- - spec/segmentos/v86/segmento_n1_spec.rb
151
- - spec/segmentos/v86/segmento_n2_spec.rb
152
- - spec/segmentos/v86/segmento_n3_spec.rb
153
- - spec/segmentos/v86/segmento_n4_spec.rb
154
- - spec/segmentos/v86/segmento_n5_spec.rb
155
- - spec/segmentos/v86/segmento_n6_spec.rb
156
- - spec/segmentos/v86/segmento_n7_spec.rb
157
- - spec/segmentos/v86/segmento_n8_spec.rb
158
- - spec/segmentos/v86/segmento_n_spec.rb
159
- - spec/segmentos/v86/segmento_o_spec.rb
160
- - spec/segmentos/v86/segmento_spec.rb
161
- - spec/segmentos/v86/segmento_w_spec.rb
162
- - spec/segmentos/v86/segmento_z_spec.rb
163
- - spec/spec_helper.rb
164
- - spec/tmp/.gitkeep
165
153
  homepage: ''
166
154
  licenses: []
155
+ metadata: {}
167
156
  post_install_message:
168
157
  rdoc_options: []
169
158
  require_paths:
170
159
  - lib
171
160
  required_ruby_version: !ruby/object:Gem::Requirement
172
- none: false
173
161
  requirements:
174
- - - ! '>='
162
+ - - ">="
175
163
  - !ruby/object:Gem::Version
176
164
  version: '0'
177
- segments:
178
- - 0
179
- hash: -3521898211230921617
180
165
  required_rubygems_version: !ruby/object:Gem::Requirement
181
- none: false
182
166
  requirements:
183
- - - ! '>='
167
+ - - ">="
184
168
  - !ruby/object:Gem::Version
185
169
  version: '0'
186
- segments:
187
- - 0
188
- hash: -3521898211230921617
189
170
  requirements: []
190
171
  rubyforge_project: cnab240
191
- rubygems_version: 1.8.24
172
+ rubygems_version: 2.2.2
192
173
  signing_key:
193
- specification_version: 3
174
+ specification_version: 4
194
175
  summary: Formato CNAB 240.
195
- test_files:
196
- - spec/arquivo/arquivo_spec.rb
197
- - spec/arquivo/v40/header_spec.rb
198
- - spec/arquivo/v40/trailer_spec.rb
199
- - spec/arquivo/v80/header_spec.rb
200
- - spec/arquivo/v80/trailer_spec.rb
201
- - spec/arquivo/v86/header_spec.rb
202
- - spec/arquivo/v86/trailer_spec.rb
203
- - spec/bindata/bindata_spec.rb
204
- - spec/cnab240_spec.rb
205
- - spec/helper/pagamento_itau_spec.rb
206
- - spec/hom/hom_spec.rb
207
- - spec/hom/retorno/SB22112AIT.RET
208
- - spec/hom/retorno/SB23112AIT.RET
209
- - spec/pagamentos/v40/header_spec.rb
210
- - spec/pagamentos/v40/lote_spec.rb
211
- - spec/pagamentos/v40/trailer_spec.rb
212
- - spec/pagamentos/v80/header_spec.rb
213
- - spec/pagamentos/v80/lote_spec.rb
214
- - spec/pagamentos/v80/trailer_spec.rb
215
- - spec/pagamentos/v86/header_spec.rb
216
- - spec/pagamentos/v86/lote_spec.rb
217
- - spec/pagamentos/v86/titulos/header_spec.rb
218
- - spec/pagamentos/v86/titulos/lote_spec.rb
219
- - spec/pagamentos/v86/titulos/trailer_spec.rb
220
- - spec/pagamentos/v86/trailer_spec.rb
221
- - spec/pagamentos/v86/tributos/header_spec.rb
222
- - spec/pagamentos/v86/tributos/lote_spec.rb
223
- - spec/pagamentos/v86/tributos/trailer_spec.rb
224
- - spec/segmentos/v40/segmento_a_spec.rb
225
- - spec/segmentos/v80/segmento_a_spec.rb
226
- - spec/segmentos/v86/segmento_a_spec.rb
227
- - spec/segmentos/v86/segmento_b_spec.rb
228
- - spec/segmentos/v86/segmento_c_spec.rb
229
- - spec/segmentos/v86/segmento_j52_spec.rb
230
- - spec/segmentos/v86/segmento_j_spec.rb
231
- - spec/segmentos/v86/segmento_n1_spec.rb
232
- - spec/segmentos/v86/segmento_n2_spec.rb
233
- - spec/segmentos/v86/segmento_n3_spec.rb
234
- - spec/segmentos/v86/segmento_n4_spec.rb
235
- - spec/segmentos/v86/segmento_n5_spec.rb
236
- - spec/segmentos/v86/segmento_n6_spec.rb
237
- - spec/segmentos/v86/segmento_n7_spec.rb
238
- - spec/segmentos/v86/segmento_n8_spec.rb
239
- - spec/segmentos/v86/segmento_n_spec.rb
240
- - spec/segmentos/v86/segmento_o_spec.rb
241
- - spec/segmentos/v86/segmento_spec.rb
242
- - spec/segmentos/v86/segmento_w_spec.rb
243
- - spec/segmentos/v86/segmento_z_spec.rb
244
- - spec/spec_helper.rb
245
- - spec/tmp/.gitkeep
176
+ test_files: []
data/.gitignore DELETED
@@ -1,19 +0,0 @@
1
- *.gem
2
- *.rbc
3
- *.test
4
- .bundle
5
- .config
6
- .yardoc
7
- .DS_Store
8
- Gemfile.lock
9
- InstalledFiles
10
- _yardoc
11
- coverage
12
- doc/
13
- lib/bundler/man
14
- pkg
15
- rdoc
16
- spec/reports
17
- test/tmp
18
- spec/tmp
19
- test/version_tmp
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --color
2
- --format documentation
data/.travis.yml DELETED
@@ -1,4 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 1.8.7
4
- - 1.9.3
data/Gemfile DELETED
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in cnab240.gemspec
4
- gemspec
5
-
6
- gem "rake", :group => :test
data/LICENSE DELETED
@@ -1,22 +0,0 @@
1
- Copyright (c) 2012 J. Eduardo R. Mourao
2
-
3
- MIT License
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md DELETED
@@ -1,135 +0,0 @@
1
- # CNAB 240
2
-
3
- [![Build Status](https://secure.travis-ci.org/eduardordm/cnab240.png)](http://travis-ci.org/eduardordm/cnab240)
4
-
5
- Esta é uma implementação do Layout Padrão Febraban 240 posições, e algumas variações. Provavelmente vou adicionar o CNAB 400 na mesma gem. Talvez adicione também um puxadinho para voce poder usar o ActiveRecord.
6
-
7
-
8
- Os padrões da febraban são fruto de incompêtencia que ultrapassa os limites do patético. Espero que essa implementação lhe poupe algumas horas de sofrimento.
9
-
10
- Cada banco tem uma visão particular sobre o padrão, os bancos:
11
-
12
- - Subdividem os campos em outros menores;
13
- - Trocam o nome e utilidade de campos;
14
-
15
- Tudo isso para que eu sumisse do Rio de Janeiro e não fizesse a descoberta de ser King Size.
16
-
17
- Dê um git clone no master do repositório para que voce tenha acesso aos modelos (sem RDoc ainda).
18
-
19
-
20
- Adicionar mais implementações é simples. Leia os testes. Aos poucos vou adicionando alguma documentação.
21
-
22
-
23
- ## Variações suportadas:
24
-
25
- Somente pagamentos. Veja pasta docs/
26
-
27
- - Layout Padrão FEBRABAN 240 posições V8.6
28
- - Layout FEBRABAN 240 posições V80 (Itaú - SISPAG)
29
-
30
-
31
- ## Instalação
32
-
33
- Adicione ao Gemfile:
34
-
35
- gem 'cnab240'
36
-
37
- execute:
38
-
39
- $ bundle
40
-
41
- Ou adicione no seu chiqueiro:
42
-
43
- $ gem install cnab240
44
-
45
- ## Como usar
46
-
47
- Por enquanto sem muita documentação (veja os testes). Você vai precisar ler os documentos da pasta docs para se situar, são muitos campos com nomes bem parecidos. Utilize a documentação dos bancos/febraban como referência.
48
-
49
-
50
- Em algum lugar voce pode criar um arquivo de inicialização (não é obrigatório):
51
-
52
- A única configuração suportada até o momento é a de valores-padrão para campos:
53
-
54
- ```ruby
55
- Cnab240.setup do |config|
56
- # configuracoes aqui
57
- config.defaults[:empresa_tipo] = "1"
58
- end
59
- ```
60
-
61
- Voce pode criar arquivos, e adicionar lotes. A versão é automaticamente a 8.6, se preferir voce pode escolher outra versão. Utilize o operador << do arquivo para adicionar lotes.
62
-
63
- ```ruby
64
- arquivo = Arquivo::Arquivo.new
65
- lote = Lote.new(:operacao => :pagamento, :tipo => :remessa)
66
- # preencha os zilhoes de campos
67
- arquivo << lote
68
- arquivo.save_to_file("arquivo.test")
69
- ```
70
- Para adicionar segmentos utilize o operador << do lote.
71
-
72
- ```ruby
73
- arquivo = Arquivo::Arquivo.new('V86')
74
- lote = Lote.new(:operacao => :pagamento, :tipo => :remessa)
75
- lote << :a
76
- # preencha os zilhoes de campos
77
- lote.segmentos[0].favorecido_banco = '1'
78
- arquivo << lote
79
- arquivo.save_to_file("arquivo.test")
80
- ```
81
-
82
- Ler do arquivo:
83
-
84
- ```ruby
85
- arquivos = Arquivo::Arquivo.load_from_file("spec/tmp/arquivo.test") # array de objetos Arquivo
86
- puts arquivos[0].header
87
- ```
88
-
89
- ### Usando Helpers
90
-
91
- Voce pode usar os helpers que vao preencher os campos automaticamente, se possivel:
92
-
93
- ```ruby
94
- pagamento = PagamentoItau.new({
95
- :empresa_tipo => '2',
96
- :empresa_numero => '07946982000133',
97
- :empresa_nome => 'LOJA DO BRASIL LTDA',
98
- :empresa_agencia_codigo => '663',
99
- :empresa_conta_numero => '01540',
100
- :empresa_agencia_conta_dv => '0',
101
- :arquivo_sequencia => '1',
102
-
103
- :endereco_logradouro => 'RUA GETULIO VARGAS',
104
- :endereco_numero => '3646',
105
- :endereco_cidade => 'PORTO VELHO',
106
- :endereco_cep => '76000000',
107
- :endereco_estado => 'RO',
108
- :servico_tipo => '98', # pagamentos - diversos
109
- :servico_forma => '41', # doc, ted, etc
110
- })
111
-
112
- pagamento << {
113
- :favorecido_banco => '001',
114
- :favorecido_agencia => '2280',
115
- :favorecido_conta => '335959',
116
- :favorecido_agencia_conta_dv => '9',
117
- :credito_seu_numero => '1',
118
- :credito_data_pagamento => '03082012',
119
- :credito_valor_pagamento => '500000',
120
- :numero_inscricao => '19375208168',
121
- :favorecido_nome => 'EDUARDO MOURAO'
122
- }
123
-
124
- pagamento.string
125
- ```
126
-
127
- ## Considerações
128
-
129
- - Tudo string. O arquivo é de strings, a implementação também;
130
- - Padding é automático.
131
-
132
- ## Contribuindo
133
-
134
- Adicione testes, abra o pull request. Sem bikeshedding, wizardry ou craftismos pro meu lado!!! O código aqui deve ser de simples entendimento.
135
-
Binary file
Binary file
@@ -1,95 +0,0 @@
1
- require 'spec_helper'
2
-
3
- include Cnab240::V86::Pagamentos
4
- include Cnab240::Arquivo
5
-
6
- describe Arquivo do
7
-
8
- it "deve instanciar" do
9
- arquivo = Cnab240::Arquivo::Arquivo.new
10
- arquivo.should be_an_instance_of(Cnab240::Arquivo::Arquivo)
11
- end
12
-
13
- it "deve aceitar lotes" do
14
- arquivo = Cnab240::Arquivo::Arquivo.new
15
- arquivo.should respond_to(:lotes)
16
-
17
- (1..10).each do |n|
18
- lote = Cnab240::Lote.new(:operacao => :pagamento, :tipo => :remessa)
19
- lote.should be_an_instance_of(Cnab240::Lote)
20
- arquivo << lote
21
- arquivo.lotes.length.should be(n)
22
- end
23
- end
24
-
25
- it "deve manter 240 em todo o arquivo" do
26
- arquivo = Cnab240::Arquivo::Arquivo.new
27
- arquivo.should respond_to(:lotes)
28
-
29
- (1..10).each do |n|
30
- lote = Cnab240::Lote.new(:operacao => :pagamento, :tipo => :remessa)
31
- lote.should be_an_instance_of(Cnab240::Lote)
32
- arquivo << lote
33
- end
34
-
35
- arquivo.linhas do |linha|
36
- linha.length.should be(240)
37
- end
38
- end
39
-
40
- it "deve ler e escrever, mantendo classe de lote" do
41
- arquivo = Cnab240::Arquivo::Arquivo.new
42
- (1..10).each do |n|
43
- arquivo << Cnab240::Lote.new(:operacao => :pagamento, :tipo => :remessa)
44
- end
45
- arquivo.save_to_file("./spec/tmp/arquivo.test")
46
-
47
- arquivo_read = Cnab240::Arquivo::Arquivo.load_from_file("./spec/tmp/arquivo.test")[0]
48
-
49
- arquivo_read.lotes.length.should be 10
50
-
51
- arquivo_read.lotes.each_with_index do |lote_read, i|
52
- lote_read.header.servico_operacao.should eq arquivo.lotes[i].header.servico_operacao
53
- lote_read.should be_an_instance_of(arquivo.lotes[i].class)
54
- lote_read.segmentos.length.should be arquivo.lotes[i].segmentos.length
55
- end
56
- end
57
-
58
- it "arquivos devem ser identicos" do
59
- arquivo = Cnab240::Arquivo::Arquivo.new
60
- (1..10).each do |n|
61
- arquivo << Cnab240::Lote.new(:operacao => :pagamento, :tipo => :remessa)
62
- end
63
- arquivo.save_to_file("./spec/tmp/arquivo.test")
64
-
65
- arquivo_read = Cnab240::Arquivo::Arquivo.load_from_file("./spec/tmp/arquivo.test")[0]
66
-
67
- header_r = arquivo_read.header
68
- header = arquivo.header
69
-
70
- arquivo_read.header.linha.should eq arquivo.header.linha
71
- arquivo_read.trailer.linha.should eq arquivo.trailer.linha
72
-
73
- end
74
-
75
- it "auto fill do arquivo - soma de registros" do
76
- arquivo = Cnab240::Arquivo::Arquivo.new
77
- (1..2).each do |n|
78
- arquivo << lote = Cnab240::Lote.new(:operacao => :pagamento, :tipo => :remessa)
79
- lote << :a
80
- end
81
- arquivo.auto_fill
82
- arquivo.trailer.totais_qtde_lotes.should eq '000002'
83
- arquivo.trailer.totais_qtde_registros.should eq '000008'
84
- end
85
-
86
- it "deve carregar arquivo grande" do
87
-
88
- # arquivo_read = Cnab240::Arquivo::Arquivo.load_from_file("spec/tmp/B330002984PSL.REM")[0]
89
- # arquivo_read.save_to_file("spec/tmp/arquivo.test")
90
- # arquivo_read2 = Cnab240::Arquivo::Arquivo.load_from_file("spec/tmp/arquivo.test")[0]
91
- # arquivo_read.string.should eq arquivo_read2.string
92
- end
93
-
94
-
95
- end
@@ -1,68 +0,0 @@
1
- require 'spec_helper'
2
-
3
-
4
- describe Cnab240::V40::Arquivo::Header do
5
-
6
- it "deve ter campos de header" do
7
- header = Cnab240::V40::Arquivo::Header.new
8
-
9
- header.should respond_to(:controle_banco)
10
- header.should respond_to(:controle_lote)
11
- header.should respond_to(:controle_registro)
12
-
13
- header.should respond_to(:cnab_g004_1)
14
-
15
- header.should respond_to(:empresa_tipo)
16
- header.should respond_to(:empresa_numero)
17
- header.should respond_to(:empresa_convenio)
18
-
19
- header.should respond_to(:brancos_1)
20
- header.should respond_to(:brancos_2)
21
-
22
- header.should respond_to(:empresa_agencia_codigo)
23
-
24
- header.should respond_to(:brancos_3)
25
- header.should respond_to(:brancos_4)
26
-
27
- header.should respond_to(:empresa_conta_numero)
28
- header.should respond_to(:brancos_5)
29
-
30
- header.should respond_to(:empresa_agencia_conta_dv)
31
- header.should respond_to(:empresa_nome)
32
-
33
- header.should respond_to(:banco_nome)
34
-
35
- header.should respond_to(:cnab_g004_2)
36
-
37
- header.should respond_to(:arquivo_codigo)
38
- header.should respond_to(:arquivo_data_geracao)
39
- header.should respond_to(:arquivo_hora_geracao)
40
- header.should respond_to(:arquivo_sequencia)
41
- header.should respond_to(:arquivo_layout)
42
- header.should respond_to(:arquivo_densidade)
43
-
44
- header.should respond_to(:reservado_banco)
45
-
46
- header.should respond_to(:cnab_g004_3)
47
- end
48
-
49
- it "header deve ter 240 caracteres" do
50
- header = Cnab240::V40::Arquivo::Header.new
51
- header.linha.length.should be(240)
52
- end
53
-
54
- it "conversao deve manter consistencia" do
55
- header = Cnab240::V40::Arquivo::Header.new
56
-
57
- header.controle_banco= "8"
58
- header.controle_lote= "8"
59
- header.controle_registro= "8"
60
-
61
- linha1 = header.linha
62
-
63
- header2 = Cnab240::V40::Arquivo::Header.read(linha1)
64
- linha2 = header2.linha
65
-
66
- linha1.should eq linha2
67
- end
68
- end
@@ -1,25 +0,0 @@
1
- require 'spec_helper'
2
-
3
-
4
- describe Cnab240::V40::Arquivo::Trailer do
5
-
6
- it "deve conter campos trailer" do
7
- header = Cnab240::V40::Arquivo::Trailer.new
8
- header.should respond_to(:controle_banco)
9
- header.should respond_to(:controle_lote)
10
- header.should respond_to(:controle_registro)
11
-
12
- header.should respond_to(:cnab_g004_1)
13
-
14
- header.should respond_to(:totais_qtde_lotes)
15
- header.should respond_to(:totais_qtde_registros)
16
-
17
- header.should respond_to(:cnab_g004_2)
18
- end
19
-
20
- it "trailer deve ter 240 caracteres" do
21
- trailer = Cnab240::V40::Arquivo::Trailer.new
22
- trailer.linha.length.should be(240)
23
- end
24
-
25
- end