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.

This commit is contained in:
pcantrell 2011-12-09 20:36:51 -06:00
parent 2bff0b207f
commit 6a5afeaa19

View file

@ -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!