Commit 04dad198bde9105155fb138052f19454029fc1c4
1 parent
3fe826df
Exists in
master
and in
1 other branch
Fix Gravatar errors when no e-mail is provided
Showing
3 changed files
with
22 additions
and
2 deletions
Show diff stats
app/helpers/problems_helper.rb
@@ -11,10 +11,14 @@ module ProblemsHelper | @@ -11,10 +11,14 @@ module ProblemsHelper | ||
11 | end | 11 | end |
12 | 12 | ||
13 | def gravatar_tag(email, options = {}) | 13 | def gravatar_tag(email, options = {}) |
14 | + return nil unless email.present? | ||
15 | + | ||
14 | image_tag gravatar_url(email, options), :alt => email, :class => 'gravatar' | 16 | image_tag gravatar_url(email, options), :alt => email, :class => 'gravatar' |
15 | end | 17 | end |
16 | 18 | ||
17 | def gravatar_url(email, options = {}) | 19 | def gravatar_url(email, options = {}) |
20 | + return nil unless email.present? | ||
21 | + | ||
18 | default_options = { | 22 | default_options = { |
19 | :d => Errbit::Config.gravatar_default, | 23 | :d => Errbit::Config.gravatar_default, |
20 | } | 24 | } |
app/views/users/show.html.haml
1 | - content_for :title, @user.name | 1 | - content_for :title, @user.name |
2 | -- if Errbit::Config.use_gravatar | 2 | +- if Errbit::Config.use_gravatar && gravatar = gravatar_url(@user.email, :s => 86) |
3 | - content_for :title_style do | 3 | - content_for :title_style do |
4 | - background: url('#{gravatar_url @user.email, :s => 86}') no-repeat; | 4 | + background: url('#{gravatar}') no-repeat; |
5 | padding-left: 106px; | 5 | padding-left: 106px; |
6 | 6 | ||
7 | - content_for :action_bar do | 7 | - content_for :action_bar do |
spec/helpers/problems_helper_spec.rb
@@ -31,5 +31,21 @@ describe ProblemsHelper do | @@ -31,5 +31,21 @@ describe ProblemsHelper do | ||
31 | helper.gravatar_tag(email, :d => 'retro', :s => 48).should eq(expected) | 31 | helper.gravatar_tag(email, :d => 'retro', :s => 48).should eq(expected) |
32 | end | 32 | end |
33 | end | 33 | end |
34 | + | ||
35 | + context "no email" do | ||
36 | + it "should not render the tag" do | ||
37 | + helper.gravatar_tag(nil).should be_nil | ||
38 | + end | ||
39 | + end | ||
40 | + end | ||
41 | + | ||
42 | + describe "#gravatar_url" do | ||
43 | + context "no email" do | ||
44 | + let(:email) { nil } | ||
45 | + | ||
46 | + it "should return nil" do | ||
47 | + helper.gravatar_url(email).should be_nil | ||
48 | + end | ||
49 | + end | ||
34 | end | 50 | end |
35 | end | 51 | end |