rbcsv 0.1.6 → 0.1.7

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
  SHA256:
3
- metadata.gz: 502b63a87094fd5315834ce7772b29e6debaf6b18b48a88f60eae202ffd008ec
4
- data.tar.gz: d56609a5352b69b365e87cc0bc6106a579d34927e919db0dfa8bc22228d14620
3
+ metadata.gz: 351d11d92922c2f119bf0e273abddd2cfdbe55fa46eaf2577710f0ef241ceacb
4
+ data.tar.gz: adee292996af62f55eaf70ab0d927c9fc4b2a5c85cc1687775e6c6507d1851a4
5
5
  SHA512:
6
- metadata.gz: b1e2e790b9a546cad7dfa343bb32feacc590f369f4f16fa736ea63147ec1781a6107a3bf1120bcd360af3fa907459409bd3b92b0d55b7af39cd027e81aaee49d
7
- data.tar.gz: 2ffea00a8972c26615e7bc58da5f77c6b2d7b6c1de15f31d0b064b0a2e1b3994b933c2b23297a219e2cf9c78a95ecde7694d67aa4369b4785dd091c9a64b8ba8
6
+ metadata.gz: ea495c0d2d329c59b31fe64a9de7643bfb7e6a7d70ec3bbb18c4316659004bb30b88f1ec7a8b197888f877bcf4b1cc335e9042644b1d1e377efdee3cb1912a3c
7
+ data.tar.gz: d20567b6ca4f1650190ffc74d16405bf6e68d2606dd873e978806c0e132c97b7ca102bb1a00e81d2298d5a539de1c09227596fb5f2a94971beace577bad7fa7c
@@ -0,0 +1,8 @@
1
+ {
2
+ "cargo": {
3
+ "allTargets": true
4
+ },
5
+ "checkOnSave": {
6
+ "allTargets": true
7
+ }
8
+ }
data/CHANGELOG.md CHANGED
@@ -1,5 +1,34 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.1.7] - 2025-01-28
4
+
5
+ ### Changed
6
+ - **BREAKING**: API redesigned to use function-based approach with `!` suffix for trim functionality
7
+ - `parse(csv)` and `parse!(csv)` for regular and trimmed parsing
8
+ - `read(file)` and `read!(file)` for regular and trimmed file reading
9
+ - Removed option-based API in favor of cleaner function separation
10
+ - Major internal refactoring: split code into modular structure
11
+ - `parser.rs`: Core CSV parsing logic
12
+ - `ruby_api.rs`: Ruby bindings and API functions
13
+ - `error.rs`: Error handling and custom error types
14
+ - Updated to follow Ruby naming conventions with `!` suffix for modified behavior
15
+
16
+ ### Added
17
+ - Comprehensive error handling with detailed error messages
18
+ - Support for various CSV edge cases (empty fields, special characters)
19
+ - Extensive test coverage for all parsing scenarios
20
+ - Improved documentation with DEVELOPMENT.md enhancements
21
+
22
+ ### Fixed
23
+ - Memory efficiency improvements in CSV parsing
24
+ - Better handling of UTF-8 encoded data
25
+ - Consistent error reporting across all functions
26
+
27
+ ### Development
28
+ - Added detailed project structure documentation
29
+ - Enhanced build and test procedures in DEVELOPMENT.md
30
+ - Improved release process documentation
31
+
3
32
  ## [0.1.6] - 2025-09-27
4
33
 
5
34
  ### Changed
data/Cargo.lock CHANGED
@@ -90,12 +90,48 @@ version = "1.15.0"
90
90
  source = "registry+https://github.com/rust-lang/crates.io-index"
91
91
  checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
92
92
 
93
+ [[package]]
94
+ name = "env_logger"
95
+ version = "0.10.2"
96
+ source = "registry+https://github.com/rust-lang/crates.io-index"
97
+ checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580"
98
+ dependencies = [
99
+ "humantime",
100
+ "is-terminal",
101
+ "log",
102
+ "regex",
103
+ "termcolor",
104
+ ]
105
+
93
106
  [[package]]
