iostreams 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/Rakefile +7 -7
  4. data/lib/io_streams/builder.rb +4 -3
  5. data/lib/io_streams/bzip2/reader.rb +1 -1
  6. data/lib/io_streams/bzip2/writer.rb +1 -1
  7. data/lib/io_streams/deprecated.rb +2 -3
  8. data/lib/io_streams/encode/reader.rb +5 -8
  9. data/lib/io_streams/encode/writer.rb +1 -1
  10. data/lib/io_streams/io_streams.rb +5 -2
  11. data/lib/io_streams/line/reader.rb +2 -1
  12. data/lib/io_streams/path.rb +4 -4
  13. data/lib/io_streams/paths/http.rb +8 -10
  14. data/lib/io_streams/paths/matcher.rb +10 -11
  15. data/lib/io_streams/paths/s3.rb +6 -6
  16. data/lib/io_streams/paths/sftp.rb +38 -23
  17. data/lib/io_streams/pgp.rb +45 -35
  18. data/lib/io_streams/pgp/reader.rb +4 -6
  19. data/lib/io_streams/pgp/writer.rb +1 -2
  20. data/lib/io_streams/reader.rb +2 -2
  21. data/lib/io_streams/record/writer.rb +2 -4
  22. data/lib/io_streams/row/writer.rb +3 -5
  23. data/lib/io_streams/stream.rb +6 -6
  24. data/lib/io_streams/symmetric_encryption/reader.rb +1 -3
  25. data/lib/io_streams/symmetric_encryption/writer.rb +2 -6
  26. data/lib/io_streams/tabular.rb +12 -10
  27. data/lib/io_streams/tabular/header.rb +4 -4
  28. data/lib/io_streams/tabular/parser/array.rb +2 -4
  29. data/lib/io_streams/tabular/parser/csv.rb +3 -5
  30. data/lib/io_streams/tabular/parser/fixed.rb +4 -3
  31. data/lib/io_streams/tabular/parser/hash.rb +2 -4
  32. data/lib/io_streams/tabular/parser/json.rb +2 -4
  33. data/lib/io_streams/tabular/parser/psv.rb +5 -7
  34. data/lib/io_streams/tabular/utility/csv_row.rb +9 -17
  35. data/lib/io_streams/utils.rb +3 -3
  36. data/lib/io_streams/utils/reliable_http.rb +98 -0
  37. data/lib/io_streams/version.rb +1 -1
  38. data/lib/io_streams/writer.rb +1 -1
  39. data/lib/io_streams/xlsx/reader.rb +5 -5
  40. data/lib/io_streams/zip/reader.rb +1 -1
  41. data/lib/io_streams/zip/writer.rb +2 -2
  42. data/lib/iostreams.rb +34 -34
  43. data/test/builder_test.rb +74 -74
  44. data/test/bzip2_reader_test.rb +8 -13
  45. data/test/bzip2_writer_test.rb +8 -9
  46. data/test/deprecated_test.rb +25 -29
  47. data/test/encode_reader_test.rb +14 -18
  48. data/test/encode_writer_test.rb +29 -30
  49. data/test/gzip_reader_test.rb +8 -13
  50. data/test/gzip_writer_test.rb +10 -11
  51. data/test/io_streams_test.rb +35 -35
  52. data/test/line_reader_test.rb +35 -39
  53. data/test/line_writer_test.rb +8 -9
  54. data/test/minimal_file_reader.rb +1 -1
  55. data/test/path_test.rb +24 -24
  56. data/test/paths/file_test.rb +42 -42
  57. data/test/paths/http_test.rb +5 -5
  58. data/test/paths/matcher_test.rb +11 -12
  59. data/test/paths/s3_test.rb +44 -46
  60. data/test/paths/sftp_test.rb +18 -18
  61. data/test/pgp_reader_test.rb +13 -15
  62. data/test/pgp_test.rb +43 -44
  63. data/test/pgp_writer_test.rb +27 -28
  64. data/test/record_reader_test.rb +9 -10
  65. data/test/record_writer_test.rb +10 -11
  66. data/test/row_reader_test.rb +5 -6
  67. data/test/row_writer_test.rb +7 -8
  68. data/test/stream_test.rb +60 -62
  69. data/test/tabular_test.rb +111 -111
  70. data/test/test_helper.rb +22 -22
  71. data/test/utils_test.rb +7 -7
  72. data/test/xlsx_reader_test.rb +12 -12
  73. data/test/zip_reader_test.rb +14 -21
  74. data/test/zip_writer_test.rb +10 -10
  75. metadata +4 -3
