iostreams 0.17.1 → 0.17.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7b91433de5d43d10f489ab1034e9ddc79913e580a856333a4edf975b64b494ca
4
- data.tar.gz: 1d2940ff36fa882774cf3b11bb5a4d5a8a27c6511eabc938088eda006f5d1863
3
+ metadata.gz: 72fd57ac6ba81c64ac1dd5526bcf2b0aa491ef55eff38d1709a037874d8659d1
4
+ data.tar.gz: a953ad1389cd98740112f847c656d24956ce259f3dfa1309aa216354a93762a1
5
5
  SHA512:
6
- metadata.gz: 2b6a0a299ada19de5fb9bf32f54201c12623b1a3fd59d30732cffe04dc8825f0d4d35dc3f895765dd16d10d2e7a5a6e0c51c069b382beac5a271b222c7bafa30
7
- data.tar.gz: 5fc609c806c825e3230264942eb19d7ae0982e2d7afdafe218542d6b19706dcd7a979e0db541d15f3f1a3b62f698e9b5fc273489c9c605e719cc81e0f23477f6
6
+ metadata.gz: 9a5f33b69593ee071aa850a74f2c0c67c05000e1ecf730bc1be91a116786b820b408788f41802e86711eb2d3fbd861f739c5353ad9809ae17ab8b90a1f57954f
7
+ data.tar.gz: 100e625316b55badbad403bcd58c146381ad343b427a9c68780424f4d738867d0fbb5fe1ad480cb1dce399c9f7d6e68b25055c38b569471da0bdfc811c7cdcbc
@@ -15,7 +15,7 @@ module IOStreams
15
15
  end
16
16
 
17
17
  def self.load_dependencies
18
- return unless defined?(::Aws::S3::Resource)
18
+ return if defined?(::Aws::S3::Resource)
19
19
 
20
20
  require 'aws-sdk-s3'
21
21
  rescue LoadError => exc
@@ -2,6 +2,71 @@ module IOStreams
2
2
  module S3
3
3
  class Writer
4
4
  # Write to AWS S3
5
+ #
6
+ # Arguments:
7
+ #
8
+ # uri: [String]
9
+ # Prefix must be: `s3://`
10
+ # followed by bucket name,
11
+ # followed by path and file_name (key).
12
+ # Examples:
13
+ # s3://my-bucket-name/file_name.txt
14
+ # s3://my-bucket-name/some_path/file_name.csv
15
+ #
16
+ # region: [String]
17
+ # AWS Region.
18
+ # Default: ENV['AWS_REGION'], or supplied by ruby driver
19
+ #
20
+ # thread_count: [Integer]
21
+ # The number of parallel multipart uploads
22
+ # Default: 10
23
+ #
24
+ # tempfile: [Boolean]
25
+ # Normally read data is stored in memory when building the parts in order to complete
26
+ # the underlying multipart upload. By passing `:tempfile => true` data read will be
27
+ # temporarily stored on disk reducing the memory footprint vastly.
28
+ # Default: false
29
+ #
30
+ # part_size: [Integer]
31
+ # Define how big each part size but the last should be.
32
+ # Default: 5 * 1024 * 1024
33
+ #
34
+ # Other possible options extracted from AWS source code:
35
+ # # See: https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#create_multipart_upload-instance_method
36
+ #
37
+ # acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
38
+ # cache_control: "CacheControl",
39
+ # content_disposition: "ContentDisposition",
40
+ # content_encoding: "ContentEncoding",
41
+ # content_language: "ContentLanguage",
42
+ # content_type: "ContentType",
43
+ # expires: Time.now,
44
+ # grant_full_control: "GrantFullControl",
45
+ # grant_read: "GrantRead",
46
+ # grant_read_acp: "GrantReadACP",
47
+ # grant_write_acp: "GrantWriteACP",
48
+ # metadata: {
49
+ # "MetadataKey" => "MetadataValue",
50
+ # },
51
+ # server_side_encryption: "AES256", # accepts AES256, aws:kms
52
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
53
+ # website_redirect_location: "WebsiteRedirectLocation",
54
+ # sse_customer_algorithm: "SSECustomerAlgorithm",
55
+ # sse_customer_key: "SSECustomerKey",
56
+ # sse_customer_key_md5: "SSECustomerKeyMD5",
57
+ # ssekms_key_id: "SSEKMSKeyId",
58
+ # ssekms_encryption_context: "SSEKMSEncryptionContext",
59
+ # request_payer: "requester", # accepts requester
60
+ # tagging: "TaggingHeader",
61
+ # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
62
+ # object_lock_retain_until_date: Time.now,
63
+ # object_lock_legal_hold_status: "ON", # accepts ON, OFF
64
+ #
65
+ # Raises [MultipartUploadError] If an object is being uploaded in
66
+ # parts, and the upload can not be completed, then the upload is
67
+ # aborted and this error is raised. The raised error has a `#errors`
68
+ # method that returns the failures that caused the upload to be
69
+ # aborted.
5
70
  def self.open(uri, region: nil, **args, &block)
6
71
  raise(ArgumentError, 'file_name must be a URI string') unless uri.is_a?(String)
7
72
 
@@ -1,3 +1,3 @@
1
1
  module IOStreams
2
- VERSION = '0.17.1'
2
+ VERSION = '0.17.2'
3
3
  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: 0.17.1
4
+ version: 0.17.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Reid Morrison
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-03 00:00:00.000000000 Z
11
+ date: 2019-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -128,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
128
128
  - !ruby/object:Gem::Version
129
129
  version: '0'
130
130
  requirements: []
131
- rubygems_version: 3.0.2
131
+ rubygems_version: 3.0.3
132
132
  signing_key:
133
133
  specification_version: 4
134
134
  summary: Input and Output streaming for Ruby.