class PoringBackup::Storages::S3
Attributes
bucket_object[R]
s3[R]
Public Class Methods
new(setting, &block)
click to toggle source
Calls superclass method
PoringBackup::Storage::new
# File lib/poring_backup/storages/s3.rb, line 7 def initialize setting, &block super instance_eval(&block) if block_given? end
Public Instance Methods
access_key_id(key)
click to toggle source
# File lib/poring_backup/storages/s3.rb, line 20 def access_key_id key @access_key_id = key end
bucket(name)
click to toggle source
# File lib/poring_backup/storages/s3.rb, line 28 def bucket name @bucket = name end
notify_message()
click to toggle source
# File lib/poring_backup/storages/s3.rb, line 55 def notify_message @notify_message ||= "bucket: #{@bucket}, path: #{@path}" end
path(name)
click to toggle source
# File lib/poring_backup/storages/s3.rb, line 36 def path name @path = name end
region(name)
click to toggle source
# File lib/poring_backup/storages/s3.rb, line 32 def region name @region = name end
secret_access_key(key)
click to toggle source
# File lib/poring_backup/storages/s3.rb, line 24 def secret_access_key key @secret_access_key = key end
upload()
click to toggle source
# File lib/poring_backup/storages/s3.rb, line 40 def upload PoringBackup.logger.info "S3 processing" setting.databases.each do |db| s3_path = "#{@path}/#{db.file_path}" object = bucket_object.object(s3_path) success = object.upload_file(db.tmp_file_path) if success PoringBackup.logger.info "#{' '*3}uploaded: #{s3_path}" else PoringBackup.logger.warn "#{' '*3}uploaded failure: #{db.tmp_file_path}" end end PoringBackup.logger.info "#{' '*3}finished" end
Private Instance Methods
aws_client()
click to toggle source
# File lib/poring_backup/storages/s3.rb, line 63 def aws_client @aws_client ||= Aws::S3::Client.new( region: @region, credentials: aws_credentials ) end
aws_credentials()
click to toggle source
# File lib/poring_backup/storages/s3.rb, line 70 def aws_credentials @aws_credentials ||= Aws::Credentials.new(@access_key_id, @secret_access_key) end
aws_resource()
click to toggle source
# File lib/poring_backup/storages/s3.rb, line 60 def aws_resource @aws_resource ||= Aws::S3::Resource.new(client: aws_client) end