@@ -1,82 +1,82 @@
1
- require_relative 'test_helper'
1
+ require_relative "test_helper"
2
2
 
3
3
  class BuilderTest < Minitest::Test
4
4
  describe IOStreams::Builder do
5
- let(:file_name) { 'my/path/abc.bcd.xlsx.zip.gz.pgp' }
5
+ let(:file_name) { "my/path/abc.bcd.xlsx.zip.gz.pgp" }
6
6
  let(:streams) { IOStreams::Builder.new(file_name) }
7
7
 
8
- describe '#option' do
9
- it 'adds one option' do
10
- streams.option(:pgp, passphrase: 'unlock-me')
11
- assert_equal({pgp: {passphrase: 'unlock-me'}}, streams.options)
8
+ describe "#option" do
9
+ it "adds one option" do
10
+ streams.option(:pgp, passphrase: "unlock-me")
11
+ assert_equal({pgp: {passphrase: "unlock-me"}}, streams.options)
12
12
  end
13
13
 
14
- it 'adds options in order' do
15
- streams.option(:pgp, passphrase: 'unlock-me')
14
+ it "adds options in order" do
15
+ streams.option(:pgp, passphrase: "unlock-me")
16
16
  streams.option(:enc, compress: false)
17
- assert_equal({pgp: {passphrase: 'unlock-me'}, enc: {compress: false}}, streams.options)
17
+ assert_equal({pgp: {passphrase: "unlock-me"}, enc: {compress: false}}, streams.options)
18
18
  end
19
19
 
20
- it 'will not add an option if a stream was already set' do
21
- streams.stream(:pgp, passphrase: 'unlock-me')
20
+ it "will not add an option if a stream was already set" do
21
+ streams.stream(:pgp, passphrase: "unlock-me")
22
22
  assert_raises ArgumentError do
23
- streams.option(:pgp, passphrase: 'unlock-me')
23
+ streams.option(:pgp, passphrase: "unlock-me")
24
24
  end
25
25
  end
26
26
 
27
- it 'will not add an invalid option' do
27
+ it "will not add an invalid option" do
28
28
  assert_raises ArgumentError do
29
29
  streams.option(:blah, value: 23)
30
30
  end
31
31
  end
32
32
 
33
- describe 'with no file_name' do
33
+ describe "with no file_name" do
34
34
  let(:file_name) { nil }
35
35
 
36
- it 'prevents options being set' do
36
+ it "prevents options being set" do
37
37
  assert_raises ArgumentError do
38
- streams.option(:pgp, passphrase: 'unlock-me')
38
+ streams.option(:pgp, passphrase: "unlock-me")
39
39
  end
40
40
  end
41
41
  end
42
42
  end
43
43
 
44
- describe '#stream' do
45
- it 'adds one stream' do
46
- streams.stream(:pgp, passphrase: 'unlock-me')
47
- assert_equal({pgp: {passphrase: 'unlock-me'}}, streams.streams)
44
+ describe "#stream" do
45
+ it "adds one stream" do
46
+ streams.stream(:pgp, passphrase: "unlock-me")
47
+ assert_equal({pgp: {passphrase: "unlock-me"}}, streams.streams)
48
48
  end
49
49
 
50
- it 'adds streams in order' do
51
- streams.stream(:pgp, passphrase: 'unlock-me')
50
+ it "adds streams in order" do
51
+ streams.stream(:pgp, passphrase: "unlock-me")
52
52
  streams.stream(:enc, compress: false)
