Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/gitlabhq/gitlabhq
Browse files Browse the repository at this point in the history
  • Loading branch information
stanhu committed Nov 26, 2015
2 parents 68a4533 + 2f90e71 commit 312e3b1
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 14 deletions.
8 changes: 4 additions & 4 deletions app/helpers/application_helper.rb
Expand Up @@ -68,7 +68,7 @@ def project_identicon(project, options = {})
end
end

def avatar_icon(user_or_email = nil, size = nil)
def avatar_icon(user_or_email = nil, size = nil, scale = 2)
if user_or_email.is_a?(User)
user = user_or_email
else
Expand All @@ -78,12 +78,12 @@ def avatar_icon(user_or_email = nil, size = nil)
if user
user.avatar_url(size) || default_avatar
else
gravatar_icon(user_or_email, size)
gravatar_icon(user_or_email, size, scale)
end
end

def gravatar_icon(user_email = '', size = nil)
GravatarService.new.execute(user_email, size) ||
def gravatar_icon(user_email = '', size = nil, scale = 2)
GravatarService.new.execute(user_email, size, scale) ||
default_avatar
end

Expand Down
4 changes: 2 additions & 2 deletions app/models/user.rb
Expand Up @@ -637,11 +637,11 @@ def temp_oauth_email?
email.start_with?('temp-email-for-oauth')
end

def avatar_url(size = nil)
def avatar_url(size = nil, scale = 2)
if avatar.present?
[gitlab_config.url, avatar.url].join
else
GravatarService.new.execute(email, size)
GravatarService.new.execute(email, size, scale)
end
end

Expand Down
4 changes: 2 additions & 2 deletions 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
Expand Down
16 changes: 10 additions & 6 deletions spec/helpers/application_helper_spec.rb
Expand Up @@ -95,9 +95,9 @@ def stub_action_name(value)
end

it 'should call gravatar_icon when no User exists with the given email' do
expect(helper).to receive(:gravatar_icon).with('foo@example.com', 20)
expect(helper).to receive(:gravatar_icon).with('foo@example.com', 20, 2)

helper.avatar_icon('foo@example.com', 20)
helper.avatar_icon('foo@example.com', 20, 2)
end

describe 'using a User' do
Expand Down Expand Up @@ -150,15 +150,19 @@ def stub_action_name(value)
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
Expand Down

0 comments on commit 312e3b1

Please sign in to comment.