lib/fog/aliyun/models/storage/file.rb in fog-aliyun-0.3.7 vs lib/fog/aliyun/models/storage/file.rb in fog-aliyun-0.3.8

- old
+ new

@@ -33,15 +33,17 @@ attr_reader :directory def copy(target_directory_key, target_file_key, options = {}) requires :directory, :key - source_object = if directory.key == '' + directory_key = collection.check_directory_key(directory.key) + source_object = if directory_key == '' key else - directory.key + '/' + key + directory_key + '/' + key end + target_directory_key = collection.check_directory_key(target_directory_key) target_object = if target_directory_key == '' target_file_key else target_directory_key + '/' + target_file_key end @@ -50,14 +52,15 @@ target_directory.files.get(target_file_key) end def destroy requires :directory, :key - object = if directory.key == '' + directory_key = collection.check_directory_key(directory.key) + object = if directory_key == '' key else - directory.key + '/' + key + directory_key + '/' + key end service.delete_object(object) true end @@ -89,14 +92,15 @@ def url(expires, options = {}) expires = expires.nil? ? 0 : expires.to_i requires :directory, :key - object = if directory.key == '' + directory_key = collection.check_directory_key(directory.key) + object = if directory_key == '' key else - directory.key + '/' + key + directory_key + '/' + key end service.get_object_http_url_public(object, expires, options) end def public_url @@ -107,15 +111,15 @@ def save(options = {}) requires :body, :directory, :key options['Content-Type'] = content_type if content_type options['Content-Disposition'] = content_disposition if content_disposition options.merge!(metadata_to_headers) - - object = if directory.key == '' + directory_key = collection.check_directory_key(directory.key) + object = if directory_key == '' key else - directory.key + '/' + key + directory_key + '/' + key end if body.is_a?(::File) data = service.put_object(object, body, options).data elsif body.is_a?(String) data = service.put_object_with_body(object, body, options).data @@ -166,13 +170,14 @@ metadata_prefix + key.to_s.split(/[-_]/).map(&:capitalize).join('-') end def metadata_attributes if last_modified - object = if directory.key == '' + directory_key = collection.check_directory_key(directory.key) + object = if directory_key == '' key else - directory.key + '/' + key + directory_key + '/' + key end data = service.head_object(object).data if data[:status] == 200 headers = data[:headers]