From 6a5afeaa19fbaf32d236f9c8a64070b0b47ff0c0 Mon Sep 17 00:00:00 2001 From: pcantrell Date: Fri, 9 Dec 2011 20:36:51 -0600 Subject: [PATCH] Fixed avatar_url so it (1) uses the correct Gravatar URL syntax, (2) actually respects the :size option, and (3) supports a custom default image. --- app/models/blog_comment.rb | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/models/blog_comment.rb b/app/models/blog_comment.rb index 6216cc2..4042b7f 100644 --- a/app/models/blog_comment.rb +++ b/app/models/blog_comment.rb @@ -20,10 +20,16 @@ class BlogComment < ActiveRecord::Base scope :rejected, :conditions => {:state => 'rejected'} def avatar_url(options = {}) - options = {:size => 60} require 'digest/md5' - size = ("?s=#{options[:size]}" if options[:size]) - "http://gravatar.com/avatar/#{Digest::MD5.hexdigest(self.email.to_s.strip.downcase)}#{size}.jpg" + params = { + s: options[:size] || 60, + d: options[:default_image] + } + query_string = params.map do |k,v| + [k,v].map { |s| CGI::escape(s.to_s) }.join('=') + end.join('&') + email_md5 = Digest::MD5.hexdigest(self.email.to_s.strip.downcase) + "http://gravatar.com/avatar/#{email_md5}?#{query_string}" end def approve!