Class: Fog::AWS::S3::File
Instance Attribute Summary collapse
-
#body ⇒ Object
Returns the value of attribute body.
Attributes inherited from Model
Instance Method Summary collapse
- #copy(target_directory_key, target_file_key) ⇒ Object
- #destroy ⇒ Object
- #directory ⇒ Object
- #owner=(new_owner) ⇒ Object
- #save(options = {}) ⇒ Object
Methods inherited from Model
#collection, #initialize, #inspect, #reload, #to_json, #wait_for
Methods included from Fog::Attributes::ClassMethods
#_load, #aliases, #attribute, #attributes, #identity
Methods included from Fog::Attributes::InstanceMethods
#_dump, #attributes, #identity, #identity=, #merge_attributes, #new_record?, #requires
Constructor Details
This class inherits a constructor from Fog::Model
Instance Attribute Details
#body ⇒ Object
Returns the value of attribute body.
11 12 13 |
# File 'lib/fog/aws/models/s3/file.rb', line 11 def body @body end |
Instance Method Details
#copy(target_directory_key, target_file_key) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/fog/aws/models/s3/file.rb', line 32 def copy(target_directory_key, target_file_key) requires :directory, :key data = connection.copy_object(directory.key, @key, target_directory_key, target_file_key).body target_directory = connection.directories.new(:key => target_directory_key) target_file = target_directory.files.new(attributes.merge!(:key => target_file_key)) copy_data = {} for key, value in data if ['ETag', 'LastModified'].include?(key) copy_data[key] = value end end target_file.merge_attributes(copy_data) target_file end |
#destroy ⇒ Object
47 48 49 50 51 |
# File 'lib/fog/aws/models/s3/file.rb', line 47 def destroy requires :directory, :key connection.delete_object(directory.key, @key) true end |
#directory ⇒ Object
28 29 30 |
# File 'lib/fog/aws/models/s3/file.rb', line 28 def directory @directory end |
#owner=(new_owner) ⇒ Object
53 54 55 56 57 58 59 60 |
# File 'lib/fog/aws/models/s3/file.rb', line 53 def owner=(new_owner) if new_owner @owner = { :display_name => new_owner['DisplayName'], :id => new_owner['ID'] } end end |
#save(options = {}) ⇒ Object
62 63 64 65 66 67 |
# File 'lib/fog/aws/models/s3/file.rb', line 62 def save( = {}) requires :body, :directory, :key data = connection.put_object(directory.key, @key, @body, ) @etag = data.headers['ETag'] true end |