Class: MongoBacker::S3Manager
- Inherits:
-
Object
- Object
- MongoBacker::S3Manager
- Includes:
- AWS::S3
- Defined in:
- lib/mongo_backer/s3_manager.rb
Instance Attribute Summary collapse
-
#bucket ⇒ Object
readonly
Returns the value of attribute bucket.
Instance Method Summary collapse
- #create_bucket(bucket) ⇒ Object
- #find_all ⇒ Object
-
#initialize(config) ⇒ S3Manager
constructor
A new instance of S3Manager.
- #upload_file(file) ⇒ Object
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
#bucket ⇒ Object (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_all ⇒ Object
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 |