class Fog::Storage::GoogleJSON::Files
Public Instance Methods
all(options = {})
click to toggle source
# File lib/fog/storage/google_json/models/files.rb, line 17 def all(options = {}) requires :directory options = { "delimiter" => delimiter, "pageToken" => page_token, "maxResults" => max_results, "prefix" => prefix }.merge!(options) options = options.reject { |_key, value| value.nil? || value.to_s.empty? } merge_attributes(options) parent = directory.collection.get( directory.key, options ) if parent merge_attributes(parent.files.attributes) load(parent.files.map(&:attributes)) end end
each() { |f| ... }
click to toggle source
# File lib/fog/storage/google_json/models/files.rb, line 38 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
Also aliased as: each_file_this_page
get(key, options = {}, &block)
click to toggle source
# File lib/fog/storage/google_json/models/files.rb, line 54 def get(key, options = {}, &block) requires :directory data = service.get_object(directory.key, key, options, &block) file_data = {} data.headers.each do |k, v| file_data[k] = v end file_data.merge!(:body => data.body, :key => key) new(file_data) rescue Excon::Errors::NotFound nil end
get_https_url(key, expires)
click to toggle source
# File lib/fog/storage/google_json/models/files.rb, line 68 def get_https_url(key, expires) requires :directory service.get_object_https_url(directory.key, key, expires) end
head(key, options = {})
click to toggle source
# File lib/fog/storage/google_json/models/files.rb, line 73 def head(key, options = {}) requires :directory data = service.head_object(directory.key, key, options) file_data = data.headers.merge(:key => key) new(file_data) rescue Excon::Errors::NotFound nil end
new(attributes = {})
click to toggle source
Calls superclass method
# File lib/fog/storage/google_json/models/files.rb, line 82 def new(attributes = {}) requires :directory super({ :directory => directory }.merge(attributes)) end