module FDE::S3Client
Constants
- VERSION
Public Class Methods
bucket()
click to toggle source
# File lib/fde/s3_client.rb, line 51 def self.bucket if self.config.bucket_name.to_s.empty? raise BucketNameNotDefinedError end self.s3.bucket(self.config.bucket_name) end
config()
click to toggle source
# File lib/fde/s3_client.rb, line 20 def self.config @@config ||= Config.new end
configure() { |config| ... }
click to toggle source
# File lib/fde/s3_client.rb, line 24 def self.configure yield self.config end
credentials()
click to toggle source
# File lib/fde/s3_client.rb, line 38 def self.credentials if self.config.aws_access_key_id.to_s.empty? raise AWSAccessKeyIDNotDefinedError end if self.config.aws_secret_access_key.to_s.empty? raise AWSSecretAccessKeyNotDefinedError end Aws::Credentials.new( config.aws_access_key_id, config.aws_secret_access_key ) end
delete(key)
click to toggle source
# File lib/fde/s3_client.rb, line 71 def self.delete(key) object = self.bucket.object(key) object.delete end
download(key, target)
click to toggle source
# File lib/fde/s3_client.rb, line 86 def self.download(key, target) object = self.bucket.object(key) object.download_file(target) end
list()
click to toggle source
# File lib/fde/s3_client.rb, line 76 def self.list self.bucket.objects.collect(&:key) end
move(key, new_key)
click to toggle source
# File lib/fde/s3_client.rb, line 80 def self.move(key, new_key) object = self.bucket.object(key) target = "#{object.bucket.name}/#{new_key}" object.move_to(target) end
s3()
click to toggle source
# File lib/fde/s3_client.rb, line 28 def self.s3 if self.config.aws_region.to_s.empty? raise AWSRegionNotDefinedError end Aws::S3::Resource.new( region: self.config.aws_region, credentials: self.credentials ) end
upload_content(key, content)
click to toggle source
# File lib/fde/s3_client.rb, line 67 def self.upload_content(key, content) self.s3.bucket(self.config.bucket_name).object(key).put(body: content) end
upload_file(file_path, options = {})
click to toggle source
# File lib/fde/s3_client.rb, line 58 def self.upload_file(file_path, options = {}) if options[:key] key = options[:folder].to_s + options[:key] else key = options[:folder].to_s + File.basename(file_path) end self.s3.bucket(self.config.bucket_name).object(key).upload_file(file_path) end