94
107
  name = "glob"
95
108
  version = "0.3.3"
96
109
  source = "registry+https://github.com/rust-lang/crates.io-index"
97
110
  checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280"
98
111
 
112
+ [[package]]
113
+ name = "hermit-abi"
114
+ version = "0.5.2"
115
+ source = "registry+https://github.com/rust-lang/crates.io-index"
116
+ checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c"
117
+
118
+ [[package]]
119
+ name = "humantime"
120
+ version = "2.3.0"
121
+ source = "registry+https://github.com/rust-lang/crates.io-index"
122
+ checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424"
123
+
124
+ [[package]]
125
+ name = "is-terminal"
126
+ version = "0.4.16"
127
+ source = "registry+https://github.com/rust-lang/crates.io-index"
128
+ checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9"
129
+ dependencies = [
130
+ "hermit-abi",
131
+ "libc",
132
+ "windows-sys 0.59.0",
133
+ ]
134
+
99
135
  [[package]]
100
136
  name = "itertools"
101
137
  version = "0.12.1"
@@ -125,25 +161,31 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
125
161
 
126
162
  [[package]]
127
163
  name = "libc"
128
- version = "0.2.175"
164
+ version = "0.2.176"
129
165
  source = "registry+https://github.com/rust-lang/crates.io-index"
130
- checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543"
166
+ checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174"
131
167
 
132
168
  [[package]]
133
169
  name = "libloading"
134
- version = "0.8.8"
170
+ version = "0.8.9"
135
171
  source = "registry+https://github.com/rust-lang/crates.io-index"
136
- checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667"
172
+ checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55"
137
173
  dependencies = [
138
174
  "cfg-if",
139
- "windows-targets",
175
+ "windows-link",
140
176
  ]
141
177
 
178
+ [[package]]
179
+ name = "log"
180
+ version = "0.4.28"
181
+ source = "registry+https://github.com/rust-lang/crates.io-index"
182
+ checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
183
+
142
184
  [[package]]
143
185
  name = "magnus"
144
- version = "0.6.4"
186
+ version = "0.8.1"
145
187
  source = "registry+https://github.com/rust-lang/crates.io-index"
