Class: AssetCloud::S3Bucket
- Inherits:
-
Bucket
- Object
- Bucket
- AssetCloud::S3Bucket
show all
- Defined in:
- lib/asset_cloud/buckets/s3_bucket.rb
Instance Attribute Summary
Attributes inherited from Bucket
#cloud, #name
Instance Method Summary
collapse
Methods inherited from Bucket
#initialize, #versioned?
Instance Method Details
#delete(key) ⇒ Object
26
27
28
29
30
31
32
|
# File 'lib/asset_cloud/buckets/s3_bucket.rb', line 26
def delete(key)
object = cloud.s3_bucket(key).objects[absolute_key(key)]
object.delete
true
end
|
#ls(key = nil) ⇒ Object
5
6
7
8
9
10
11
12
|
# File 'lib/asset_cloud/buckets/s3_bucket.rb', line 5
def ls(key = nil)
key = absolute_key(key)
objects = cloud.s3_bucket(key).objects
objects = objects.with_prefix(key) if key
objects.map { |o| cloud[relative_key(o.key)] }
end
|
#read(key) ⇒ Object
14
15
16
17
18
|
# File 'lib/asset_cloud/buckets/s3_bucket.rb', line 14
def read(key)
cloud.s3_bucket(key).objects[absolute_key(key)].read
rescue ::AWS::Errors::Base
raise AssetCloud::AssetNotFoundError, key
end
|
#stat(key) ⇒ Object
34
35
36
37
38
39
40
41
|
# File 'lib/asset_cloud/buckets/s3_bucket.rb', line 34
def stat(key)
object = cloud.s3_bucket(key).objects[absolute_key(key)]
metadata = object.head
AssetCloud::Metadata.new(true, metadata[:content_length], nil, metadata[:last_modified])
rescue AWS::S3::Errors::NoSuchKey
AssetCloud::Metadata.new(false)
end
|
#write(key, data, options = {}) ⇒ Object
20
21
22
23
24
|
# File 'lib/asset_cloud/buckets/s3_bucket.rb', line 20
def write(key, data, options = {})
object = cloud.s3_bucket(key).objects[absolute_key(key)]
object.write(data, options)
end
|