rbcsv 0.1.4 → 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: 13df1c56f1b7a646d461ae0d1623ffb1e4f0a6ee6746da0e39fd9b680626a935
4
- data.tar.gz: 54e9d6ea0e7ec1446479a87fb02ff1614bc693c3c8f8168f3c575589da09a8cd
3
+ metadata.gz: 351d11d92922c2f119bf0e273abddd2cfdbe55fa46eaf2577710f0ef241ceacb
4
+ data.tar.gz: adee292996af62f55eaf70ab0d927c9fc4b2a5c85cc1687775e6c6507d1851a4
5
5
  SHA512:
6
- metadata.gz: c27195b66c70740de593fdbe4bf3c69415dbc9332c708c3dcccdc93a1c455df639c8563d819760acf62dcc151bc057b39fd744118befd683ded3cde3fe461b1f
7
- data.tar.gz: f27373dcfa45e8aa7f3142a9f2c4a6c968d1c2f92731eb1b01fed3776f135b528b16d4cc236af2bb49c9d8f3a94bb03a0e834937041a8dbbbe4d89e628578424
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,55 @@
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
+
32
+ ## [0.1.6] - 2025-09-27
33
+
34
+ ### Changed
35
+ - Version bump for gem release
36
+
37
+ ## [0.1.5] - 2025-09-27
38
+
39
+ ### Fixed
40
+ - Fixed Magnus init function compatibility with version 0.6
41
+ - Added missing rb-sys dependency for proper Ruby header linking
42
+ - Fixed module name inconsistency in RSpec tests (RCsv → RbCsv)
43
+
44
+ ### Changed
45
+ - Updated Magnus initialization to use `#[magnus::init]` attribute
46
+ - Improved error handling with Magnus::Error type
47
+ - Cleaned up unused imports
48
+
49
+ ### Added
50
+ - Documentation for AI-driven gem version upgrade process
51
+ - Tests for parse_with_trim functionality
52
+
3
53
  ## [0.1.4] - 2025-09-20
4
54
 
5
55
  - **Fixed**: CSV parse method returning empty array due to incorrect header handling
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,23 +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
285
  ]
242
286
 
243
287
  [[package]]
244
288
  name = "regex"
245
- version = "1.11.2"
289
+ version = "1.11.3"
246
290
  source = "registry+https://github.com/rust-lang/crates.io-index"
