Class: Fog::Brightbox::Storage::Files
- Inherits:
-
Collection
- Object
- Collection
- Fog::Brightbox::Storage::Files
- Defined in:
- lib/fog/brightbox/models/storage/files.rb
Instance Method Summary collapse
- #all(options = {}) ⇒ Object
- #each ⇒ Object
- #each_file_this_page ⇒ Object
- #get(key, &block) ⇒ Object
- #get_http_url(key, expires, options = {}) ⇒ Object
- #get_https_url(key, expires, options = {}) ⇒ Object
- #get_url(key) ⇒ Object
- #head(key, _options = {}) ⇒ Object
- #new(attributes = {}) ⇒ Object
Instance Method Details
#all(options = {}) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/fog/brightbox/models/storage/files.rb', line 15 def all( = {}) requires :directory = { "limit" => limit, "marker" => marker, "path" => path, "prefix" => prefix }.merge!() merge_attributes() parent = directory.collection.get( directory.key, ) load(parent.files.map(&:attributes)) if parent end |
#each ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/fog/brightbox/models/storage/files.rb', line 32 def each if !block_given? self else subset = dup.all subset.each_file_this_page { |f| yield f } while subset.length == (subset.limit || 10_000) subset = subset.all(marker: subset.last.key) subset.each_file_this_page { |f| yield f } end self end end |
#each_file_this_page ⇒ Object
31 |
# File 'lib/fog/brightbox/models/storage/files.rb', line 31 alias each_file_this_page each |
#get(key, &block) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/fog/brightbox/models/storage/files.rb', line 48 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::Brightbox::Storage::NotFound nil end |
#get_http_url(key, expires, options = {}) ⇒ Object
67 68 69 70 |
# File 'lib/fog/brightbox/models/storage/files.rb', line 67 def get_http_url(key, expires, = {}) requires :directory service.get_object_http_url(directory.key, key, expires, ) end |
#get_https_url(key, expires, options = {}) ⇒ Object
72 73 74 75 |
# File 'lib/fog/brightbox/models/storage/files.rb', line 72 def get_https_url(key, expires, = {}) requires :directory service.get_object_https_url(directory.key, key, expires, ) end |
#get_url(key) ⇒ Object
60 61 62 63 64 65 |
# File 'lib/fog/brightbox/models/storage/files.rb', line 60 def get_url(key) requires :directory return unless directory.public_url ::File.join(directory.public_url, Fog::Brightbox::Storage.escape(key, "/")) end |
#head(key, _options = {}) ⇒ Object
77 78 79 80 81 82 83 84 85 86 |
# File 'lib/fog/brightbox/models/storage/files.rb', line 77 def head(key, = {}) requires :directory data = service.head_object(directory.key, key) file_data = data.headers.merge( key: key ) new(file_data) rescue Fog::Brightbox::Storage::NotFound nil end |
#new(attributes = {}) ⇒ Object
88 89 90 91 |
# File 'lib/fog/brightbox/models/storage/files.rb', line 88 def new(attributes = {}) requires :directory super({ directory: directory }.merge!(attributes)) end |