class Fog::Storage::GoogleJSON::File
Constants
- FILE_INSERTABLE_FIELDS
Attributes
directory[RW]
Public Instance Methods
body()
click to toggle source
attribute :body
# File lib/fog/storage/google_json/models/file.rb, line 29 def body last_modified && (file = collection.get(identity)) ? attributes[:body] ||= file.body : attributes[:body] ||= "" end
body=(new_body)
click to toggle source
# File lib/fog/storage/google_json/models/file.rb, line 33 def body=(new_body) attributes[:body] = new_body end
copy(target_directory_key, target_file_key, options = {})
click to toggle source
# File lib/fog/storage/google_json/models/file.rb, line 39 def copy(target_directory_key, target_file_key, options = {}) requires :directory, :key service.copy_object(directory.key, key, target_directory_key, target_file_key, options) target_directory = service.directories.new(:key => target_directory_key) target_directory.files.get(target_file_key) end
destroy()
click to toggle source
# File lib/fog/storage/google_json/models/file.rb, line 46 def destroy requires :directory, :key service.delete_object(directory.key, key) true rescue ::Google::Apis::ClientError => e raise e unless e.status_code == 404 false end
public_url()
click to toggle source
# File lib/fog/storage/google_json/models/file.rb, line 55 def public_url requires :directory, :key "https://storage.googleapis.com/#{directory.key}/#{key}" end
save()
click to toggle source
# File lib/fog/storage/google_json/models/file.rb, line 70 def save requires :body, :directory, :key options = Hash[ FILE_INSERTABLE_FIELDS.map { |k| [k, attributes[k]] } .reject { |pair| pair[1].nil? } ] service.put_object(directory.key, key, body, options) self.content_length = Fog::Storage.get_body_size(body) self.content_type ||= Fog::Storage.get_content_type(body) true end
url(expires)
click to toggle source
params : Eg: Time.now to integer value.
# File lib/fog/storage/google_json/models/file.rb, line 85 def url(expires) requires :key collection.get_https_url(key, expires) end