Make regexes more readable
This commit is contained in:
parent
41412fec5b
commit
7c43692f68
2 changed files with 13 additions and 13 deletions
|
@ -5,7 +5,8 @@ module Gitlab
|
||||||
self.table_name = 'unhashed_upload_files'
|
self.table_name = 'unhashed_upload_files'
|
||||||
|
|
||||||
# Ends with /:random_hex/:filename
|
# Ends with /:random_hex/:filename
|
||||||
FILE_UPLOADER_PATH_PATTERN = /\/\h+\/[^\/]+\z/
|
FILE_UPLOADER_PATH_PATTERN = %r{/\h+/[^/]+\z}
|
||||||
|
FILE_UPLOADER_CAPTURE_FULL_PATH_PATTERN = %r{\A(.+)#{FILE_UPLOADER_PATH_PATTERN}}
|
||||||
|
|
||||||
# These regex patterns are tested against a relative path, relative to
|
# These regex patterns are tested against a relative path, relative to
|
||||||
# the upload directory.
|
# the upload directory.
|
||||||
|
@ -13,32 +14,32 @@ module Gitlab
|
||||||
# it indicates the model_id.
|
# it indicates the model_id.
|
||||||
PATH_PATTERNS = [
|
PATH_PATTERNS = [
|
||||||
{
|
{
|
||||||
pattern: /\A-\/system\/appearance\/logo\/(\d+)/,
|
pattern: %r{\A-/system/appearance/logo/(\d+)/},
|
||||||
uploader: 'AttachmentUploader',
|
uploader: 'AttachmentUploader',
|
||||||
model_type: 'Appearance'
|
model_type: 'Appearance'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
pattern: /\A-\/system\/appearance\/header_logo\/(\d+)/,
|
pattern: %r{\A-/system/appearance/header_logo/(\d+)/},
|
||||||
uploader: 'AttachmentUploader',
|
uploader: 'AttachmentUploader',
|
||||||
model_type: 'Appearance'
|
model_type: 'Appearance'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
pattern: /\A-\/system\/note\/attachment\/(\d+)/,
|
pattern: %r{\A-/system/note/attachment/(\d+)/},
|
||||||
uploader: 'AttachmentUploader',
|
uploader: 'AttachmentUploader',
|
||||||
model_type: 'Note'
|
model_type: 'Note'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
pattern: /\A-\/system\/user\/avatar\/(\d+)/,
|
pattern: %r{\A-/system/user/avatar/(\d+)/},
|
||||||
uploader: 'AvatarUploader',
|
uploader: 'AvatarUploader',
|
||||||
model_type: 'User'
|
model_type: 'User'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
pattern: /\A-\/system\/group\/avatar\/(\d+)/,
|
pattern: %r{\A-/system/group/avatar/(\d+)/},
|
||||||
uploader: 'AvatarUploader',
|
uploader: 'AvatarUploader',
|
||||||
model_type: 'Namespace'
|
model_type: 'Namespace'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
pattern: /\A-\/system\/project\/avatar\/(\d+)/,
|
pattern: %r{\A-/system/project/avatar/(\d+)/},
|
||||||
uploader: 'AvatarUploader',
|
uploader: 'AvatarUploader',
|
||||||
model_type: 'Project'
|
model_type: 'Project'
|
||||||
},
|
},
|
||||||
|
@ -90,7 +91,7 @@ module Gitlab
|
||||||
if uploader == 'FileUploader'
|
if uploader == 'FileUploader'
|
||||||
# Path relative to project directory in uploads
|
# Path relative to project directory in uploads
|
||||||
matchd = path_relative_to_upload_dir.match(FILE_UPLOADER_PATH_PATTERN)
|
matchd = path_relative_to_upload_dir.match(FILE_UPLOADER_PATH_PATTERN)
|
||||||
matchd[0].sub(/\A\//, '') # remove leading slash
|
matchd[0].sub(%r{\A/}, '') # remove leading slash
|
||||||
else
|
else
|
||||||
path_relative_to_carrierwave_root
|
path_relative_to_carrierwave_root
|
||||||
end
|
end
|
||||||
|
@ -120,7 +121,7 @@ module Gitlab
|
||||||
|
|
||||||
# Not including a leading slash
|
# Not including a leading slash
|
||||||
def path_relative_to_upload_dir
|
def path_relative_to_upload_dir
|
||||||
@path_relative_to_upload_dir ||= path.sub(/\A#{Gitlab::BackgroundMigration::PrepareUnhashedUploads::UPLOAD_DIR}\//, '')
|
@path_relative_to_upload_dir ||= path.sub(%r{\A#{Gitlab::BackgroundMigration::PrepareUnhashedUploads::UPLOAD_DIR}/}, '')
|
||||||
end
|
end
|
||||||
|
|
||||||
# Not including a leading slash
|
# Not including a leading slash
|
||||||
|
@ -141,8 +142,7 @@ module Gitlab
|
||||||
end
|
end
|
||||||
|
|
||||||
def file_uploader_model_id
|
def file_uploader_model_id
|
||||||
pattern_to_capture_full_path = /\A(.+)#{FILE_UPLOADER_PATH_PATTERN}/
|
matchd = path_relative_to_upload_dir.match(FILE_UPLOADER_CAPTURE_FULL_PATH_PATTERN)
|
||||||
matchd = path_relative_to_upload_dir.match(pattern_to_capture_full_path)
|
|
||||||
raise "Could not capture project full_path from a FileUploader path: \"#{path_relative_to_upload_dir}\"" unless matchd
|
raise "Could not capture project full_path from a FileUploader path: \"#{path_relative_to_upload_dir}\"" unless matchd
|
||||||
full_path = matchd[1]
|
full_path = matchd[1]
|
||||||
project = Project.find_by_full_path(full_path)
|
project = Project.find_by_full_path(full_path)
|
||||||
|
|
|
@ -59,7 +59,7 @@ describe TrackUntrackedUploads, :migration, :sidekiq do
|
||||||
user1.update(avatar: uploaded_file)
|
user1.update(avatar: uploaded_file)
|
||||||
project1.update(avatar: uploaded_file)
|
project1.update(avatar: uploaded_file)
|
||||||
upload_result = UploadService.new(project1, uploaded_file, FileUploader).execute # Markdown upload
|
upload_result = UploadService.new(project1, uploaded_file, FileUploader).execute # Markdown upload
|
||||||
@project1_markdown_upload_path = upload_result[:url].sub(/\A\/uploads\//, '')
|
@project1_markdown_upload_path = upload_result[:url].sub(%r{\A/uploads/}, '')
|
||||||
appearance.update(logo: uploaded_file)
|
appearance.update(logo: uploaded_file)
|
||||||
|
|
||||||
# Untracked, by doing normal file upload then deleting records from DB
|
# Untracked, by doing normal file upload then deleting records from DB
|
||||||
|
@ -68,7 +68,7 @@ describe TrackUntrackedUploads, :migration, :sidekiq do
|
||||||
user2.uploads.delete_all
|
user2.uploads.delete_all
|
||||||
project2.update(avatar: uploaded_file)
|
project2.update(avatar: uploaded_file)
|
||||||
upload_result = UploadService.new(project2, uploaded_file, FileUploader).execute # Markdown upload
|
upload_result = UploadService.new(project2, uploaded_file, FileUploader).execute # Markdown upload
|
||||||
@project2_markdown_upload_path = upload_result[:url].sub(/\A\/uploads\//, '')
|
@project2_markdown_upload_path = upload_result[:url].sub(%r{\A/uploads/}, '')
|
||||||
project2.uploads.delete_all
|
project2.uploads.delete_all
|
||||||
appearance.update(header_logo: uploaded_file)
|
appearance.update(header_logo: uploaded_file)
|
||||||
appearance.uploads.last.destroy
|
appearance.uploads.last.destroy
|
||||||
|
|
Loading…
Reference in a new issue