Module: FDE::S3Client
- Defined in:
- lib/s3_client.rb,
lib/s3_client/version.rb
Defined Under Namespace
Classes: AWSAccessKeyIDNotDefinedError, AWSRegionNotDefinedError, AWSS3BucketNameNotDefinedError, AWSSecretAccessKeyNotDefinedError, BucketNameNotDefinedError, Config
Constant Summary
collapse
- VERSION =
"0.1.3"
Class Method Summary
collapse
Class Method Details
.bucket ⇒ Object
51
52
53
54
55
56
|
# File 'lib/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 ⇒ Object
20
21
22
|
# File 'lib/s3_client.rb', line 20
def self.config
@@config ||= Config.new
end
|
24
25
26
|
# File 'lib/s3_client.rb', line 24
def self.configure
yield self.config
end
|
.credentials ⇒ Object
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/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) ⇒ Object
67
68
69
70
|
# File 'lib/s3_client.rb', line 67
def self.delete(key)
object = self.bucket.object(key)
object.delete
end
|
.download(key, target) ⇒ Object
82
83
84
85
|
# File 'lib/s3_client.rb', line 82
def self.download(key, target)
object = self.bucket.object(key)
object.download_file(target)
end
|
.list ⇒ Object
72
73
74
|
# File 'lib/s3_client.rb', line 72
def self.list
self.bucket.objects.collect(&:key)
end
|
.move(key, new_key) ⇒ Object
76
77
78
79
80
|
# File 'lib/s3_client.rb', line 76
def self.move(key, new_key)
object = self.bucket.object(key)
target = "#{object.bucket.name}/#{new_key}"
object.move_to(target)
end
|
.s3 ⇒ Object
28
29
30
31
32
33
34
35
36
|
# File 'lib/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(file_path, options = {}) ⇒ Object
58
59
60
61
62
63
64
65
|
# File 'lib/s3_client.rb', line 58
def self.upload(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
|