diff options
author | Jan-Gerd Tenberge <janten@gmail.com> | 2015-09-26 20:53:16 +0200 |
---|---|---|
committer | Jan-Gerd Tenberge <janten@gmail.com> | 2015-09-26 20:53:16 +0200 |
commit | 3ef71fa4fbea9a5ecc3c094df39cf4ea2f97dc90 (patch) | |
tree | 9f6d2812099708cc862b84a76bce9871d0d06fa6 | |
parent | 4957415e00207e0eae6184237f19bcd7c7401598 (diff) | |
download | gitlab-ce-3ef71fa4fbea9a5ecc3c094df39cf4ea2f97dc90.tar.gz |
Add support for HiDPI displays in gravatar service
-rw-r--r-- | app/services/gravatar_service.rb | 4 | ||||
-rw-r--r-- | spec/helpers/application_helper_spec.rb | 12 |
2 files changed, 10 insertions, 6 deletions
diff --git a/app/services/gravatar_service.rb b/app/services/gravatar_service.rb index 4bee0c26a68..433ecc2df32 100644 --- a/app/services/gravatar_service.rb +++ b/app/services/gravatar_service.rb @@ -1,13 +1,13 @@ class GravatarService include Gitlab::CurrentSettings - def execute(email, size = nil) + def execute(email, size = nil, scale = 2) if current_application_settings.gravatar_enabled? && email.present? size = 40 if size.nil? || size <= 0 sprintf gravatar_url, hash: Digest::MD5.hexdigest(email.strip.downcase), - size: size, + size: size * scale, email: email.strip end end diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index 742420f550e..e6e9bc99a16 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -141,15 +141,19 @@ describe ApplicationHelper do stub_gravatar_setting(plain_url: 'http://example.local/?s=%{size}&hash=%{hash}') expect(gravatar_icon(user_email, 20)). - to eq('http://example.local/?s=20&hash=b58c6f14d292556214bd64909bcdb118') + to eq('http://example.local/?s=40&hash=b58c6f14d292556214bd64909bcdb118') end it 'accepts a custom size argument' do - expect(helper.gravatar_icon(user_email, 64)).to include '?s=64' + expect(helper.gravatar_icon(user_email, 64)).to include '?s=128' end - it 'defaults size to 40 when given an invalid size' do - expect(helper.gravatar_icon(user_email, nil)).to include '?s=40' + it 'defaults size to 40@2x when given an invalid size' do + expect(helper.gravatar_icon(user_email, nil)).to include '?s=80' + end + + it 'accepts a scaling factor' do + expect(helper.gravatar_icon(user_email, 40, 3)).to include '?s=120' end it 'ignores case and surrounding whitespace' do |