# +user+ can be a User or a string that will be scanned for an email address (eg. 'joe <joe@foo.bar>')
def avatar(user, options = { })
if Setting.gravatar_enabled?
- options.merge!({:ssl => (request && request.ssl?), :default => Setting.gravatar_default})
+ options.merge!(:default => Setting.gravatar_default)
email = nil
if user.respond_to?(:mail)
email = user.mail
image_tag src, options
end
- # Returns the base Gravatar URL for the given email hash. If ssl evaluates to true,
- # a secure URL will be used instead. This is required when the gravatar is to be
- # displayed on a HTTPS site.
- def gravatar_api_url(hash, ssl=false)
- if ssl
- "https://secure.gravatar.com/avatar/#{hash}"
- else
- "http://www.gravatar.com/avatar/#{hash}"
- end
+ # Returns the base Gravatar URL for the given email hash
+ def gravatar_api_url(hash)
+ "//www.gravatar.com/avatar/#{hash}"
end
# Return the gravatar URL for the given email address.
email_hash = Digest::MD5.hexdigest(email)
options = DEFAULT_OPTIONS.merge(options)
options[:default] = CGI::escape(options[:default]) unless options[:default].nil?
- gravatar_api_url(email_hash, options.delete(:ssl)).tap do |url|
+ gravatar_api_url(email_hash).tap do |url|
opts = []
[:rating, :size, :default].each do |opt|
unless options[opt].nil?