247
- checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912"
291
+ checksum = "8b5288124840bee7b386bc413c487869b360b2b4ec421ea56425128692f2a82c"
248
292
  dependencies = [
249
293
  "aho-corasick",
250
294
  "memchr",
@@ -254,9 +298,9 @@ dependencies = [
254
298
 
255
299
  [[package]]
256
300
  name = "regex-automata"
257
- version = "0.4.10"
301
+ version = "0.4.11"
258
302
  source = "registry+https://github.com/rust-lang/crates.io-index"
259
- checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6"
303
+ checksum = "833eb9ce86d40ef33cb1306d8accf7bc8ec2bfea4355cbdebb3df68b40925cad"
260
304
  dependencies = [
261
305
  "aho-corasick",
262
306
  "memchr",
@@ -289,27 +333,27 @@ checksum = "1bc711410fbe7399f390ca1c3b60ad0f53f80e95c5eb935e52268a0e2cd49acc"
289
333
 
290
334
  [[package]]
291
335
  name = "serde"
292
- version = "1.0.225"
336
+ version = "1.0.227"
293
337
  source = "registry+https://github.com/rust-lang/crates.io-index"
294
- checksum = "fd6c24dee235d0da097043389623fb913daddf92c76e9f5a1db88607a0bcbd1d"
338
+ checksum = "80ece43fc6fbed4eb5392ab50c07334d3e577cbf40997ee896fe7af40bba4245"
295
339
  dependencies = [
296
340
  "serde_core",
297
341
  ]
298
342
 
299
343
  [[package]]
300
344
  name = "serde_core"
301
- version = "1.0.225"
345
+ version = "1.0.227"
302
346
  source = "registry+https://github.com/rust-lang/crates.io-index"
303
- checksum = "659356f9a0cb1e529b24c01e43ad2bdf520ec4ceaf83047b83ddcc2251f96383"
347
+ checksum = "7a576275b607a2c86ea29e410193df32bc680303c82f31e275bbfcafe8b33be5"
304
348
  dependencies = [
305
349
  "serde_derive",
306
350
  ]
307
351
 
308
352
  [[package]]
309
353
  name = "serde_derive"
310
- version = "1.0.225"
354
+ version = "1.0.227"
311
355
  source = "registry+https://github.com/rust-lang/crates.io-index"
312
- checksum = "0ea936adf78b1f766949a4977b91d2f5595825bd6ec079aa9543ad2685fc4516"
356
+ checksum = "51e694923b8824cf0e9b382adf0f60d4e05f348f357b38833a3fa5ed7c2ede04"
313
357
  dependencies = [
314
358
  "proc-macro2",
315
359
  "quote",
@@ -339,25 +383,60 @@ dependencies = [
339
383
  "unicode-ident",
340
384
  ]
341
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
+
342
395
  [[package]]
343
396
  name = "unicode-ident"
344
397
  version = "1.0.19"
345
398
  source = "registry+https://github.com/rust-lang/crates.io-index"
346
399
  checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d"
347
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
+
348
410
  [[package]]
349
411
  name = "windows-link"
350
- version = "0.1.3"
412
+ version = "0.2.0"
351
413
  source = "registry+https://github.com/rust-lang/crates.io-index"
352
- checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
414
+ checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65"
353
415
 
354
416
  [[package]]
355
- name = "windows-targets"
356
- version = "0.53.3"
417
+ name = "windows-sys"
418
+ version = "0.59.0"
357
419
  source = "registry+https://github.com/rust-lang/crates.io-index"
358
- 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"
359
430
  dependencies = [
360
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 = [
361
440
  "windows_aarch64_gnullvm",
362
441
  "windows_aarch64_msvc",
363
442
  "windows_i686_gnu",
@@ -370,48 +449,48 @@ dependencies = [
370
449
 
371
450
  [[package]]
372
451
  name = "windows_aarch64_gnullvm"
373
- version = "0.53.0"
452
+ version = "0.52.6"
374
453
  source = "registry+https://github.com/rust-lang/crates.io-index"
375
- checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
454
+ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
376
455
 
377
456
  [[package]]
378
457
  name = "windows_aarch64_msvc"
379
- version = "0.53.0"
458
+ version = "0.52.6"
380
459
  source = "registry+https://github.com/rust-lang/crates.io-index"
381
- checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
460
+ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
382
461
 
383
462
  [[package]]
384
463
  name = "windows_i686_gnu"
385
- version = "0.53.0"
464
+ version = "0.52.6"
386
465
  source = "registry+https://github.com/rust-lang/crates.io-index"
387
- checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
466
+ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
388
467
 
389
468
  [[package]]
390
469
  name = "windows_i686_gnullvm"
391
- version = "0.53.0"
470
+ version = "0.52.6"
392
471
  source = "registry+https://github.com/rust-lang/crates.io-index"
393
- checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
472
+ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
394
473
 
395
474
  [[package]]
396
475
  name = "windows_i686_msvc"
397
- version = "0.53.0"
476
+ version = "0.52.6"
398
477
  source = "registry+https://github.com/rust-lang/crates.io-index"
399
- checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
478
+ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
400
479
 
401
480
  [[package]]
402
481
  name = "windows_x86_64_gnu"
403
- version = "0.53.0"
482
+ version = "0.52.6"
404
483
  source = "registry+https://github.com/rust-lang/crates.io-index"
405
- checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
484
+ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
406
485
 
407
486
  [[package]]
408
487
  name = "windows_x86_64_gnullvm"
409
- version = "0.53.0"
488
+ version = "0.52.6"
410
489
  source = "registry+https://github.com/rust-lang/crates.io-index"
411
- checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
490
+ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
412
491
 
413
492
  [[package]]
414
493
  name = "windows_x86_64_msvc"
415
- version = "0.53.0"
494
+ version = "0.52.6"
416
495
  source = "registry+https://github.com/rust-lang/crates.io-index"
417
- checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
496
+ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"