Extract methods for file movement in `CLI::Upgrade` (#25120)

This commit is contained in:
Matt Jankowski 2023-09-28 10:04:05 -04:00 committed by GitHub
parent 56c0babc0b
commit 937dc42f10
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 23 deletions

View File

@ -75,12 +75,6 @@ Metrics/AbcSize:
- 'lib/mastodon/cli/*.rb'
- db/*migrate/**/*
# Reason:
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsblocknesting
Metrics/BlockNesting:
Exclude:
- 'lib/mastodon/cli/*.rb'
# Reason: Currently disabled in .rubocop_todo.yml
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricscyclomaticcomplexity
Metrics/CyclomaticComplexity:

View File

@ -125,27 +125,12 @@ module Mastodon::CLI
progress.log("Moving #{previous_path} to #{upgraded_path}") if options[:verbose]
begin
unless dry_run?
FileUtils.mkdir_p(File.dirname(upgraded_path))
FileUtils.mv(previous_path, upgraded_path)
begin
FileUtils.rmdir(File.dirname(previous_path), parents: true)
rescue Errno::ENOTEMPTY
# OK
end
end
move_previous_to_upgraded
rescue => e
progress.log(pastel.red("Error processing #{previous_path}: #{e}"))
success = false
unless dry_run?
begin
FileUtils.rmdir(File.dirname(upgraded_path), parents: true)
rescue Errno::ENOTEMPTY
# OK
end
end
remove_directory
end
end
@ -155,5 +140,28 @@ module Mastodon::CLI
attachment.instance_write(:storage_schema_version, previous_storage_schema_version)
success
end
def move_previous_to_upgraded(previous_path, upgraded_path)
return if dry_run?
FileUtils.mkdir_p(File.dirname(upgraded_path))
FileUtils.mv(previous_path, upgraded_path)
begin
FileUtils.rmdir(File.dirname(previous_path), parents: true)
rescue Errno::ENOTEMPTY
# OK
end
end
def remove_directory(path)
return if dry_run?
begin
FileUtils.rmdir(File.dirname(path), parents: true)
rescue Errno::ENOTEMPTY
# OK
end
end
end
end