nacha 0.1.8 → 0.1.12

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.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +4 -3
  3. data/.ruby-version +1 -1
  4. data/CHANGELOG.md +41 -0
  5. data/README.md +1 -1
  6. data/exe/nacha +50 -20
  7. data/lib/nacha/aba_number.rb +17 -14
  8. data/lib/nacha/ach_date.rb +15 -8
  9. data/lib/nacha/field.rb +69 -58
  10. data/lib/nacha/has_errors.rb +12 -8
  11. data/lib/nacha/numeric.rb +13 -10
  12. data/lib/nacha/parser.rb +33 -16
  13. data/lib/nacha/parser_context.rb +4 -9
  14. data/lib/nacha/record/ack_entry_detail.rb +15 -8
  15. data/lib/nacha/record/adv_batch_control.rb +13 -6
  16. data/lib/nacha/record/adv_entry_detail.rb +3 -2
  17. data/lib/nacha/record/adv_file_control.rb +10 -9
  18. data/lib/nacha/record/adv_file_header.rb +12 -7
  19. data/lib/nacha/record/arc_entry_detail.rb +2 -2
  20. data/lib/nacha/record/base.rb +128 -108
  21. data/lib/nacha/record/batch_control.rb +13 -7
  22. data/lib/nacha/record/batch_header.rb +20 -11
  23. data/lib/nacha/record/batch_header_record_type.rb +1 -1
  24. data/lib/nacha/record/boc_entry_detail.rb +3 -2
  25. data/lib/nacha/record/ccd_addenda.rb +2 -2
  26. data/lib/nacha/record/ccd_entry_detail.rb +3 -2
  27. data/lib/nacha/record/cie_addenda.rb +2 -2
  28. data/lib/nacha/record/cie_entry_detail.rb +5 -3
  29. data/lib/nacha/record/ctx_addenda.rb +2 -2
  30. data/lib/nacha/record/ctx_corporate_entry_detail.rb +2 -2
  31. data/lib/nacha/record/dne_addenda.rb +2 -2
  32. data/lib/nacha/record/dne_entry_detail.rb +6 -4
  33. data/lib/nacha/record/enr_addenda.rb +3 -2
  34. data/lib/nacha/record/enr_entry_detail.rb +4 -3
  35. data/lib/nacha/record/fifth_iat_addenda.rb +8 -4
  36. data/lib/nacha/record/file_control.rb +9 -5
  37. data/lib/nacha/record/file_control_record_type.rb +1 -1
  38. data/lib/nacha/record/file_header.rb +13 -7
  39. data/lib/nacha/record/file_header_record_type.rb +1 -1
  40. data/lib/nacha/record/filler.rb +3 -3
  41. data/lib/nacha/record/filler_record_type.rb +3 -1
  42. data/lib/nacha/record/first_iat_addenda.rb +3 -2
  43. data/lib/nacha/record/fourth_iat_addenda.rb +7 -4
  44. data/lib/nacha/record/iat_batch_header.rb +5 -3
  45. data/lib/nacha/record/iat_entry_detail.rb +7 -4
  46. data/lib/nacha/record/iat_foreign_coorespondent_bank_information_addenda.rb +10 -6
  47. data/lib/nacha/record/iat_remittance_information_addenda.rb +3 -2
  48. data/lib/nacha/record/mte_addenda.rb +4 -3
  49. data/lib/nacha/record/mte_entry_detail.rb +5 -3
  50. data/lib/nacha/record/pop_entry_detail.rb +3 -2
  51. data/lib/nacha/record/pos_addenda.rb +6 -3
  52. data/lib/nacha/record/pos_entry_detail.rb +5 -3
  53. data/lib/nacha/record/ppd_addenda.rb +3 -2
  54. data/lib/nacha/record/ppd_entry_detail.rb +5 -3
  55. data/lib/nacha/record/rck_entry_detail.rb +3 -2
  56. data/lib/nacha/record/second_iat_addenda.rb +3 -2
  57. data/lib/nacha/record/seventh_iat_addenda.rb +3 -2
  58. data/lib/nacha/record/shr_addenda.rb +5 -3
  59. data/lib/nacha/record/shr_entry_detail.rb +3 -2
  60. data/lib/nacha/record/sixth_iat_addenda.rb +5 -3
  61. data/lib/nacha/record/tel_entry_detail.rb +5 -3
  62. data/lib/nacha/record/third_iat_addenda.rb +3 -2
  63. data/lib/nacha/record/trc_entry_detail.rb +3 -2
  64. data/lib/nacha/record/trx_addenda.rb +3 -2
  65. data/lib/nacha/record/trx_entry_detail.rb +5 -3
  66. data/lib/nacha/record/validations/field_validations.rb +26 -14
  67. data/lib/nacha/record/validations/record_validations.rb +2 -1
  68. data/lib/nacha/record/web_addenda.rb +3 -2
  69. data/lib/nacha/record/web_entry_detail.rb +5 -3
  70. data/lib/nacha/record/xck_entry_detail.rb +3 -2
  71. data/lib/nacha/version.rb +4 -1
  72. data/lib/nacha.rb +84 -20
  73. data/nacha.gemspec +13 -10
  74. metadata +38 -21