146
- checksum = "b1597ef40aa8c36be098249e82c9a20cf7199278ac1c1a1a995eeead6a184479"
188
+ checksum = "bd2ac6e71886be00ac34db92aa732c793c5107c95191805b9a1c7e70e6d342e0"
147
189
  dependencies = [
148
190
  "magnus-macros",
149
191
  "rb-sys",
@@ -153,9 +195,9 @@ dependencies = [
153
195
 
154
196
  [[package]]
155
197
  name = "magnus-macros"
156
- version = "0.6.0"
198
+ version = "0.8.0"
157
199
  source = "registry+https://github.com/rust-lang/crates.io-index"
158
- checksum = "5968c820e2960565f647819f5928a42d6e874551cab9d88d75e3e0660d7f71e3"
200
+ checksum = "47607461fd8e1513cb4f2076c197d8092d921a1ea75bd08af97398f593751892"
159
201
  dependencies = [
160
202
  "proc-macro2",
161
203
  "quote",
@@ -164,9 +206,9 @@ dependencies = [
164
206
 
165
207
  [[package]]
166
208
  name = "memchr"
167
- version = "2.7.5"
209
+ version = "2.7.6"
168
210
  source = "registry+https://github.com/rust-lang/crates.io-index"
169
- checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
211
+ checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273"
170
212
 
171
213
  [[package]]
172
214
  name = "minimal-lexical"
@@ -228,24 +270,25 @@ dependencies = [
228
270
 
229
271
  [[package]]
230
272
  name = "rb-sys-env"
231
- version = "0.1.2"
273
+ version = "0.2.2"
232
274
  source = "registry+https://github.com/rust-lang/crates.io-index"
233
- checksum = "a35802679f07360454b418a5d1735c89716bde01d35b1560fc953c1415a0b3bb"
275
+ checksum = "08f8d2924cf136a1315e2b4c7460a39f62ef11ee5d522df9b2750fab55b868b6"
234
276
 
235
277
  [[package]]
236
278
  name = "rbcsv"
237
279
  version = "0.1.0"
238
280
  dependencies = [
239
281
  "csv",
282
+ "env_logger",
283
+ "log",
240
284
  "magnus",
241
- "rb-sys",
242
285
  ]
243
286
 
244
287
  [[package]]
245
288
  name = "regex"
246
- version = "1.11.2"
289
+ version = "1.11.3"
247
290
  source = "registry+https://github.com/rust-lang/crates.io-index"
248
- checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912"
291
+ checksum = "8b5288124840bee7b386bc413c487869b360b2b4ec421ea56425128692f2a82c"
249
292
  dependencies = [
250
293
  "aho-corasick",
251
294
  "memchr",
@@ -255,9 +298,9 @@ dependencies = [
255
298
 
256
299
  [[package]]
257
300
  name = "regex-automata"
258
- version = "0.4.10"
301
+ version = "0.4.11"
259
302
  source = "registry+https://github.com/rust-lang/crates.io-index"
260
- checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6"
303
+ checksum = "833eb9ce86d40ef33cb1306d8accf7bc8ec2bfea4355cbdebb3df68b40925cad"
261
304
  dependencies = [
262
305
  "aho-corasick",
263
306
  "memchr",
@@ -290,27 +333,27 @@ checksum = "1bc711410fbe7399f390ca1c3b60ad0f53f80e95c5eb935e52268a0e2cd49acc"
290
333
 
291
334
  [[package]]
292
335
  name = "serde"
293
- version = "1.0.225"
336
+ version = "1.0.227"
294
337
  source = "registry+https://github.com/rust-lang/crates.io-index"
295
- checksum = "fd6c24dee235d0da097043389623fb913daddf92c76e9f5a1db88607a0bcbd1d"
338
+ checksum = "80ece43fc6fbed4eb5392ab50c07334d3e577cbf40997ee896fe7af40bba4245"
296
339
  dependencies = [
297
340
  "serde_core",
298
341
  ]
299
342
 
300
343
  [[package]]
301
344
  name = "serde_core"
302
- version = "1.0.225"
345
+ version = "1.0.227"
303
346
  source = "registry+https://github.com/rust-lang/crates.io-index"
304
- checksum = "659356f9a0cb1e529b24c01e43ad2bdf520ec4ceaf83047b83ddcc2251f96383"
347
+ checksum = "7a576275b607a2c86ea29e410193df32bc680303c82f31e275bbfcafe8b33be5"
305
348
  dependencies = [
306
349
  "serde_derive",
307
350
  ]
308
351
 
309
352
  [[package]]
310
353
  name = "serde_derive"
311
- version = "1.0.225"
354
+ version = "1.0.227"
312
355
  source = "registry+https://github.com/rust-lang/crates.io-index"
313
- checksum = "0ea936adf78b1f766949a4977b91d2f5595825bd6ec079aa9543ad2685fc4516"
356
+ checksum = "51e694923b8824cf0e9b382adf0f60d4e05f348f357b38833a3fa5ed7c2ede04"
314
357
  dependencies = [
315
358
  "proc-macro2",
316
359
  "quote",
@@ -340,25 +383,60 @@ dependencies = [
340
383
  "unicode-ident",
341
384
  ]
342
385
 
386
+ [[package]]
387
+ name = "termcolor"
388
+ version = "1.4.1"
389
+ source = "registry+https://github.com/rust-lang/crates.io-index"
390
+ checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
391
+ dependencies = [
392
+ "winapi-util",
393
+ ]
394
+
343
395
  [[package]]
344
396
  name = "unicode-ident"
345
397
  version = "1.0.19"
346
398
  source = "registry+https://github.com/rust-lang/crates.io-index"
347
399
  checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d"
348
400
 
401
+ [[package]]
402
+ name = "winapi-util"
403
+ version = "0.1.11"
404
+ source = "registry+https://github.com/rust-lang/crates.io-index"
405
+ checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
406
+ dependencies = [
407
+ "windows-sys 0.61.1",
408
+ ]
409
+
349
410
  [[package]]
350
411
  name = "windows-link"
351
- version = "0.1.3"
412
+ version = "0.2.0"
352
413
  source = "registry+https://github.com/rust-lang/crates.io-index"
353
- checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
414
+ checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65"
354
415
 
355
416
  [[package]]
356
- name = "windows-targets"
357
- version = "0.53.3"
417
+ name = "windows-sys"
418
+ version = "0.59.0"
358
419
  source = "registry+https://github.com/rust-lang/crates.io-index"
359
- checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91"
420
+ checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
421
+ dependencies = [
422
+ "windows-targets",
423
+ ]
424
+
425
+ [[package]]
426
+ name = "windows-sys"
427
+ version = "0.61.1"
428
+ source = "registry+https://github.com/rust-lang/crates.io-index"
429
+ checksum = "6f109e41dd4a3c848907eb83d5a42ea98b3769495597450cf6d153507b166f0f"
360
430
  dependencies = [
361
431
  "windows-link",
432
+ ]
433
+
434
+ [[package]]
435
+ name = "windows-targets"
436
+ version = "0.52.6"
437
+ source = "registry+https://github.com/rust-lang/crates.io-index"
438
+ checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
439
+ dependencies = [
362
440
  "windows_aarch64_gnullvm",
363
441
  "windows_aarch64_msvc",
364
442
  "windows_i686_gnu",
@@ -371,48 +449,48 @@ dependencies = [
371
449
 
372
450
  [[package]]
373
451
  name = "windows_aarch64_gnullvm"
374
- version = "0.53.0"
452
+ version = "0.52.6"
375
453
  source = "registry+https://github.com/rust-lang/crates.io-index"
376
- checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
454
+ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
377
455
 
378
456
  [[package]]
379
457
  name = "windows_aarch64_msvc"
380
- version = "0.53.0"
458
+ version = "0.52.6"
381
459
  source = "registry+https://github.com/rust-lang/crates.io-index"
382
- checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
460
+ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
383
461
 
384
462
  [[package]]
385
463
  name = "windows_i686_gnu"
386
- version = "0.53.0"
464
+ version = "0.52.6"
387
465
  source = "registry+https://github.com/rust-lang/crates.io-index"
388
- checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
466
+ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
389
467
 
390
468
  [[package]]
391
469
  name = "windows_i686_gnullvm"
392
- version = "0.53.0"
470
+ version = "0.52.6"
393
471
  source = "registry+https://github.com/rust-lang/crates.io-index"
394
- checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
472
+ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
395
473
 
396
474
  [[package]]
397
475
  name = "windows_i686_msvc"
398
- version = "0.53.0"
476
+ version = "0.52.6"
399
477
  source = "registry+https://github.com/rust-lang/crates.io-index"
400
- checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
478
+ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
401
479
 
402
480
  [[package]]
403
481
  name = "windows_x86_64_gnu"
404
- version = "0.53.0"
482
+ version = "0.52.6"
405
483
  source = "registry+https://github.com/rust-lang/crates.io-index"
406
- checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
484
+ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
407
485
 
408
486
  [[package]]
409
487
  name = "windows_x86_64_gnullvm"
410
- version = "0.53.0"
488
+ version = "0.52.6"
411
489
  source = "registry+https://github.com/rust-lang/crates.io-index"
412
- checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
490
+ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
413
491
 
414
492
  [[package]]
415
493
  name = "windows_x86_64_msvc"
416
- version = "0.53.0"
494
+ version = "0.52.6"
417
495
  source = "registry+https://github.com/rust-lang/crates.io-index"
418
- checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
496
+ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"