53
- assert_equal({pgp: {passphrase: 'unlock-me'}, enc: {compress: false}}, streams.streams)
53
+ assert_equal({pgp: {passphrase: "unlock-me"}, enc: {compress: false}}, streams.streams)
54
54
  end
55
55
 
56
- it 'will not add a stream if an option was already set' do
57
- streams.option(:pgp, passphrase: 'unlock-me')
56
+ it "will not add a stream if an option was already set" do
57
+ streams.option(:pgp, passphrase: "unlock-me")
58
58
  assert_raises ArgumentError do
59
- streams.stream(:pgp, passphrase: 'unlock-me')
59
+ streams.stream(:pgp, passphrase: "unlock-me")
60
60
  end
61
61
  end
62
62
 
63
- it 'will not add an invalid stream' do
63
+ it "will not add an invalid stream" do
64
64
  assert_raises ArgumentError do
65
65
  streams.stream(:blah, value: 23)
66
66
  end
67
67
  end
68
68
  end
69
69
 
70
- describe '#reader' do
70
+ describe "#reader" do
71
71
  let :gzip_string do
72
- io_string = StringIO.new(''.b)
72
+ io_string = StringIO.new("".b)
73
73
  IOStreams::Gzip::Writer.stream(io_string) do |io|
74
74
  io.write("Hello World")
75
75
  end
76
76
  io_string.string
77
77
  end
78
78
 
79
- it 'directly calls block for an empty stream' do
79
+ it "directly calls block for an empty stream" do
80
80
  string_io = StringIO.new
81
81
  value = nil
82
82
  streams.stream(:none)
@@ -87,7 +87,7 @@ class BuilderTest < Minitest::Test
87
87
  assert_equal 32, value
88
88
  end
89
89
 
90
- it 'returns the reader' do
90
+ it "returns the reader" do
91
91
  string_io = StringIO.new(gzip_string)
92
92
  streams.stream(:gz)
93
93
  streams.reader(string_io) do |io|
@@ -95,7 +95,7 @@ class BuilderTest < Minitest::Test
95
95
  end
96
96
  end
97
97
 
98
- it 'returns the last reader' do
98
+ it "returns the last reader" do
99
99
  string_io = StringIO.new(gzip_string)
100
100
  streams.stream(:encode)
101
101
  streams.stream(:gz)
@@ -105,8 +105,8 @@ class BuilderTest < Minitest::Test
105
105
  end
106
106
  end
107
107
 
108
- describe '#writer' do
109
- it 'directly calls block for an empty stream' do
108
+ describe "#writer" do
109
+ it "directly calls block for an empty stream" do
110
110
  string_io = StringIO.new
111
111
  value = nil
112
112
  streams.stream(:none)
@@ -117,7 +117,7 @@ class BuilderTest < Minitest::Test
117
117
  assert_equal 32, value
118
118
  end
119
119
 
120
- it 'returns the reader' do
120
+ it "returns the reader" do
121
121
  string_io = StringIO.new
122
122
  streams.stream(:zip)
123
123
  streams.writer(string_io) do |io|
@@ -125,7 +125,7 @@ class BuilderTest < Minitest::Test
125
125
  end
126
126
  end
127
127
 
128
- it 'returns the last reader' do
128
+ it "returns the last reader" do
129
129
  string_io = StringIO.new
130
130
  streams.stream(:encode)
131
131
  streams.stream(:zip)
@@ -137,79 +137,79 @@ class BuilderTest < Minitest::Test
137
137
 
138
138
  # Internal methods
139
139
 
140
- describe '#class_for_stream' do
141
- it 'xlsx' do
140
+ describe "#class_for_stream" do
141
+ it "xlsx" do
142
142
  assert_equal IOStreams::Xlsx::Reader, streams.send(:class_for_stream, :reader, :xlsx)
143
143
  end
