Class: Fog::Storage::HP::Files
- Inherits:
-
Collection
- Object
- Array
- Collection
- Fog::Storage::HP::Files
- Defined in:
- lib/fog/hp/models/storage/files.rb
Instance Attribute Summary
Attributes inherited from Collection
Instance Method Summary collapse
- #all(options = {}) ⇒ Object
- #each ⇒ Object
- #each_file_this_page ⇒ Object
- #get(key, &block) ⇒ Object
- #get_cdn_ssl_url(key) ⇒ Object
- #get_cdn_url(key) ⇒ Object
-
#get_http_url(key, expires, options = {}) ⇒ String
Get a temporary http url for a file.
-
#get_https_url(key, expires, options = {}) ⇒ String
Get a temporary https url for a file.
- #get_url(key) ⇒ Object
- #head(key, options = {}) ⇒ Object
- #new(attributes = {}) ⇒ Object
Methods inherited from Collection
#clear, #create, #destroy, #initialize, #inspect, #load, model, #model, #reload, #table, #to_json
Methods included from Attributes::ClassMethods
#_load, #aliases, #attribute, #attributes, #identity, #ignore_attributes, #ignored_attributes
Methods included from Core::DeprecatedConnectionAccessors
#connection, #connection=, #prepare_service_value
Methods included from Attributes::InstanceMethods
#_dump, #attributes, #dup, #identity, #identity=, #merge_attributes, #new_record?, #persisted?, #requires, #requires_one
Constructor Details
This class inherits a constructor from Fog::Collection
Instance Method Details
#all(options = {}) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/fog/hp/models/storage/files.rb', line 18 def all( = {}) requires :directory = { 'limit' => limit, 'marker' => marker, 'path' => path, 'prefix' => prefix }.merge!() merge_attributes() parent = directory.collection.get( directory.key, ) if parent load(parent.files.map {|file| file.attributes}) else nil end end |
#each ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/fog/hp/models/storage/files.rb', line 39 def each if !block_given? self else subset = dup.all subset.each_file_this_page {|f| yield f} until subset.empty? || subset.length == (subset.limit || 10000) subset = subset.all('marker' => subset.last.key) subset.each_file_this_page {|f| yield f} end self end end |
#each_file_this_page ⇒ Object
38 |
# File 'lib/fog/hp/models/storage/files.rb', line 38 alias :each_file_this_page :each |
#get(key, &block) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/fog/hp/models/storage/files.rb', line 55 def get(key, &block) requires :directory data = service.get_object(directory.key, key, &block) file_data = data.headers.merge({ :body => data.body, :key => key }) new(file_data) rescue Fog::Storage::HP::NotFound nil end |
#get_cdn_ssl_url(key) ⇒ Object
105 106 107 108 109 110 111 |
# File 'lib/fog/hp/models/storage/files.rb', line 105 def get_cdn_ssl_url(key) requires :directory if self.directory.cdn_public_ssl_url # escape the key to cover for special char. in object names "#{self.directory.cdn_public_ssl_url}/#{Fog::HP.escape(key)}" end end |
#get_cdn_url(key) ⇒ Object
97 98 99 100 101 102 103 |
# File 'lib/fog/hp/models/storage/files.rb', line 97 def get_cdn_url(key) requires :directory if self.directory.cdn_public_url # escape the key to cover for special char. in object names "#{self.directory.cdn_public_url}/#{Fog::HP.escape(key)}" end end |
#get_http_url(key, expires, options = {}) ⇒ String
Get a temporary http url for a file.
required attributes: key
82 83 84 |
# File 'lib/fog/hp/models/storage/files.rb', line 82 def get_http_url(key, expires, = {}) service.get_object_http_url(directory.key, key, expires, ) end |
#get_https_url(key, expires, options = {}) ⇒ String
Get a temporary https url for a file.
required attributes: key
93 94 95 |
# File 'lib/fog/hp/models/storage/files.rb', line 93 def get_https_url(key, expires, = {}) service.get_object_https_url(directory.key, key, expires, ) end |
#get_url(key) ⇒ Object
67 68 69 70 71 72 73 |
# File 'lib/fog/hp/models/storage/files.rb', line 67 def get_url(key) requires :directory if self.directory.public_url # escape the key to cover for special char. in object names "#{self.directory.public_url}/#{Fog::HP.escape(key)}" end end |
#head(key, options = {}) ⇒ Object
113 114 115 116 117 118 119 120 121 122 |
# File 'lib/fog/hp/models/storage/files.rb', line 113 def head(key, = {}) requires :directory data = service.head_object(directory.key, key) file_data = data.headers.merge({ :key => key }) new(file_data) rescue Fog::Storage::HP::NotFound nil end |
#new(attributes = {}) ⇒ Object
124 125 126 127 |
# File 'lib/fog/hp/models/storage/files.rb', line 124 def new(attributes = {}) requires :directory super({ :directory => directory }.merge!(attributes)) end |