Class: Monsoon::Store

Inherits:
Object
  • Object
show all
Defined in:
lib/monsoon/store.rb

Instance Method Summary collapse

Constructor Details

#initialize(filename, bucket, key, secret) ⇒ Store

Returns a new instance of Store.



10
11
12
# File 'lib/monsoon/store.rb', line 10

def initialize(filename, bucket, key, secret)
  @filename, @bucket, @key, @secret  = filename, bucket, key, secret
end

Instance Method Details

#connectObject

Connects to AWS.

Examples

Monsoon::Store("backup.tar.gz", "backups_bucket", "super_secret_key", "super_secret_secret").connect
# => #<AWS::S3::Connection>

Returns an instance of the AWS::S3::Connection class.



47
48
49
50
51
52
# File 'lib/monsoon/store.rb', line 47

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

#file_handleObject

Creates File handler for backup file.

Examples

Monsoon::Store("backup.tar.gz", "backups_bucket", "super_secret_key", "super_secret_secret").file_handle
# => #<AWS::S3::S3Object>

Returns File object of backup file.



35
36
37
# File 'lib/monsoon/store.rb', line 35

def file_handle
  File.open(@filename, "rb")
end

#saveObject

Runs the Monsoon Store save process.

Examples

Monsoon::Store("backup.tar.gz", "backups_bucket", "super_secret_key", "super_secret_secret").save
# => #<AWS::S3::S3Object>

Returns an instance of the AWS::S3::S3Object class



22
23
24
25
# File 'lib/monsoon/store.rb', line 22

def save
  connect
  AWS::S3::S3Object.store(@filename, file_handle, @bucket)
end