Class: SmoothS3::Uploader

Inherits:
Object
  • Object
show all
Defined in:
lib/smooth_s3/uploader.rb

Class Method Summary collapse

Class Method Details

.directory_sync(service, bucket, directory, options = {}) ⇒ Object Also known as: sync_directory



19
20
21
22
23
24
25
26
27
28
# File 'lib/smooth_s3/uploader.rb', line 19

def self.directory_sync(service, bucket, directory, options={})
  [:overwrite, :timestamped].each {|s| options[s] = false unless options[s]}
  Bucket.select(bucket, service)

  valid_files = Uploader.validate_files_in_directory(directory, options)
  valid_files.each do |vf|
    remote_file_name = options[:timestamped] ? (options[:timestamp] + "_" + vf[1]) : vf[1]
    Bucket.store_file(vf[0], remote_file_name, bucket, service, options)
  end
end

.directory_sync!(service, bucket, directory, options = {}) ⇒ Object Also known as: sync_directory!



30
31
32
# File 'lib/smooth_s3/uploader.rb', line 30

def self.directory_sync!(service, bucket, directory, options={})
  Uploader.directory_sync(service, bucket, directory, options.merge!(:overwrite => true))
end

.timestamped_directory_sync(service, bucket, directory, options = {}) ⇒ Object



45
46
47
48
49
50
# File 'lib/smooth_s3/uploader.rb', line 45

def self.timestamped_directory_sync(service, bucket, directory, options={})
  options[:overwrite] = false unless options[:overwrite]

  timestamp = Uploader.calculate_timestamp(options)
  Uploader.directory_sync(service, bucket, directory, options.merge!(:timestamped => true, :timestamp => timestamp))
end

.timestamped_directory_sync!(service, bucket, directory, options = {}) ⇒ Object



52
53
54
# File 'lib/smooth_s3/uploader.rb', line 52

def self.timestamped_directory_sync!(service, bucket, directory, options={})
  Uploader.timestamped_directory_sync(service, bucket, directory, options.merge!(:overwrite => true))
end

.timestamped_upload(service, bucket, files, options = {}) ⇒ Object



34
35
36
37
38
39
# File 'lib/smooth_s3/uploader.rb', line 34

def self.timestamped_upload(service, bucket, files, options={})
  options[:overwrite] = false unless options[:overwrite]
  
  timestamp = Uploader.calculate_timestamp(options)
  Uploader.upload(service, bucket, files, options.merge!(:timestamped => true, :timestamp => timestamp))
end

.timestamped_upload!(service, bucket, files, options = {}) ⇒ Object



41
42
43
# File 'lib/smooth_s3/uploader.rb', line 41

def self.timestamped_upload!(service, bucket, files, options={})
  Uploader.timestamped_upload(service, bucket, files, options.merge!(:overwrite => true))
end

.upload(service, bucket, files, options = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
# File 'lib/smooth_s3/uploader.rb', line 4

def self.upload(service, bucket, files, options={})
  [:overwrite, :timestamped].each {|s| options[s] = false unless options[s]}
  Bucket.select(bucket, service)
  
  valid_files = Uploader.validate_files(files)
  valid_files.each do |vf|
    remote_file_name = options[:timestamped] ? (options[:timestamp] + "_" + vf.split("/")[-1]) : vf.split("/")[-1]
    Bucket.store_file(vf, remote_file_name, bucket, service, options)
  end
end

.upload!(service, bucket, files, options = {}) ⇒ Object



15
16
17
# File 'lib/smooth_s3/uploader.rb', line 15

def self.upload!(service, bucket, files, options={})
  Uploader.upload(service, bucket, files, options.merge!(:overwrite => true))
end