144
144
 
145
- it 'gzip' do
145
+ it "gzip" do
146
146
  assert_equal IOStreams::Gzip::Writer, streams.send(:class_for_stream, :writer, :gzip)
147
147
  end
148
148
 
149
- it 'unknown' do
149
+ it "unknown" do
150
150
  assert_raises ArgumentError do
151
151
  streams.send(:class_for_stream, :reader, :unknown)
152
152
  end
153
153
  end
154
154
  end
155
155
 
156
- describe '#parse_extensions' do
157
- it 'single stream' do
158
- streams = IOStreams::Builder.new('my/path/abc.xlsx')
156
+ describe "#parse_extensions" do
157
+ it "single stream" do
158
+ streams = IOStreams::Builder.new("my/path/abc.xlsx")
159
159
  assert_equal %i[xlsx], streams.send(:parse_extensions)
160
160
  end
161
161
 
162
- it 'empty' do
163
- streams = IOStreams::Builder.new('my/path/abc.csv')
162
+ it "empty" do
163
+ streams = IOStreams::Builder.new("my/path/abc.csv")
164
164
  assert_equal [], streams.send(:parse_extensions)
165
165
  end
166
166
 
167
- it 'handles multiple extensions' do
167
+ it "handles multiple extensions" do
168
168
  assert_equal %i[xlsx zip gz pgp], streams.send(:parse_extensions)
169
169
  end
170
170
 
171
- describe 'case-insensitive' do
172
- let(:file_name) { 'a.XlsX.GzIp' }
171
+ describe "case-insensitive" do
172
+ let(:file_name) { "a.XlsX.GzIp" }
173
173
 
174
- it 'is case-insensitive' do
174
+ it "is case-insensitive" do
175
175
  assert_equal %i[xlsx gzip], streams.send(:parse_extensions)
176
176
  end
177
177
  end
178
178
  end
179
179
 
180
- describe '#pipeline' do
181
- it 'with stream and file name' do
180
+ describe "#pipeline" do
181
+ it "with stream and file name" do
182
182
  expected = {enc: {compress: false}}
183
183
  streams.stream(:enc, compress: false)
184
184
  assert_equal expected, streams.pipeline
185
185
  end
186
186
 
187
- it 'no file name, streams, or options' do
187
+ it "no file name, streams, or options" do
188
188
  expected = {}
189
189
  streams = IOStreams::Builder.new
190
190
  assert_equal expected, streams.pipeline
191
191
  end
192
192
 
193
- it 'file name without options' do
194
- expected = {:xlsx => {}, :zip => {}, :gz => {}, :pgp => {}}
193
+ it "file name without options" do
194
+ expected = {xlsx: {}, zip: {}, gz: {}, pgp: {}}
195
195
  assert_equal expected, streams.pipeline
196
196
  end
197
197
 
198
- it 'file name with encode option' do
199
- expected = {encode: {encoding: 'BINARY'}, :xlsx => {}, :zip => {}, :gz => {}, :pgp => {}}
200
- streams.option(:encode, encoding: 'BINARY')
198
+ it "file name with encode option" do
199
+ expected = {encode: {encoding: "BINARY"}, xlsx: {}, zip: {}, gz: {}, pgp: {}}
200
+ streams.option(:encode, encoding: "BINARY")
201
201
  assert_equal expected, streams.pipeline
202
202
  end
203
203
 
204
- it 'file name with option' do
205
- expected = {:xlsx => {}, :zip => {}, :gz => {}, :pgp => {passphrase: 'unlock-me'}}
206
- streams.option(:pgp, passphrase: 'unlock-me')
204
+ it "file name with option" do
205
+ expected = {xlsx: {}, zip: {}, gz: {}, pgp: {passphrase: "unlock-me"}}
206
+ streams.option(:pgp, passphrase: "unlock-me")
207
207
  assert_equal expected, streams.pipeline
208
208
  end
209
209
  end
210
210
 
