class Gravatar

Public Class Methods

construct_resource(email_address, size, default) click to toggle source

Construct the Gravatar URI generically

# File lib/rb-gravatar.rb, line 6
def self.construct_resource(email_address, size, default)
  if size < 1 || size > 2048
    size = 64
  end
  
  parts = []
  parts << "//www.gravatar.com/avatar/"
  parts << Digest::MD5.hexdigest(email_address.downcase.strip)
  parts << "?s="
  parts << size
  
  if !default.nil?
    parts << "&d="
    parts << CGI.escape(default)
  end
  
  parts.join
end
prefetch_dns() click to toggle source

Output the DNS preload tags

# File lib/rb-gravatar.rb, line 40
def self.prefetch_dns
  '<link rel="dns-prefetch" href="//gravatar.com">'
end
src(email_address, size = 64, default = nil) click to toggle source

Generate and return only the Gravatar URI

# File lib/rb-gravatar.rb, line 26
def self.src(email_address, size = 64, default = nil)
  begin
    Gravatar.construct_resource(email_address, size, default)
  rescue Exception => e
    nil
  end
end
tag(email_address, size = 64, default = nil, alt_text = nil) click to toggle source

Generate and return the full img tag for the Gravatar URI

# File lib/rb-gravatar.rb, line 35
def self.tag(email_address, size = 64, default = nil, alt_text = nil)    
  return "<img src='#{Gravatar.construct_resource(email_address, size, default)}' class='gravatar' alt='#{alt_text}' />"
end