csv 3.2.8 → 3.2.9
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 +4 -4
- data/NEWS.md +18 -0
- data/README.md +2 -2
- data/lib/csv/parser.rb +16 -10
- data/lib/csv/version.rb +1 -1
- metadata +3 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7dabc413b85090aa7c9c93ca318de9adb1c0c2d94273f4e8d23d73d2882680a
|
4
|
+
data.tar.gz: 8e8484c342de0947a59af726ab20d7a88a2ae766a9e62139edb6c5650d144d0a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 28edfb536bed667f78a618a3d13f5b305d1749879efae7256aaa8a0fa84694f2df7cc285851976b8b2f45ce9a7ae5741f9bd4277c3ea32c9a27fd2379a0f1be2
|
7
|
+
data.tar.gz: 7fe44532cde1e9022da25f798b696ad51b7c81bc3bd64cfd97610d13f073f141886bfdd03e9bb710bab2d3e7fda71a47cfea0ea7da8d3f6c06b38edfc295e364
|
data/NEWS.md
CHANGED
@@ -1,5 +1,23 @@
|
|
1
1
|
# News
|
2
2
|
|
3
|
+
## 3.2.9 - 2024-03-22
|
4
|
+
|
5
|
+
### Fixes
|
6
|
+
|
7
|
+
* Fixed a parse bug that wrong result may be happen when:
|
8
|
+
|
9
|
+
* `:skip_lines` is used
|
10
|
+
* `:row_separator` is `"\r\n"`
|
11
|
+
* There is a line that includes `\n` as a column value
|
12
|
+
|
13
|
+
Reported by Ryo Tsukamoto.
|
14
|
+
|
15
|
+
GH-296
|
16
|
+
|
17
|
+
### Thanks
|
18
|
+
|
19
|
+
* Ryo Tsukamoto
|
20
|
+
|
3
21
|
## 3.2.8 - 2023-11-08
|
4
22
|
|
5
23
|
### Improvements
|
data/README.md
CHANGED
@@ -30,8 +30,8 @@ end
|
|
30
30
|
|
31
31
|
## Documentation
|
32
32
|
|
33
|
-
- [API](https://ruby
|
34
|
-
- [Recipes](https://ruby
|
33
|
+
- [API](https://ruby.github.io/csv/): all classes, methods, and constants.
|
34
|
+
- [Recipes](https://ruby.github.io/csv/doc/csv/recipes/recipes_rdoc.html): specific code for specific tasks.
|
35
35
|
|
36
36
|
## Development
|
37
37
|
|
data/lib/csv/parser.rb
CHANGED
@@ -220,6 +220,15 @@ class CSV
|
|
220
220
|
end
|
221
221
|
# trace(__method__, :repos, start, buffer)
|
222
222
|
@scanner.pos = start
|
223
|
+
last_scanner, last_start, last_buffer = @keeps.last
|
224
|
+
# Drop the last buffer when the last buffer is the same data
|
225
|
+
# in the last keep. If we keep it, we have duplicated data
|
226
|
+
# by the next keep_back.
|
227
|
+
if last_scanner == @scanner and
|
228
|
+
last_buffer and
|
229
|
+
last_buffer == last_scanner.string.byteslice(last_start, start)
|
230
|
+
@keeps.last[2] = nil
|
231
|
+
end
|
223
232
|
end
|
224
233
|
read_chunk if @scanner.eos?
|
225
234
|
end
|
@@ -892,18 +901,15 @@ class CSV
|
|
892
901
|
def skip_needless_lines
|
893
902
|
return unless @skip_lines
|
894
903
|
|
895
|
-
|
896
|
-
|
897
|
-
line = @scanner.scan_all(@not_line_end) || "".encode(@encoding)
|
904
|
+
@scanner.keep_start
|
905
|
+
@scanner.each_line(@row_separator) do |line|
|
898
906
|
line << @row_separator if parse_row_end
|
899
|
-
|
900
|
-
|
901
|
-
|
902
|
-
|
903
|
-
@scanner.keep_back
|
904
|
-
return
|
905
|
-
end
|
907
|
+
break unless skip_line?(line)
|
908
|
+
@lineno += 1
|
909
|
+
@scanner.keep_drop
|
910
|
+
@scanner.keep_start
|
906
911
|
end
|
912
|
+
@scanner.keep_back
|
907
913
|
end
|
908
914
|
|
909
915
|
def skip_line?(line)
|
data/lib/csv/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: csv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Edward Gray II
|
8
8
|
- Kouhei Sutou
|
9
|
-
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2024-03-22 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: bundler
|
@@ -128,7 +127,6 @@ licenses:
|
|
128
127
|
- Ruby
|
129
128
|
- BSD-2-Clause
|
130
129
|
metadata: {}
|
131
|
-
post_install_message:
|
132
130
|
rdoc_options:
|
133
131
|
- "--main"
|
134
132
|
- README.md
|
@@ -145,8 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
145
143
|
- !ruby/object:Gem::Version
|
146
144
|
version: '0'
|
147
145
|
requirements: []
|
148
|
-
rubygems_version: 3.
|
149
|
-
signing_key:
|
146
|
+
rubygems_version: 3.6.0.dev
|
150
147
|
specification_version: 4
|
151
148
|
summary: CSV Reading and Writing
|
152
149
|
test_files: []
|