iostreams 0.17.0 → 0.17.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/io_streams/s3/reader.rb +2 -0
- data/lib/io_streams/s3/writer.rb +2 -0
- data/lib/io_streams/s3.rb +9 -7
- data/lib/io_streams/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7b91433de5d43d10f489ab1034e9ddc79913e580a856333a4edf975b64b494ca
|
4
|
+
data.tar.gz: 1d2940ff36fa882774cf3b11bb5a4d5a8a27c6511eabc938088eda006f5d1863
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b6a0a299ada19de5fb9bf32f54201c12623b1a3fd59d30732cffe04dc8825f0d4d35dc3f895765dd16d10d2e7a5a6e0c51c069b382beac5a271b222c7bafa30
|
7
|
+
data.tar.gz: 5fc609c806c825e3230264942eb19d7ae0982e2d7afdafe218542d6b19706dcd7a979e0db541d15f3f1a3b62f698e9b5fc273489c9c605e719cc81e0f23477f6
|
data/lib/io_streams/s3/reader.rb
CHANGED
@@ -5,6 +5,8 @@ module IOStreams
|
|
5
5
|
def self.open(uri, region: nil, **args, &block)
|
6
6
|
raise(ArgumentError, 'file_name must be a URI string') unless uri.is_a?(String)
|
7
7
|
|
8
|
+
IOStreams::S3.load_dependencies
|
9
|
+
|
8
10
|
s3 = region.nil? ? Aws::S3::Resource.new : Aws::S3::Resource.new(region: region)
|
9
11
|
options = IOStreams::S3.parse_uri(uri)
|
10
12
|
object = s3.bucket(options[:bucket]).object(options[:key])
|
data/lib/io_streams/s3/writer.rb
CHANGED
@@ -5,6 +5,8 @@ module IOStreams
|
|
5
5
|
def self.open(uri, region: nil, **args, &block)
|
6
6
|
raise(ArgumentError, 'file_name must be a URI string') unless uri.is_a?(String)
|
7
7
|
|
8
|
+
IOStreams::S3.load_dependencies
|
9
|
+
|
8
10
|
options = IOStreams::S3.parse_uri(uri)
|
9
11
|
s3 = region.nil? ? Aws::S3::Resource.new : Aws::S3::Resource.new(region: region)
|
10
12
|
object = s3.bucket(options[:bucket]).object(options[:key])
|
data/lib/io_streams/s3.rb
CHANGED
@@ -1,9 +1,3 @@
|
|
1
|
-
begin
|
2
|
-
require 'aws-sdk-s3'
|
3
|
-
rescue LoadError => exc
|
4
|
-
raise(LoadError, "Install gem 'aws-sdk-s3' to read and write AWS S3 files: #{exc.message}")
|
5
|
-
end
|
6
|
-
|
7
1
|
require 'uri'
|
8
2
|
module IOStreams
|
9
3
|
module S3
|
@@ -16,8 +10,16 @@ module IOStreams
|
|
16
10
|
raise "Invalid URI. Required Format: 's3://<bucket_name>/<key>'" unless uri.scheme == 's3'
|
17
11
|
{
|
18
12
|
bucket: uri.host,
|
19
|
-
key:
|
13
|
+
key: uri.path.sub(/\A\//, '')
|
20
14
|
}
|
21
15
|
end
|
16
|
+
|
17
|
+
def self.load_dependencies
|
18
|
+
return unless defined?(::Aws::S3::Resource)
|
19
|
+
|
20
|
+
require 'aws-sdk-s3'
|
21
|
+
rescue LoadError => exc
|
22
|
+
raise(LoadError, "Install gem 'aws-sdk-s3' to read and write AWS S3 files: #{exc.message}")
|
23
|
+
end
|
22
24
|
end
|
23
25
|
end
|
data/lib/io_streams/version.rb
CHANGED