iostreams 1.1.0 → 1.1.1
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/README.md +1 -1
- data/Rakefile +7 -7
- data/lib/io_streams/builder.rb +4 -3
- data/lib/io_streams/bzip2/reader.rb +1 -1
- data/lib/io_streams/bzip2/writer.rb +1 -1
- data/lib/io_streams/deprecated.rb +2 -3
- data/lib/io_streams/encode/reader.rb +5 -8
- data/lib/io_streams/encode/writer.rb +1 -1
- data/lib/io_streams/io_streams.rb +5 -2
- data/lib/io_streams/line/reader.rb +2 -1
- data/lib/io_streams/path.rb +4 -4
- data/lib/io_streams/paths/http.rb +8 -10
- data/lib/io_streams/paths/matcher.rb +10 -11
- data/lib/io_streams/paths/s3.rb +6 -6
- data/lib/io_streams/paths/sftp.rb +38 -23
- data/lib/io_streams/pgp.rb +45 -35
- data/lib/io_streams/pgp/reader.rb +4 -6
- data/lib/io_streams/pgp/writer.rb +1 -2
- data/lib/io_streams/reader.rb +2 -2
- data/lib/io_streams/record/writer.rb +2 -4
- data/lib/io_streams/row/writer.rb +3 -5
- data/lib/io_streams/stream.rb +6 -6
- data/lib/io_streams/symmetric_encryption/reader.rb +1 -3
- data/lib/io_streams/symmetric_encryption/writer.rb +2 -6
- data/lib/io_streams/tabular.rb +12 -10
- data/lib/io_streams/tabular/header.rb +4 -4
- data/lib/io_streams/tabular/parser/array.rb +2 -4
- data/lib/io_streams/tabular/parser/csv.rb +3 -5
- data/lib/io_streams/tabular/parser/fixed.rb +4 -3
- data/lib/io_streams/tabular/parser/hash.rb +2 -4
- data/lib/io_streams/tabular/parser/json.rb +2 -4
- data/lib/io_streams/tabular/parser/psv.rb +5 -7
- data/lib/io_streams/tabular/utility/csv_row.rb +9 -17
- data/lib/io_streams/utils.rb +3 -3
- data/lib/io_streams/utils/reliable_http.rb +98 -0
- data/lib/io_streams/version.rb +1 -1
- data/lib/io_streams/writer.rb +1 -1
- data/lib/io_streams/xlsx/reader.rb +5 -5
- data/lib/io_streams/zip/reader.rb +1 -1
- data/lib/io_streams/zip/writer.rb +2 -2
- data/lib/iostreams.rb +34 -34
- data/test/builder_test.rb +74 -74
- data/test/bzip2_reader_test.rb +8 -13
- data/test/bzip2_writer_test.rb +8 -9
- data/test/deprecated_test.rb +25 -29
- data/test/encode_reader_test.rb +14 -18
- data/test/encode_writer_test.rb +29 -30
- data/test/gzip_reader_test.rb +8 -13
- data/test/gzip_writer_test.rb +10 -11
- data/test/io_streams_test.rb +35 -35
- data/test/line_reader_test.rb +35 -39
- data/test/line_writer_test.rb +8 -9
- data/test/minimal_file_reader.rb +1 -1
- data/test/path_test.rb +24 -24
- data/test/paths/file_test.rb +42 -42
- data/test/paths/http_test.rb +5 -5
- data/test/paths/matcher_test.rb +11 -12
- data/test/paths/s3_test.rb +44 -46
- data/test/paths/sftp_test.rb +18 -18
- data/test/pgp_reader_test.rb +13 -15
- data/test/pgp_test.rb +43 -44
- data/test/pgp_writer_test.rb +27 -28
- data/test/record_reader_test.rb +9 -10
- data/test/record_writer_test.rb +10 -11
- data/test/row_reader_test.rb +5 -6
- data/test/row_writer_test.rb +7 -8
- data/test/stream_test.rb +60 -62
- data/test/tabular_test.rb +111 -111
- data/test/test_helper.rb +22 -22
- data/test/utils_test.rb +7 -7
- data/test/xlsx_reader_test.rb +12 -12
- data/test/zip_reader_test.rb +14 -21
- data/test/zip_writer_test.rb +10 -10
- metadata +4 -3
data/test/xlsx_reader_test.rb
CHANGED
@@ -1,31 +1,31 @@
|
|
1
|
-
require_relative
|
2
|
-
require
|
1
|
+
require_relative "test_helper"
|
2
|
+
require "csv"
|
3
3
|
|
4
4
|
class XlsxReaderTest
|
5
5
|
describe IOStreams::Xlsx::Reader do
|
6
6
|
let :file_name do
|
7
|
-
File.join(File.dirname(__FILE__),
|
7
|
+
File.join(File.dirname(__FILE__), "files", "spreadsheet.xlsx")
|
8
8
|
end
|
9
9
|
|
10
10
|
let :xlsx_contents do
|
11
11
|
[
|
12
|
-
[
|
13
|
-
[
|
12
|
+
["first column", "second column", "third column"],
|
13
|
+
["data 1", "data 2", "more data"]
|
14
14
|
]
|
15
15
|
end
|
16
16
|
|
17
|
-
describe
|
18
|
-
describe
|
19
|
-
it
|
17
|
+
describe ".file" do
|
18
|
+
describe "with a file path" do
|
19
|
+
it "returns the contents of the file" do
|
20
20
|
csv = IOStreams::Xlsx::Reader.file(file_name, &:read)
|
21
21
|
assert_equal xlsx_contents, CSV.parse(csv)
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
-
describe
|
26
|
-
it
|
27
|
-
csv =
|
28
|
-
File.open(file_name,
|
25
|
+
describe "with a file stream" do
|
26
|
+
it "returns the contents of the file" do
|
27
|
+
csv = ""
|
28
|
+
File.open(file_name, "rb") do |file|
|
29
29
|
csv = IOStreams::Xlsx::Reader.stream(file, &:read)
|
30
30
|
end
|
31
31
|
|
data/test/zip_reader_test.rb
CHANGED
@@ -1,48 +1,42 @@
|
|
1
|
-
require_relative
|
2
|
-
require_relative
|
3
|
-
require
|
1
|
+
require_relative "test_helper"
|
2
|
+
require_relative "minimal_file_reader"
|
3
|
+
require "zip"
|
4
4
|
|
5
5
|
class ZipReaderTest < Minitest::Test
|
6
6
|
describe IOStreams::Zip::Reader do
|
7
7
|
let :file_name do
|
8
|
-
File.join(File.dirname(__FILE__),
|
8
|
+
File.join(File.dirname(__FILE__), "files", "text.zip")
|
9
9
|
end
|
10
10
|
|
11
11
|
let :multiple_zip_file_name do
|
12
|
-
File.join(File.dirname(__FILE__),
|
12
|
+
File.join(File.dirname(__FILE__), "files", "multiple_files.zip")
|
13
13
|
end
|
14
14
|
|
15
15
|
let :contents_test_txt do
|
16
|
-
File.read(File.join(File.dirname(__FILE__),
|
16
|
+
File.read(File.join(File.dirname(__FILE__), "files", "text.txt"))
|
17
17
|
end
|
18
18
|
|
19
19
|
let :contents_test_json do
|
20
|
-
File.read(File.join(File.dirname(__FILE__),
|
20
|
+
File.read(File.join(File.dirname(__FILE__), "files", "test.json"))
|
21
21
|
end
|
22
22
|
|
23
23
|
let :decompressed do
|
24
24
|
Zip::File.open(file_name) { |zip_file| zip_file.first.get_input_stream.read }
|
25
25
|
end
|
26
26
|
|
27
|
-
describe
|
28
|
-
it
|
29
|
-
result = IOStreams::Zip::Reader.file(file_name)
|
30
|
-
io.read
|
31
|
-
end
|
27
|
+
describe ".file" do
|
28
|
+
it "reads the first file" do
|
29
|
+
result = IOStreams::Zip::Reader.file(file_name, &:read)
|
32
30
|
assert_equal decompressed, result
|
33
31
|
end
|
34
32
|
|
35
|
-
it
|
36
|
-
result = IOStreams::Zip::Reader.file(multiple_zip_file_name, entry_file_name:
|
37
|
-
io.read
|
38
|
-
end
|
33
|
+
it "reads entry within zip file" do
|
34
|
+
result = IOStreams::Zip::Reader.file(multiple_zip_file_name, entry_file_name: "text.txt", &:read)
|
39
35
|
assert_equal contents_test_txt, result
|
40
36
|
end
|
41
37
|
|
42
|
-
it
|
43
|
-
result = IOStreams::Zip::Reader.file(multiple_zip_file_name, entry_file_name:
|
44
|
-
io.read
|
45
|
-
end
|
38
|
+
it "reads another entry within zip file" do
|
39
|
+
result = IOStreams::Zip::Reader.file(multiple_zip_file_name, entry_file_name: "test.json", &:read)
|
46
40
|
assert_equal contents_test_json, result
|
47
41
|
end
|
48
42
|
|
@@ -55,6 +49,5 @@ class ZipReaderTest < Minitest::Test
|
|
55
49
|
# assert_equal decompressed, result
|
56
50
|
# end
|
57
51
|
end
|
58
|
-
|
59
52
|
end
|
60
53
|
end
|
data/test/zip_writer_test.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
require_relative
|
2
|
-
require
|
1
|
+
require_relative "test_helper"
|
2
|
+
require "zip"
|
3
3
|
|
4
4
|
class ZipWriterTest < Minitest::Test
|
5
5
|
describe IOStreams::Zip::Writer do
|
6
6
|
let :temp_file do
|
7
|
-
Tempfile.new(
|
7
|
+
Tempfile.new("iostreams")
|
8
8
|
end
|
9
9
|
|
10
10
|
let :file_name do
|
@@ -12,28 +12,28 @@ class ZipWriterTest < Minitest::Test
|
|
12
12
|
end
|
13
13
|
|
14
14
|
let :decompressed do
|
15
|
-
::File.read(File.join(File.dirname(__FILE__),
|
15
|
+
::File.read(File.join(File.dirname(__FILE__), "files", "text.txt"))
|
16
16
|
end
|
17
17
|
|
18
18
|
after do
|
19
19
|
temp_file.delete
|
20
20
|
end
|
21
21
|
|
22
|
-
describe
|
23
|
-
it
|
24
|
-
IOStreams::Zip::Writer.file(file_name, entry_file_name:
|
22
|
+
describe ".file" do
|
23
|
+
it "file" do
|
24
|
+
IOStreams::Zip::Writer.file(file_name, entry_file_name: "text.txt") do |io|
|
25
25
|
io.write(decompressed)
|
26
26
|
end
|
27
27
|
result = IOStreams::Zip::Reader.file(file_name, &:read)
|
28
28
|
assert_equal decompressed, result
|
29
29
|
end
|
30
30
|
|
31
|
-
it
|
32
|
-
io_string = StringIO.new(
|
31
|
+
it "stream" do
|
32
|
+
io_string = StringIO.new("".b)
|
33
33
|
IOStreams::Zip::Writer.stream(io_string) do |io|
|
34
34
|
io.write(decompressed)
|
35
35
|
end
|
36
|
-
io
|
36
|
+
io = StringIO.new(io_string.string)
|
37
37
|
result = IOStreams::Zip::Reader.stream(io, &:read)
|
38
38
|
assert_equal decompressed, result
|
39
39
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iostreams
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Reid Morrison
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-04-04 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email:
|
@@ -60,6 +60,7 @@ files:
|
|
60
60
|
- lib/io_streams/tabular/parser/psv.rb
|
61
61
|
- lib/io_streams/tabular/utility/csv_row.rb
|
62
62
|
- lib/io_streams/utils.rb
|
63
|
+
- lib/io_streams/utils/reliable_http.rb
|
63
64
|
- lib/io_streams/version.rb
|
64
65
|
- lib/io_streams/writer.rb
|
65
66
|
- lib/io_streams/xlsx/reader.rb
|
@@ -130,7 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
130
131
|
- !ruby/object:Gem::Version
|
131
132
|
version: '0'
|
132
133
|
requirements: []
|
133
|
-
rubygems_version: 3.
|
134
|
+
rubygems_version: 3.1.2
|
134
135
|
signing_key:
|
135
136
|
specification_version: 4
|
136
137
|
summary: Input and Output streaming for Ruby.
|