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.
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,31 +1,31 @@
1
- require_relative 'test_helper'
2
- require 'csv'
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__), 'files', 'spreadsheet.xlsx')
7
+ File.join(File.dirname(__FILE__), "files", "spreadsheet.xlsx")
8
8
  end
9
9
 
10
10
  let :xlsx_contents do
11
11
  [
12
- ['first column', 'second column', 'third column'],
13
- ['data 1', 'data 2', 'more data']
12
+ ["first column", "second column", "third column"],
13
+ ["data 1", "data 2", "more data"]
14
14
  ]
15
15
  end
16
16
 
17
- describe '.file' do
18
- describe 'with a file path' do
19
- it 'returns the contents of the file' do
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 'with a file stream' do
26
- it 'returns the contents of the file' do
27
- csv = ''
28
- File.open(file_name, 'rb') do |file|
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
 
@@ -1,48 +1,42 @@
1
- require_relative 'test_helper'
2
- require_relative 'minimal_file_reader'
3
- require 'zip'
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__), 'files', 'text.zip')
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__), 'files', 'multiple_files.zip')
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__), 'files', 'text.txt'))
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__), 'files', 'test.json'))
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 '.file' do
28
- it 'reads the first file' do
29
- result = IOStreams::Zip::Reader.file(file_name) do |io|
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 'reads entry within zip file' do
36
- result = IOStreams::Zip::Reader.file(multiple_zip_file_name, entry_file_name: 'text.txt') do |io|
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 'reads another entry within zip file' do
43
- result = IOStreams::Zip::Reader.file(multiple_zip_file_name, entry_file_name: 'test.json') do |io|
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
@@ -1,10 +1,10 @@
1
- require_relative 'test_helper'
2
- require 'zip'
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('iostreams')
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__), 'files', 'text.txt'))
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 '.file' do
23
- it 'file' do
24
- IOStreams::Zip::Writer.file(file_name, entry_file_name: 'text.txt') do |io|
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 'stream' do
32
- io_string = StringIO.new(''.b)
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 = StringIO.new(io_string.string)
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.0
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-02-24 00:00:00.000000000 Z
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.0.6
134
+ rubygems_version: 3.1.2
134
135
  signing_key:
135
136
  specification_version: 4
136
137
  summary: Input and Output streaming for Ruby.