Class: Fog::Storage::GoogleXML::Files
- Inherits:
-
Collection
- Object
- Collection
- Fog::Storage::GoogleXML::Files
- Extended by:
- Deprecation
- Defined in:
- lib/fog/storage/google_xml/models/files.rb
Instance Method Summary collapse
- #all(options = {}) ⇒ Object
- #each ⇒ Object
- #each_file_this_page ⇒ Object
- #get(key, options = {}, &block) ⇒ Object
- #get_http_url(key, expires, options = {}) ⇒ Object
- #get_https_url(key, expires, options = {}) ⇒ Object
- #head(key, options = {}) ⇒ Object
- #new(attributes = {}) ⇒ Object
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/storage/google_xml/models/files.rb', line 18 def all( = {}) requires :directory = { "delimiter" => delimiter, "marker" => marker, "max-keys" => max_keys, "prefix" => prefix }.merge!() = .reject { |_key, value| value.nil? || value.to_s.empty? } merge_attributes() parent = directory.collection.get( directory.key, ) if parent merge_attributes(parent.files.attributes) load(parent.files.map(&:attributes)) end end |
#each ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/fog/storage/google_xml/models/files.rb', line 39 def each if !block_given? self else subset = dup.all subset.each_file_this_page { |f| yield f } while subset.is_truncated 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/storage/google_xml/models/files.rb', line 38 alias_method :each_file_this_page, :each |
#get(key, options = {}, &block) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/fog/storage/google_xml/models/files.rb', line 55 def get(key, = {}, &block) requires :directory data = service.get_object(directory.key, key, , &block) file_data = {} data.headers.each do |k, v| file_data[k] = v end file_data[:body] = data.body file_data[:key] = key new(file_data) rescue Excon::Errors::NotFound nil end |
#get_http_url(key, expires, options = {}) ⇒ Object
69 70 71 72 |
# File 'lib/fog/storage/google_xml/models/files.rb', line 69 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
74 75 76 77 |
# File 'lib/fog/storage/google_xml/models/files.rb', line 74 def get_https_url(key, expires, = {}) requires :directory service.get_object_https_url(directory.key, key, expires, ) end |
#head(key, options = {}) ⇒ Object
79 80 81 82 83 84 85 86 |
# File 'lib/fog/storage/google_xml/models/files.rb', line 79 def head(key, = {}) requires :directory data = service.head_object(directory.key, key, ) file_data = data.headers.merge(:key => key) new(file_data) rescue Excon::Errors::NotFound nil end |
#new(attributes = {}) ⇒ Object
88 89 90 91 |
# File 'lib/fog/storage/google_xml/models/files.rb', line 88 def new(attributes = {}) requires :directory super({ :directory => directory }.merge(attributes)) end |