Class: HasBucket::Facade

Inherits:
Object
  • Object
show all
Defined in:
lib/has_bucket/facade.rb

Instance Method Summary collapse

Constructor Details

#initialize(service, bucket_name) ⇒ Facade

Returns a new instance of Facade.



8
9
10
11
# File 'lib/has_bucket/facade.rb', line 8

def initialize(service, bucket_name)
  @service = service
  @bucket_name = bucket_name
end

Instance Method Details

#[](key) ⇒ Object



33
34
35
# File 'lib/has_bucket/facade.rb', line 33

def [](key)
  object(key).content
end

#[]=(key, content) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/has_bucket/facade.rb', line 25

def []=(key, content)
  s3_object = object(key)
  s3_object.acl = "private"
  s3_object.content_type = content_type_from_key(key)
  s3_object.content = content
  s3_object.save
end

#delete(key) ⇒ Object



45
46
47
# File 'lib/has_bucket/facade.rb', line 45

def delete(key)
  object(key).destroy
end

#include?(key) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/has_bucket/facade.rb', line 13

def include?(key)
  object(key).exists?
end

#object_keysObject



17
18
19
# File 'lib/has_bucket/facade.rb', line 17

def object_keys
  bucket.objects.map(&:key)
end

#prefixed_with(prefix) ⇒ Object



21
22
23
# File 'lib/has_bucket/facade.rb', line 21

def prefixed_with(prefix)
  bucket.objects(:prefix => prefix).map(&:key)
end

#public_url_for(key) ⇒ Object



41
42
43
# File 'lib/has_bucket/facade.rb', line 41

def public_url_for(key)
  object(key).url
end

#url_for(key, expiring_at = Time.now + 3600) ⇒ Object



37
38
39
# File 'lib/has_bucket/facade.rb', line 37

def url_for(key, expiring_at = Time.now + 3600)
  object(key).temporary_url(expiring_at)
end