diff --git a/app/helpers/problems_helper.rb b/app/helpers/problems_helper.rb index 0e0c807..4cc350d 100644 --- a/app/helpers/problems_helper.rb +++ b/app/helpers/problems_helper.rb @@ -11,10 +11,14 @@ module ProblemsHelper end def gravatar_tag(email, options = {}) + return nil unless email.present? + image_tag gravatar_url(email, options), :alt => email, :class => 'gravatar' end def gravatar_url(email, options = {}) + return nil unless email.present? + default_options = { :d => Errbit::Config.gravatar_default, } diff --git a/app/views/users/show.html.haml b/app/views/users/show.html.haml index ee1e941..647e62b 100644 --- a/app/views/users/show.html.haml +++ b/app/views/users/show.html.haml @@ -1,7 +1,7 @@ - content_for :title, @user.name -- if Errbit::Config.use_gravatar +- if Errbit::Config.use_gravatar && gravatar = gravatar_url(@user.email, :s => 86) - content_for :title_style do - background: url('#{gravatar_url @user.email, :s => 86}') no-repeat; + background: url('#{gravatar}') no-repeat; padding-left: 106px; - content_for :action_bar do diff --git a/spec/helpers/problems_helper_spec.rb b/spec/helpers/problems_helper_spec.rb index 5c20c6d..e63cabc 100644 --- a/spec/helpers/problems_helper_spec.rb +++ b/spec/helpers/problems_helper_spec.rb @@ -31,5 +31,21 @@ describe ProblemsHelper do helper.gravatar_tag(email, :d => 'retro', :s => 48).should eq(expected) end end + + context "no email" do + it "should not render the tag" do + helper.gravatar_tag(nil).should be_nil + end + end + end + + describe "#gravatar_url" do + context "no email" do + let(:email) { nil } + + it "should return nil" do + helper.gravatar_url(email).should be_nil + end + end end end -- libgit2 0.21.2