filter_io 0.2.9 → 0.2.10
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/.tool-versions +1 -0
- data/filter_io.gemspec +2 -2
- data/lib/filter_io/version.rb +1 -1
- data/lib/filter_io.rb +4 -4
- data/spec/filter_io_spec.rb +3 -3
- metadata +10 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6bb6c9bf480676e8e8f76bc297c78b2898cca42d2a4b366d62b117c5edf73167
|
4
|
+
data.tar.gz: c9994613dd2f4baad9eb51a8403e821ffae1faa3f1bcaa0edb3c1969349efccf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 027622b16c8febb4e1cc978f603bbb9c4d1527c13bed972a0633ef61015593d728728d61c18a87c80c141849796c50acbfde8d7cd775de773eb6cd441389b5ad
|
7
|
+
data.tar.gz: 6dc6d5c4d8ecb4ebf980bde869091ed0afeee5380e4e61dfbef1dab9add5bafbf1ea99327038d5460a3b1e7f53ca81f01f2e103694fbe335f1def9098d00d79e
|
data/.tool-versions
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby 2.7.5
|
data/filter_io.gemspec
CHANGED
@@ -18,8 +18,8 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.require_paths = ['lib']
|
19
19
|
|
20
20
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
21
|
-
spec.add_development_dependency 'rake'
|
21
|
+
spec.add_development_dependency 'rake'
|
22
22
|
spec.add_development_dependency 'simplecov'
|
23
|
-
spec.add_development_dependency 'rspec', '~>
|
23
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
24
24
|
spec.add_development_dependency 'pry'
|
25
25
|
end
|
data/lib/filter_io/version.rb
CHANGED
data/lib/filter_io.rb
CHANGED
@@ -54,12 +54,11 @@ class FilterIO
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def default_encoding
|
57
|
-
|
57
|
+
@default_encoding ||= begin
|
58
58
|
c = @io.getc
|
59
59
|
@io.ungetc c
|
60
|
-
|
60
|
+
c.encoding
|
61
61
|
end
|
62
|
-
@default_encoding
|
63
62
|
end
|
64
63
|
|
65
64
|
def internal_encoding
|
@@ -103,6 +102,7 @@ class FilterIO
|
|
103
102
|
return '' if length == 0
|
104
103
|
|
105
104
|
# fill the buffer up to the fill level (or whole input if length is nil)
|
105
|
+
@did_first_read ||= false
|
106
106
|
while (!source_eof? || !@did_first_read) && (length.nil? || length > @buffer.bytesize)
|
107
107
|
@did_first_read = true
|
108
108
|
buffer_data @options[:block_size] || length
|
@@ -325,7 +325,7 @@ class FilterIO
|
|
325
325
|
# and add some more data to the buffer
|
326
326
|
raise NeedMoreData
|
327
327
|
end
|
328
|
-
rescue NeedMoreData
|
328
|
+
rescue NeedMoreData
|
329
329
|
raise EOFError, 'end of file reached' if @io.eof?
|
330
330
|
new_data = @io.read(block_size).force_encoding(external_encoding)
|
331
331
|
data << new_data
|
data/spec/filter_io_spec.rb
CHANGED
@@ -206,7 +206,7 @@ describe FilterIO do
|
|
206
206
|
|
207
207
|
it 'converts ISO-8859-1 to UTF-8 via a block' do
|
208
208
|
[1, 2, nil].each do |block_size|
|
209
|
-
expected
|
209
|
+
# expected: "über\nrésumé"
|
210
210
|
with_iso8859_1_test_file 'UTF-8' do |io_raw|
|
211
211
|
io = FilterIO.new(io_raw, :block_size => block_size) do |data, state|
|
212
212
|
if state.bof?
|
@@ -227,7 +227,7 @@ describe FilterIO do
|
|
227
227
|
|
228
228
|
it 'converts ISO-8859-1 to raw via a block' do
|
229
229
|
[1, 2, nil].each do |block_size|
|
230
|
-
expected
|
230
|
+
# expected: "über\nrésumé".encode('ISO-8859-1')
|
231
231
|
with_iso8859_1_test_file 'ISO-8859-1' do |io_raw|
|
232
232
|
io = FilterIO.new(io_raw, :block_size => block_size) do |data, state|
|
233
233
|
if state.bof?
|
@@ -465,7 +465,7 @@ describe FilterIO do
|
|
465
465
|
|
466
466
|
it 'can be rewound with block' do
|
467
467
|
input = 'abcdefghij'
|
468
|
-
expected
|
468
|
+
# expected: input[1..-1]
|
469
469
|
io = FilterIO.new(StringIO.new(input), :block_size => 4) do |data, state|
|
470
470
|
data = data[1..-1] if state.bof?
|
471
471
|
data
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: filter_io
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Weathered
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-12-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: simplecov
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '3.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '3.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: pry
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -88,6 +88,7 @@ extensions: []
|
|
88
88
|
extra_rdoc_files: []
|
89
89
|
files:
|
90
90
|
- ".gitignore"
|
91
|
+
- ".tool-versions"
|
91
92
|
- Gemfile
|
92
93
|
- LICENSE
|
93
94
|
- README.markdown
|
@@ -116,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
116
117
|
- !ruby/object:Gem::Version
|
117
118
|
version: '0'
|
118
119
|
requirements: []
|
119
|
-
rubygems_version: 3.
|
120
|
+
rubygems_version: 3.2.32
|
120
121
|
signing_key:
|
121
122
|
specification_version: 4
|
122
123
|
summary: Filter IO streams with a block. Ruby's FilterInputStream.
|