211
- describe '#execute' do
212
- it 'directly calls block for an empty stream' do
211
+ describe "#execute" do
212
+ it "directly calls block for an empty stream" do
213
213
  string_io = StringIO.new
214
214
  value = nil
215
215
  streams.send(:execute, :writer, {}, string_io) do |io|
@@ -219,25 +219,25 @@ class BuilderTest < Minitest::Test
219
219
  assert_equal 32, value
220
220
  end
221
221
 
222
- it 'calls last block in one element stream' do
223
- pipeline = {simple: {arg: 'first'}}
222
+ it "calls last block in one element stream" do
223
+ pipeline = {simple: {arg: "first"}}
224
224
  string_io = StringIO.new
225
- streams.send(:execute, :writer, pipeline, string_io) { |io| io.write('last') }
226
- assert_equal 'first>last', string_io.string
225
+ streams.send(:execute, :writer, pipeline, string_io) { |io| io.write("last") }
226
+ assert_equal "first>last", string_io.string
227
227
  end
228
228
 
229
- it 'chains blocks in 2 element stream' do
230
- pipeline = {simple: {arg: 'first'}, simple2: {arg: 'second'}}
229
+ it "chains blocks in 2 element stream" do
230
+ pipeline = {simple: {arg: "first"}, simple2: {arg: "second"}}
231
231
  string_io = StringIO.new
232
- streams.send(:execute, :writer, pipeline, string_io) { |io| io.write('last') }
233
- assert_equal 'second>first>last', string_io.string
232
+ streams.send(:execute, :writer, pipeline, string_io) { |io| io.write("last") }
233
+ assert_equal "second>first>last", string_io.string
234
234
  end
235
235
 
236
- it 'chains blocks in 3 element stream' do
237
- pipeline = {simple: {arg: 'first'}, simple2: {arg: 'second'}, simple3: {arg: 'third'}}
236
+ it "chains blocks in 3 element stream" do
237
+ pipeline = {simple: {arg: "first"}, simple2: {arg: "second"}, simple3: {arg: "third"}}
238
238
  string_io = StringIO.new
239
- streams.send(:execute, :writer, pipeline, string_io) { |io| io.write('last') }
240
- assert_equal 'third>second>first>last', string_io.string
239
+ streams.send(:execute, :writer, pipeline, string_io) { |io| io.write("last") }
240
+ assert_equal "third>second>first>last", string_io.string
241
241
  end
242
242
  end
243
243
 
@@ -1,32 +1,27 @@
1
- require_relative 'test_helper'
1
+ require_relative "test_helper"
2
2
 
3
3
  class Bzip2ReaderTest < Minitest::Test
4
4
  describe IOStreams::Bzip2::Reader do
5
5
  let :file_name do
6
- File.join(File.dirname(__FILE__), 'files', 'text.txt.bz2')
6
+ File.join(File.dirname(__FILE__), "files", "text.txt.bz2")
7
7
  end
8
8
 
9
9
  let :decompressed do
10
- File.read(File.join(File.dirname(__FILE__), 'files', 'text.txt'))
10
+ File.read(File.join(File.dirname(__FILE__), "files", "text.txt"))
11
11
  end
12
12
 
13
- describe '.file' do
14
- it 'file' do
15
- result = IOStreams::Bzip2::Reader.file(file_name) do |io|
16
- io.read
17
- end
13
+ describe ".file" do
14
+ it "file" do
15
+ result = IOStreams::Bzip2::Reader.file(file_name, &:read)
18
16
  assert_equal decompressed, result
19
17
  end
20
18
 
21
- it 'stream' do
19
+ it "stream" do
22
20
  result = File.open(file_name) do |file|
23
- IOStreams::Bzip2::Reader.stream(file) do |io|
24
- io.read
25
- end
21
+ IOStreams::Bzip2::Reader.stream(file, &:read)
26
22
  end
27
23
  assert_equal decompressed, result
28
24
  end
29
25
  end
30
-
31
26
  end
32
27
  end
