Class: Fog::AzureRM::Storage::Files
- Inherits:
-
Collection
- Object
- Collection
- Fog::AzureRM::Storage::Files
- Includes:
- Utilities::General
- Defined in:
- lib/fog/azurerm/models/storage/files.rb
Overview
This class is giving implementation of listing blobs.
Instance Method Summary collapse
-
#all(options = {}) ⇒ Fog::AzureRM::Storage::Files
List all files(blobs) under the directory.
- #each ⇒ Object
-
#each_file_this_page ⇒ Fog::AzureRM::Storage::Files
Enumerate every file under the directory if block_given?.
-
#get(key, options = {}, &block) ⇒ Fog::AzureRM::Storage::File
Get the file(blob) with full content as :body with the given name.
-
#get_http_url(key, expires, options = {}) ⇒ String
Get the http URL of the file(blob) with the given name.
-
#get_https_url(key, expires, options = {}) ⇒ String
Get the https URL of the file(blob) with the given name.
-
#get_url(key, expires, options = {}) ⇒ String
Get the URL of the file(blob) with the given name.
-
#head(key, options = {}) ⇒ Fog::AzureRM::Storage::File
Get the file(blob) without content with the given name.
-
#new(attributes = {}) ⇒ Fog::AzureRM::Storage::File
Create a new file.
Methods included from Utilities::General
#get_blob_endpoint, #get_blob_endpoint_with_domain, #get_circuit_name_from_id, #get_end_point_type, #get_hash_from_object, #get_image_name, #get_record_set_from_id, #get_record_type, #get_resource_from_resource_id, #get_resource_group_from_id, #get_subscription_id, #get_traffic_manager_profile_name_from_endpoint_id, #get_type_from_recordset_type, #get_virtual_machine_from_id, #get_virtual_network_from_id, #parse_storage_object, #raise_azure_exception, #random_string, #remove_trailing_periods_from_path_segments, #storage_endpoint_suffix, #validate_params
Instance Method Details
#all(options = {}) ⇒ Fog::AzureRM::Storage::Files
List all files(blobs) under the directory.
required attributes: directory
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/fog/azurerm/models/storage/files.rb', line 32 def all( = {}) requires :directory = { max_results: max_results, delimiter: delimiter, marker: marker, prefix: prefix }.merge!() = .reject { |_key, value| value.nil? || value.to_s.empty? } merge_attributes() parent = directory.collection.get( directory.key, ) return nil unless parent merge_attributes(parent.files.attributes) load(parent.files.map(&:attributes)) end |
#each ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/fog/azurerm/models/storage/files.rb', line 58 def each if block_given? subset = dup.all subset.each_file_this_page { |f| yield f } while subset.next_marker subset = subset.all(marker: subset.next_marker) subset.each_file_this_page { |f| yield f } end end self end |
#each_file_this_page ⇒ Fog::AzureRM::Storage::Files
Enumerate every file under the directory if block_given?
57 |
# File 'lib/fog/azurerm/models/storage/files.rb', line 57 alias each_file_this_page each |
#get(key, options = {}, &block) ⇒ Fog::AzureRM::Storage::File
Get the file(blob) with full content as :body with the given name.
required attributes: directory
82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/fog/azurerm/models/storage/files.rb', line 82 def get(key, = {}, &block) requires :directory blob, content = service.get_blob(directory.key, key, , &block) data = parse_storage_object(blob) file_data = data.merge( body: content, key: key ) new(file_data) rescue => error return nil if error. == 'NotFound' raise error end |
#get_http_url(key, expires, options = {}) ⇒ String
Get the http URL of the file(blob) with the given name.
required attributes: directory
128 129 130 131 132 |
# File 'lib/fog/azurerm/models/storage/files.rb', line 128 def get_http_url(key, expires, = {}) requires :directory service.get_blob_http_url(directory.key, key, expires, ) end |
#get_https_url(key, expires, options = {}) ⇒ String
Get the https URL of the file(blob) with the given name.
required attributes: directory
144 145 146 147 148 |
# File 'lib/fog/azurerm/models/storage/files.rb', line 144 def get_https_url(key, expires, = {}) requires :directory service.get_blob_https_url(directory.key, key, expires, ) end |
#get_url(key, expires, options = {}) ⇒ String
Get the URL of the file(blob) with the given name.
required attributes: directory
108 109 110 111 112 113 114 115 116 |
# File 'lib/fog/azurerm/models/storage/files.rb', line 108 def get_url(key, expires, = {}) requires :directory if [:scheme] == 'http' get_http_url(key, expires, ) else get_https_url(key, expires, ) end end |
#head(key, options = {}) ⇒ Fog::AzureRM::Storage::File
Get the file(blob) without content with the given name.
required attributes: directory
159 160 161 162 163 164 165 166 167 168 169 |
# File 'lib/fog/azurerm/models/storage/files.rb', line 159 def head(key, = {}) requires :directory blob = service.get_blob_properties(directory.key, key, ) data = parse_storage_object(blob) file_data = data.merge(key: key) new(file_data) rescue => error return nil if error. == 'NotFound' raise error end |
#new(attributes = {}) ⇒ Fog::AzureRM::Storage::File
Create a new file.
required attributes: directory
177 178 179 180 181 |
# File 'lib/fog/azurerm/models/storage/files.rb', line 177 def new(attributes = {}) requires :directory super({ directory: directory }.merge!(attributes)) end |