Class: Backup::Connection::S3

Inherits:
Object
  • Object
show all
Defined in:
lib/backup/connection/s3.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(adapter = false) ⇒ S3

Initializes the S3 connection, setting the values using the S3 adapter



10
11
12
13
14
15
16
17
18
# File 'lib/backup/connection/s3.rb', line 10

def initialize(adapter = false)
  if adapter
    self.adapter            = adapter
    self.procedure          = adapter.procedure
    self.final_file         = adapter.final_file
    self.tmp_path           = adapter.tmp_path.gsub('\ ', ' ')
    load_storage_configuration_attributes
  end
end

Instance Attribute Details

#access_key_idObject

Returns the value of attribute access_key_id.



7
8
9
# File 'lib/backup/connection/s3.rb', line 7

def access_key_id
  @access_key_id
end

#adapterObject

Returns the value of attribute adapter.



7
8
9
# File 'lib/backup/connection/s3.rb', line 7

def adapter
  @adapter
end

#final_fileObject

Returns the value of attribute final_file.



7
8
9
# File 'lib/backup/connection/s3.rb', line 7

def final_file
  @final_file
end

#procedureObject

Returns the value of attribute procedure.



7
8
9
# File 'lib/backup/connection/s3.rb', line 7

def procedure
  @procedure
end

#s3_bucketObject

Returns the value of attribute s3_bucket.



7
8
9
# File 'lib/backup/connection/s3.rb', line 7

def s3_bucket
  @s3_bucket
end

#secret_access_keyObject

Returns the value of attribute secret_access_key.



7
8
9
# File 'lib/backup/connection/s3.rb', line 7

def secret_access_key
  @secret_access_key
end

#tmp_pathObject

Returns the value of attribute tmp_path.



7
8
9
# File 'lib/backup/connection/s3.rb', line 7

def tmp_path
  @tmp_path
end

#use_sslObject

Returns the value of attribute use_ssl.



7
8
9
# File 'lib/backup/connection/s3.rb', line 7

def use_ssl
  @use_ssl
end

Instance Method Details

#bucketObject

Wrapper for the Bucket object



41
42
43
# File 'lib/backup/connection/s3.rb', line 41

def bucket
  AWS::S3::Bucket
end

#connectObject

Establishes a connection with Amazon S3 using the credentials provided by the user



27
28
29
30
31
32
33
# File 'lib/backup/connection/s3.rb', line 27

def connect
  AWS::S3::Base.establish_connection!(
    :access_key_id     => access_key_id,
    :secret_access_key => secret_access_key,
    :use_ssl           => use_ssl
  )
end

#destroy(file, bucket) ⇒ Object

Destroys file from a bucket on Amazon S3



61
62
63
64
65
# File 'lib/backup/connection/s3.rb', line 61

def destroy(file, bucket)
  object.delete(
    file,
    bucket )
end

#objectObject

Wrapper for the Object object



46
47
48
# File 'lib/backup/connection/s3.rb', line 46

def object
  AWS::S3::S3Object
end

#serviceObject

Wrapper for the Service object



36
37
38
# File 'lib/backup/connection/s3.rb', line 36

def service
  AWS::S3::Service
end

#static_initialize(procedure) ⇒ Object

Sets values from a procedure, rather than from the adapter object



21
22
23
24
# File 'lib/backup/connection/s3.rb', line 21

def static_initialize(procedure)
  self.procedure = procedure
  load_storage_configuration_attributes(true)
end

#storeObject

Initializes the file transfer to Amazon S3 This can only run after a connection has been made using the #connect method



52
53
54
55
56
57
58
# File 'lib/backup/connection/s3.rb', line 52

def store
  puts "Storing \"#{final_file}\" to bucket \"#{s3_bucket}\" on Amazon S3."
  object.store(
    final_file,
    open(File.join(tmp_path, final_file)),
    s3_bucket )
end