@@ -1,9 +1,9 @@
1
- require_relative 'test_helper'
1
+ require_relative "test_helper"
2
2
 
3
3
  class Bzip2WriterTest < Minitest::Test
4
4
  describe IOStreams::Bzip2::Writer do
5
5
  let :temp_file do
6
- Tempfile.new('iostreams')
6
+ Tempfile.new("iostreams")
7
7
  end
8
8
 
9
9
  let :file_name do
@@ -11,20 +11,20 @@ class Bzip2WriterTest < Minitest::Test
11
11
  end
12
12
 
13
13
  let :decompressed do
14
- File.read(File.join(File.dirname(__FILE__), 'files', 'text.txt'))
14
+ File.read(File.join(File.dirname(__FILE__), "files", "text.txt"))
15
15
  end
16
16
 
17
17
  after do
18
18
  temp_file.delete
19
19
  end
20
20
 
21
- describe '.file' do
22
- it 'file' do
21
+ describe ".file" do
22
+ it "file" do
23
23
  IOStreams::Bzip2::Writer.file(file_name) do |io|
24
24
  io.write(decompressed)
25
25
  end
26
26
 
27
- File.open(file_name, 'rb') do |file|
27
+ File.open(file_name, "rb") do |file|
28
28
  io = RBzip2.default_adapter::Decompressor.new(file)
29
29
  result = io.read
30
30
  temp_file.delete
@@ -32,8 +32,8 @@ class Bzip2WriterTest < Minitest::Test
32
32
  end
33
33
  end
34
34
 
35
- it 'stream' do
36
- io_string = StringIO.new(''.b)
35
+ it "stream" do
36
+ io_string = StringIO.new("".b)
37
37
  IOStreams::Bzip2::Writer.stream(io_string) do |io|
38
38
  io.write(decompressed)
39
39
  end
@@ -44,6 +44,5 @@ class Bzip2WriterTest < Minitest::Test
44
44
  assert_equal decompressed, data
45
45
  end
46
46
  end
47
-
48
47
  end
49
48
  end
@@ -1,10 +1,10 @@
1
- require_relative 'test_helper'
1
+ require_relative "test_helper"
2
2
 
3
3
  # Test deprecated api
4
4
  class DeprecatedTest < Minitest::Test
5
5
  describe IOStreams do
6
6
  let :source_file_name do
7
- File.join(__dir__, 'files', 'text.txt')
7
+ File.join(__dir__, "files", "text.txt")
8
8
  end
9
9
 
10
10
  let :data do
@@ -12,7 +12,7 @@ class DeprecatedTest < Minitest::Test
12
12
  end
13
13
 
14
14
  let :temp_file do
15
- Tempfile.new('iostreams')
15
+ Tempfile.new("iostreams")
16
16
  end
17
17
 
18
18
  let :target_file_name do
@@ -22,38 +22,38 @@ class DeprecatedTest < Minitest::Test
22
22
  let :bad_data do
23
23
  [
24
24
  "New M\xE9xico,NE".b,
25
- 'good line',
25
+ "good line",
26
26
  "New M\xE9xico,\x07SF".b
27
- ].join("\n").encode('BINARY')
27
+ ].join("\n").encode("BINARY")
28
28
  end
29
29
 
30
30
  let :stripped_data do
31
- bad_data.gsub("\xE9".b, '').gsub("\x07", '')
31
+ bad_data.gsub("\xE9".b, "").gsub("\x07", "")
32
32
  end
33
33
 
34
34
  let :multiple_zip_file_name do
35
- File.join(File.dirname(__FILE__), 'files', 'multiple_files.zip')
35
+ File.join(File.dirname(__FILE__), "files", "multiple_files.zip")
36
36
  end
37
37
 
38
38
  let :zip_gz_file_name do
39
- File.join(File.dirname(__FILE__), 'files', 'text.zip.gz')
39
+ File.join(File.dirname(__FILE__), "files", "text.zip.gz")
40
40
  end
