Class: MongoBacker::S3Manager

Inherits:
Object
  • Object
show all
Includes:
AWS::S3
Defined in:
lib/mongo_backer/s3_manager.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ S3Manager

Returns a new instance of S3Manager.



7
8
9
10
11
12
13
14
# File 'lib/mongo_backer/s3_manager.rb', line 7

def initialize(config)
  AWS::S3::Base.establish_connection!(
     :access_key_id     => config.access_key_id,
     :secret_access_key => config.secret_access_key
   )
   
  @bucket = create_bucket config.bucket
end

Instance Attribute Details

#bucketObject (readonly)

Returns the value of attribute bucket.



5
6
7
# File 'lib/mongo_backer/s3_manager.rb', line 5

def bucket
  @bucket
end

Instance Method Details

#create_bucket(bucket) ⇒ Object



16
17
18
19
20
21
22
23
# File 'lib/mongo_backer/s3_manager.rb', line 16

def create_bucket(bucket)
  if Service.buckets.collect{ |b| b.name }.include?(bucket)
    Bucket.find(bucket)
  else
    Bucket.create(bucket)
    Bucket.find(bucket)
  end
end

#find_allObject



31
32
33
# File 'lib/mongo_backer/s3_manager.rb', line 31

def find_all
  @bucket.objects
end

#upload_file(file) ⇒ Object



25
26
27
28
29
# File 'lib/mongo_backer/s3_manager.rb', line 25

def upload_file(file)
  name = File.basename file
  
  S3Object.store(name, open(file), @bucket.name)
end