diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2019-04-04 12:31:16 +0000 |
---|---|---|
committer | Kamil Trzciński <ayufan@ayufan.eu> | 2019-04-04 12:31:16 +0000 |
commit | c60d0efe0d2f2f0bdd1e626c378fe655461c5f22 (patch) | |
tree | 2a203b9618da88c89ad759be079949d0293e4d0d | |
parent | 2fdc7c1fd6884cf120bf82cb870f66d1bf73811a (diff) | |
parent | ec85debaf51067cc78d54188ec1eef94342d5a8b (diff) | |
download | gitlab-ce-c60d0efe0d2f2f0bdd1e626c378fe655461c5f22.tar.gz |
Merge branch 'stop-signing-avatar-paths' into 'master'
Speed up avatar URLs with object storage
Closes #43065
See merge request gitlab-org/gitlab-ce!26858
-rw-r--r-- | app/uploaders/records_uploads.rb | 4 | ||||
-rw-r--r-- | changelogs/unreleased/stop-signing-avatar-paths.yml | 5 | ||||
-rw-r--r-- | spec/uploaders/records_uploads_spec.rb | 9 |
3 files changed, 18 insertions, 0 deletions
diff --git a/app/uploaders/records_uploads.rb b/app/uploaders/records_uploads.rb index 9a243e07936..00b51f92b12 100644 --- a/app/uploaders/records_uploads.rb +++ b/app/uploaders/records_uploads.rb @@ -46,6 +46,10 @@ module RecordsUploads File.join(store_dir, filename.to_s) end + def filename + upload&.path ? File.basename(upload.path) : super + end + private # rubocop: disable CodeReuse/ActiveRecord diff --git a/changelogs/unreleased/stop-signing-avatar-paths.yml b/changelogs/unreleased/stop-signing-avatar-paths.yml new file mode 100644 index 00000000000..2c2493f0f21 --- /dev/null +++ b/changelogs/unreleased/stop-signing-avatar-paths.yml @@ -0,0 +1,5 @@ +--- +title: Speed up generation of avatar URLs when using object storage +merge_request: +author: +type: performance diff --git a/spec/uploaders/records_uploads_spec.rb b/spec/uploaders/records_uploads_spec.rb index 3592a11360d..ab98976ec27 100644 --- a/spec/uploaders/records_uploads_spec.rb +++ b/spec/uploaders/records_uploads_spec.rb @@ -94,4 +94,13 @@ describe RecordsUploads do expect { uploader.remove! }.to change { Upload.count }.from(1).to(0) end end + + describe '#filename' do + it 'gets the filename from the path recorded in the database, not CarrierWave' do + uploader.store!(upload_fixture('rails_sample.jpg')) + expect_any_instance_of(GitlabUploader).not_to receive(:filename) + + expect(uploader.filename).to eq('rails_sample.jpg') + end + end end |