Class: Aws::S3::FileUploader Private

Inherits:
Object
  • Object
show all
Defined in:
lib/aws-sdk-s3/file_uploader.rb

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Constant Summary collapse

FIFTEEN_MEGABYTES =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

15 * 1024 * 1024

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ FileUploader

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of FileUploader.

Parameters:

  • options (Hash) (defaults to: {})

Options Hash (options):

  • :client (Client)
  • :multipart_threshold (Integer) — default: 15728640


13
14
15
16
17
18
# File 'lib/aws-sdk-s3/file_uploader.rb', line 13

def initialize(options = {})
  @options = options
  @client = options[:client] || Client.new
  @multipart_threshold = options[:multipart_threshold] ||
                         FIFTEEN_MEGABYTES
end

Instance Attribute Details

#clientClient (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:



21
22
23
# File 'lib/aws-sdk-s3/file_uploader.rb', line 21

def client
  @client
end

#multipart_thresholdInteger (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns Files larger than this in bytes are uploaded using a MultipartFileUploader.

Returns:



25
26
27
# File 'lib/aws-sdk-s3/file_uploader.rb', line 25

def multipart_threshold
  @multipart_threshold
end

Instance Method Details

#upload(source, options = {}) ⇒ void

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

This method returns an undefined value.

Parameters:

  • source (String, Pathname, File, Tempfile)

    The file to upload.

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :bucket (required, String)

    The bucket to upload to.

  • :key (required, String)

    The key for the object.



31
32
33
34
35
36
37
# File 'lib/aws-sdk-s3/file_uploader.rb', line 31

def upload(source, options = {})
  if File.size(source) >= multipart_threshold
    MultipartFileUploader.new(@options).upload(source, options)
  else
    put_object(source, options)
  end
end