# File lib/dragonfly/data_storage/s3data_store.rb, line 110 def bucket_exists? rescuing_socket_errors{ storage.get_bucket(bucket_name) } true rescue Excon::Errors::NotFound => e false end
# File lib/dragonfly/data_storage/s3data_store.rb, line 71 def destroy(uid) rescuing_socket_errors{ storage.delete_object(bucket_name, uid) } rescue Excon::Errors::NotFound => e raise DataNotFound, "#{e} - #{uid}" rescue Excon::Errors::Conflict => e raise DestroyError, "#{e} - #{uid}" end
# File lib/dragonfly/data_storage/s3data_store.rb, line 93 def domain REGIONS[get_region] end
# File lib/dragonfly/data_storage/s3data_store.rb, line 60 def retrieve(uid) ensure_configured response = rescuing_socket_errors{ storage.get_object(bucket_name, uid) } [ response.body, parse_s3_metadata(response.headers) ] rescue Excon::Errors::NotFound => e raise DataNotFound, "#{e} - #{uid}" end
# File lib/dragonfly/data_storage/s3data_store.rb, line 97 def storage @storage ||= begin storage = Fog::Storage.new( :provider => 'AWS', :aws_access_key_id => access_key_id, :aws_secret_access_key => secret_access_key, :region => region ) storage.sync_clock storage end end
# File lib/dragonfly/data_storage/s3data_store.rb, line 38 def store(temp_object, opts={}) ensure_configured ensure_bucket_initialized headers = opts[:headers] || {} mime_type = opts[:mime_type] || opts[:content_type] headers['Content-Type'] = mime_type if mime_type uid = opts[:path] || generate_uid(temp_object.name || 'file') rescuing_socket_errors do if use_filesystem temp_object.file do |f| storage.put_object(bucket_name, uid, f, full_storage_headers(headers, temp_object.meta)) end else storage.put_object(bucket_name, uid, temp_object.data, full_storage_headers(headers, temp_object.meta)) end end uid end
# File lib/dragonfly/data_storage/s3data_store.rb, line 79 def url_for(uid, opts={}) if opts && opts[:expires] if storage.respond_to?(:get_object_https_url) # fog's get_object_url is deprecated (aug 2011) storage.get_object_https_url(bucket_name, uid, opts[:expires]) else storage.get_object_url(bucket_name, uid, opts[:expires]) end else scheme = opts[:scheme] || url_scheme host = opts[:host] || url_host || "#{bucket_name}.s3.amazonaws.com" "#{scheme}://#{host}/#{uid}" end end
Generated with the Darkfish Rdoc Generator 2.