Class: S3FileHandler::Folder::Delete

Inherits:
BaseOperation show all
Defined in:
lib/s3_file_handler/folder/delete.rb

Instance Attribute Summary collapse

Attributes inherited from BaseOperation

#client, #errors

Instance Method Summary collapse

Constructor Details

#initialize(bucket_name, folder_name, force: false, client: S3FileHandler.client) ⇒ Delete

Returns a new instance of Delete.



8
9
10
11
12
13
14
# File 'lib/s3_file_handler/folder/delete.rb', line 8

def initialize(bucket_name, folder_name, force: false, client: S3FileHandler.client)
  super(client: client)

  @bucket_name = bucket_name
  @folder_name = folder_name.end_with?('/') ? folder_name : "#{folder_name}/"
  @force = force
end

Instance Attribute Details

#bucket_nameObject (readonly)

Returns the value of attribute bucket_name.



6
7
8
# File 'lib/s3_file_handler/folder/delete.rb', line 6

def bucket_name
  @bucket_name
end

#folder_nameObject (readonly)

Returns the value of attribute folder_name.



6
7
8
# File 'lib/s3_file_handler/folder/delete.rb', line 6

def folder_name
  @folder_name
end

#forceObject (readonly)

Returns the value of attribute force.



6
7
8
# File 'lib/s3_file_handler/folder/delete.rb', line 6

def force
  @force
end

Instance Method Details

#executeObject



16
17
18
19
20
# File 'lib/s3_file_handler/folder/delete.rb', line 16

def execute
  handle_aws_errors do
    force ? delete_recursively : delete_empty_folder
  end
end