data/nacha.gemspec CHANGED
@@ -14,6 +14,7 @@ Gem::Specification.new do |spec|
14
14
  spec.description = %q(Ruby parser for ACH files.)
15
15
  spec.homepage = 'https://github.com/dwilkins/nacha'
16
16
  spec.license = 'MIT'
17
+ spec.required_ruby_version = '>= 3.2.8'
17
18
 
18
19
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
19
20
  f.match(%r{^(test|spec|features)/})
@@ -23,16 +24,18 @@ Gem::Specification.new do |spec|
23
24
  spec.require_paths = ["lib"]
24
25
  spec.add_dependency 'bigdecimal'
25
26
 
26
- spec.add_development_dependency "bundler", "~> 2.0"
27
- spec.add_development_dependency "byebug"
28
- spec.add_development_dependency "pry"
29
- spec.add_development_dependency "factory_bot"
30
- spec.add_development_dependency "gitlab-styles"
31
- spec.add_development_dependency "guard"
32
- spec.add_development_dependency "guard-rspec"
33
- spec.add_development_dependency "rake", "~> 10.0"
34
- spec.add_development_dependency "rspec", "~> 3.0"
35
- spec.add_development_dependency "rubocop"
27
+ spec.add_development_dependency 'bundler'
28
+ spec.add_development_dependency 'byebug' if RUBY_ENGINE == 'ruby'
29
+ spec.add_development_dependency 'factory_bot'
30
+ spec.add_development_dependency 'gitlab-styles'
31
+ spec.add_development_dependency 'guard'
32
+ spec.add_development_dependency 'guard-rspec'
33
+ spec.add_development_dependency 'pry'
34
+ spec.add_development_dependency 'pry-nav' if RUBY_ENGINE == 'jruby'
35
+ spec.add_development_dependency 'rake'
36
+ spec.add_development_dependency 'reek'
37
+ spec.add_development_dependency 'rspec'
38
+ spec.add_development_dependency 'rubocop'
36
39
  spec.add_development_dependency 'rubocop-performance'
37
40
  spec.add_development_dependency 'rubocop-rspec'
38
41
  spec.add_development_dependency 'simplecov'
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nacha
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - David H. Wilkins
8
+ autorequire:
8
9
  bindir: exe
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2025-07-09 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: bigdecimal
@@ -27,16 +28,16 @@ dependencies:
27
28
  name: bundler
28
29
  requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - "~>"
31
+ - - ">="
31
32
  - !ruby/object:Gem::Version
32
- version: '2.0'
33
+ version: '0'
33
34
  type: :development
34
35
  prerelease: false
35
36
  version_requirements: !ruby/object:Gem::Requirement
36
37
  requirements:
37
- - - "~>"
38
+ - - ">="
38
39
  - !ruby/object:Gem::Version
39
- version: '2.0'
40
+ version: '0'
40
41
  - !ruby/object:Gem::Dependency
41
42
  name: byebug