41
41
 
42
42
  let :contents_test_txt do
43
- File.read(File.join(File.dirname(__FILE__), 'files', 'text.txt'))
43
+ File.read(File.join(File.dirname(__FILE__), "files", "text.txt"))
44
44
  end
45
45
 
46
46
  let :contents_test_json do
47
- File.read(File.join(File.dirname(__FILE__), 'files', 'test.json'))
47
+ File.read(File.join(File.dirname(__FILE__), "files", "test.json"))
48
48
  end
49
49
 
50
50
  after do
51
51
  temp_file.delete
52
52
  end
53
53
 
54
- describe '.copy' do
55
- it 'streams' do
56
- size = IOStreams.reader(source_file_name) do |source_stream|
54
+ describe ".copy" do
55
+ it "streams" do
56
+ size = IOStreams.reader(source_file_name) do |source_stream|
57
57
  IOStreams.writer(target_file_name) do |target_stream|
58
58
  IOStreams.copy(source_stream, target_stream)
59
59
  end
@@ -64,8 +64,8 @@ class DeprecatedTest < Minitest::Test
64
64
  assert_equal actual.size, size
65
65
  end
66
66
 
67
- it 'IO stream' do
68
- size = File.open(source_file_name) do |source_stream|
67
+ it "IO stream" do
68
+ size = File.open(source_file_name) do |source_stream|
69
69
  IOStreams.writer(target_file_name) do |target_stream|
70
70
  IOStreams.copy(source_stream, target_stream)
71
71
  end
@@ -76,7 +76,7 @@ class DeprecatedTest < Minitest::Test
76
76
  assert_equal actual.size, size
77
77
  end
78
78
 
79
- it 'files' do
79
+ it "files" do
80
80
  size = IOStreams.copy(source_file_name, target_file_name)
81
81
  actual = File.read(target_file_name)
82
82
 
@@ -85,18 +85,18 @@ class DeprecatedTest < Minitest::Test
85
85
  end
86
86
  end
87
87
 
88
- describe '.each_line' do
89
- it 'returns a line at a time' do
88
+ describe ".each_line" do
89
+ it "returns a line at a time" do
90
90
  lines = []
91
91
  count = IOStreams.each_line(source_file_name) { |line| lines << line }
92
92
  assert_equal data.lines.map(&:strip), lines
93
93
  assert_equal data.lines.count, count
94
94
  end
95
95
 
96
- it 'strips non-printable characters' do
96
+ it "strips non-printable characters" do
97
97
  input = StringIO.new(bad_data)
98
98
  lines = []
99
- count = IOStreams.each_line(input, encoding: 'UTF-8', encode_cleaner: :printable, encode_replace: '') do |line|
99
+ count = IOStreams.each_line(input, encoding: "UTF-8", encode_cleaner: :printable, encode_replace: "") do |line|
100
100
  lines << line
101
101
  end
102
102
  assert_equal stripped_data.lines.map(&:strip), lines
@@ -104,18 +104,14 @@ class DeprecatedTest < Minitest::Test
104
104
  end
105
105
  end
106
106
 
107
- describe '.reader' do
108
- it 'reads a zip file' do
109
- result = IOStreams.reader(multiple_zip_file_name, streams: {zip: {entry_file_name: 'test.json'}}) do |io|
110
- io.read
111
- end
107
+ describe ".reader" do
108
+ it "reads a zip file" do
109
+ result = IOStreams.reader(multiple_zip_file_name, streams: {zip: {entry_file_name: "test.json"}}, &:read)
112
110
  assert_equal contents_test_json, result
113
111
  end
114
112
 
115
- it 'reads a zip file from within a gz file' do
116
- result = IOStreams.reader(zip_gz_file_name) do |io|
117
- io.read
118
- end
113
+ it "reads a zip file from within a gz file" do
114
+ result = IOStreams.reader(zip_gz_file_name, &:read)
119
115
  assert_equal contents_test_txt, result
120
116
  end
121
117
  end