Class: Backy::S3Save

Inherits:
Object
  • Object
show all
Includes:
S3
Defined in:
lib/backy/s3_save.rb

Constant Summary collapse

DEFAULT_EXPIRE_AFTER =
1.month
PART_SIZE =
50 * 1024 * 1024
MAX_THREADS =
5

Instance Method Summary collapse

Constructor Details

#initialize(file_name:, key: nil, expire_after: nil) ⇒ S3Save

Returns a new instance of S3Save.



9
10
11
12
13
# File 'lib/backy/s3_save.rb', line 9

def initialize(file_name:, key: nil, expire_after: nil)
  @file_name = file_name
  @key = key || file_name
  @expires = (expire_after || DEFAULT_EXPIRE_AFTER).from_now
end

Instance Method Details

#callObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/backy/s3_save.rb', line 15

def call
  print "Sending #{file_name} to S3 ... "

  unless File.exist?(file_name)
    puts "error. #{file_name} does not exist"

    return
  end

  file_size = File.size(file_name)

  if file_size < 5 * 1024 * 1024 * 1024
    upload_simple
  else
    upload_multipart
  end

  puts "done"
end