Module: IOStreams::S3
- Defined in:
- lib/io_streams/s3.rb,
lib/io_streams/s3/reader.rb,
lib/io_streams/s3/writer.rb
Defined Under Namespace
Class Method Summary collapse
- .load_dependencies ⇒ Object
-
.parse_uri(uri) ⇒ Object
Sample URI: s3://mybucket/user/abc.zip.
Class Method Details
.load_dependencies ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/io_streams/s3.rb', line 17 def self.load_dependencies return if defined?(::Aws::S3::Resource) require 'aws-sdk-s3' rescue LoadError => exc raise(LoadError, "Install gem 'aws-sdk-s3' to read and write AWS S3 files: #{exc.}") end |
.parse_uri(uri) ⇒ Object
Sample URI: s3://mybucket/user/abc.zip
8 9 10 11 12 13 14 15 |
# File 'lib/io_streams/s3.rb', line 8 def self.parse_uri(uri) uri = URI.parse(uri) raise "Invalid URI. Required Format: 's3://<bucket_name>/<key>'" unless uri.scheme == 's3' { bucket: uri.host, key: uri.path.sub(/\A\//, '') } end |