@!attribute [w] public_url Required for compatibility with other Fog providers. Not Used.
Destroy the directory and remove it from CDN @return [Boolean] returns true if directory was deleted @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404 @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400 @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500 @raise [Fog::Storage::Rackspace::ServiceError] @note Directory must be empty before it is destroyed. @see docs.rackspace.com/files/api/v1/cf-devguide/content/Delete_Container-d1e1765.html
# File lib/fog/rackspace/models/storage/directory.rb, line 67 def destroy requires :key service.delete_container(key) service.cdn.publish_container(self, false) if cdn_enabled? true rescue Excon::Errors::NotFound false end
Returns collection of files in directory @return [Fog::Storage::Rackspace::Files] collection of files in directory @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404 @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400 @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500 @raise [Fog::Storage::Rackspace::ServiceError]
# File lib/fog/rackspace/models/storage/directory.rb, line 82 def files @files ||= begin Fog::Storage::Rackspace::Files.new( :directory => self, :service => service ) end end
URL used to stream video to iOS devices. Cloud Files will auto convert to the approprate format. @return [String] iOS URL @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404 @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400 @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500 @raise [Fog::Storage::Rackspace::ServiceError] @see docs.rackspace.com/files/api/v1/cf-devguide/content/iOS-Streaming-d1f3725.html
# File lib/fog/rackspace/models/storage/directory.rb, line 143 def ios_url urls[:ios_uri] end
Retrieve directory metadata @return [Fog::Storage::Rackspace::Metadata] metadata key value pairs.
# File lib/fog/rackspace/models/storage/directory.rb, line 51 def metadata unless attributes[:metadata] response = service.head_container(key) attributes[:metadata] = Fog::Storage::Rackspace::Metadata.from_headers(self, response.headers) end attributes[:metadata] end
Set directory metadata @param [Hash,Fog::Storage::Rackspace::Metadata] hash contains key value pairs
# File lib/fog/rackspace/models/storage/directory.rb, line 40 def metadata=(hash) if hash.is_a? Fog::Storage::Rackspace::Metadata attributes[:metadata] = hash else attributes[:metadata] = Fog::Storage::Rackspace::Metadata.new(self, hash) end attributes[:metadata] end
Is directory published to CDN @return [Boolean] return true if published to CDN @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404 @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400 @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500 @raise [Fog::Storage::Rackspace::ServiceError]
# File lib/fog/rackspace/models/storage/directory.rb, line 97 def public? if @public.nil? @public ||= (key && public_url) ? true : false end @public end
Returns the public url for the directory. If the directory has not been published to the CDN, this method will return nil as it is not publically accessible. This method will return the approprate url in the following order:
If the service used to access this directory was created with the option :rackspace_cdn_ssl => true, this method will return the SSL-secured URL.
If the cdn_cname attribute is populated this method will return the cname.
return the default CDN url.
@return [String] public url for directory @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404 @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400 @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500 @raise [Fog::Storage::Rackspace::ServiceError]
# File lib/fog/rackspace/models/storage/directory.rb, line 130 def public_url return nil if urls.empty? return urls[:ssl_uri] if service.ssl? cdn_cname || urls[:uri] end
Reload directory with latest data from Cloud Files @return [Fog::Storage::Rackspace::Directory] returns itself @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404 @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400 @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500 @raise [Fog::Storage::Rackspace::ServiceError]
# File lib/fog/rackspace/models/storage/directory.rb, line 110 def reload @public = nil @urls = nil @files = nil super end
Create or update directory and associated metadata @return [Boolean] returns true if directory was saved @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404 @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400 @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500 @raise [Fog::Storage::Rackspace::ServiceError] @note If public attribute is true, directory will be CDN enabled @see docs.rackspace.com/files/api/v1/cf-devguide/content/Create_Container-d1e1694.html
# File lib/fog/rackspace/models/storage/directory.rb, line 166 def save requires :key create_or_update_container raise Fog::Storage::Rackspace::Error.new("Directory can not be set as :public without a CDN provided") if public? && !cdn_enabled? @urls = service.cdn.publish_container(self, public?) true end
URL used to stream resources @return [String] streaming url @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404 @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400 @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500 @raise [Fog::Storage::Rackspace::ServiceError] @see docs.rackspace.com/files/api/v1/cf-devguide/content/Streaming-CDN-Enabled_Containers-d1f3721.html
# File lib/fog/rackspace/models/storage/directory.rb, line 154 def streaming_url urls[:streaming_uri] end
Generated with the Darkfish Rdoc Generator 2.