Sha256: 7be546c0cee0b531a3e98049aea8473fa92a46dd7c984281053c4dc038a30915

Contents?: true

Size: 534 Bytes

Versions: 1

Compression:

Stored size: 534 Bytes

Contents

module IOStreams
  module S3
    class Writer
      # Write to AWS S3
      def self.open(uri, region: nil, **args, &block)
        raise(ArgumentError, 'file_name must be a URI string') unless uri.is_a?(String)

        IOStreams::S3.load_dependencies

        options = IOStreams::S3.parse_uri(uri)
        s3      = region.nil? ? Aws::S3::Resource.new : Aws::S3::Resource.new(region: region)
        object  = s3.bucket(options[:bucket]).object(options[:key])
        object.upload_stream(args, &block)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
iostreams-0.17.1 lib/io_streams/s3/writer.rb