42
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,7 +53,7 @@ dependencies:
52
53
  - !ruby/object:Gem::Version
53
54
  version: '0'
54
55
  - !ruby/object:Gem::Dependency
55
- name: pry
56
+ name: factory_bot
56
57
  requirement: !ruby/object:Gem::Requirement
57
58
  requirements:
58
59
  - - ">="
@@ -66,7 +67,7 @@ dependencies:
66
67
  - !ruby/object:Gem::Version
67
68
  version: '0'
68
69
  - !ruby/object:Gem::Dependency
69
- name: factory_bot
70
+ name: gitlab-styles
70
71
  requirement: !ruby/object:Gem::Requirement
71
72
  requirements:
72
73
  - - ">="
@@ -80,7 +81,7 @@ dependencies:
80
81
  - !ruby/object:Gem::Version
81
82
  version: '0'
82
83
  - !ruby/object:Gem::Dependency
83
- name: gitlab-styles
84
+ name: guard
84
85
  requirement: !ruby/object:Gem::Requirement
85
86
  requirements:
86
87
  - - ">="
@@ -94,7 +95,7 @@ dependencies:
94
95
  - !ruby/object:Gem::Version
95
96
  version: '0'
96
97
  - !ruby/object:Gem::Dependency
97
- name: guard
98
+ name: guard-rspec
98
99
  requirement: !ruby/object:Gem::Requirement
99
100
  requirements:
100
101
  - - ">="
@@ -108,7 +109,7 @@ dependencies:
108
109
  - !ruby/object:Gem::Version
109
110
  version: '0'
110
111
  - !ruby/object:Gem::Dependency
111
- name: guard-rspec
112
+ name: pry
112
113
  requirement: !ruby/object:Gem::Requirement
113
114
  requirements:
114
115
  - - ">="
@@ -125,30 +126,44 @@ dependencies:
125
126
  name: rake
126
127
  requirement: !ruby/object:Gem::Requirement
127
128
  requirements:
128
- - - "~>"
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: reek
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
129
144
  - !ruby/object:Gem::Version
130
- version: '10.0'
145
+ version: '0'
131
146
  type: :development
132
147
  prerelease: false
133
148
  version_requirements: !ruby/object:Gem::Requirement
134
149
  requirements:
135
- - - "~>"
150
+ - - ">="
136
151
  - !ruby/object:Gem::Version
137
- version: '10.0'
152
+ version: '0'
138
153
  - !ruby/object:Gem::Dependency
139
154
  name: rspec
140
155
  requirement: !ruby/object:Gem::Requirement
141
156
  requirements:
142
- - - "~>"
157
+ - - ">="
143
158
  - !ruby/object:Gem::Version
144
- version: '3.0'
159
+ version: '0'
145
160
  type: :development
146
161
  prerelease: false
147
162
  version_requirements: !ruby/object:Gem::Requirement
148
163
  requirements:
149
- - - "~>"
164
+ - - ">="
150
165
  - !ruby/object:Gem::Version
151
- version: '3.0'
166
+ version: '0'
152
167
  - !ruby/object:Gem::Dependency
153
168
  name: rubocop
154
169
  requirement: !ruby/object:Gem::Requirement
@@ -306,6 +321,7 @@ homepage: https://github.com/dwilkins/nacha
306
321
  licenses:
307
322
  - MIT
308
323
  metadata: {}
324
+ post_install_message:
309
325
  rdoc_options: []
310
326
  require_paths:
311
327
  - lib
@@ -313,14 +329,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
313
329
  requirements:
314
330
  - - ">="
315
331
  - !ruby/object:Gem::Version
316
- version: '0'
332
+ version: 3.2.8
317
333
  required_rubygems_version: !ruby/object:Gem::Requirement
318
334
  requirements:
319
335
  - - ">="
320
336
  - !ruby/object:Gem::Version
321
337
  version: '0'
322
338
  requirements: []
323
- rubygems_version: 3.6.7
339
+ rubygems_version: 3.4.19
340
+ signing_key:
324
341
  specification_version: 4
325
342
  summary: Ruby parser for ACH files.
326
343
  test_files: []