class RailsGravatar

Constants

DEFAULT_SIZE
VERSION

Public Class Methods

new(email_address = nil, size = DEFAULT_SIZE, fallback_image_url = nil, alt_text = nil) click to toggle source
# File lib/rails_gravatar.rb, line 25
def initialize(email_address = nil, size = DEFAULT_SIZE, fallback_image_url = nil, alt_text = nil)
  @email_address = email_address
  @size = size
  @fallback_image_url = fallback_image_url
  @alt_text = alt_text
end
prefetch_dns_tag() click to toggle source
# File lib/rails_gravatar.rb, line 12
def prefetch_dns_tag
  new.prefetch_dns_tag
end
src(email_address, size = DEFAULT_SIZE, fallback_image_url = nil) click to toggle source
# File lib/rails_gravatar.rb, line 16
def src(email_address, size = DEFAULT_SIZE, fallback_image_url = nil)
  new(email_address, size, fallback_image_url).src
end
tag(email_address, size = DEFAULT_SIZE, fallback_image_url = nil, alt_text = nil) click to toggle source
# File lib/rails_gravatar.rb, line 20
def tag(email_address, size = DEFAULT_SIZE, fallback_image_url = nil, alt_text = nil)
  new(email_address, size, fallback_image_url, alt_text).tag
end

Public Instance Methods

email_address() click to toggle source
# File lib/rails_gravatar.rb, line 46
def email_address
  @email_address.downcase.strip
end
email_address_digest() click to toggle source
# File lib/rails_gravatar.rb, line 42
def email_address_digest
  Digest::MD5.hexdigest(email_address)
end
fallback_image_url_param() click to toggle source
# File lib/rails_gravatar.rb, line 64
def fallback_image_url_param
  @fallback_image_url ? "&d=#{CGI.escape(@fallback_image_url)}" : nil
end
prefetch_dns_tag() click to toggle source
# File lib/rails_gravatar.rb, line 72
def prefetch_dns_tag
  content_tag(:link, nil, rel: "dns-prefetch", href: "//gravatar.com")
end
size() click to toggle source
# File lib/rails_gravatar.rb, line 54
def size
  if @size < 1
    1
  elsif @size > 2048
    2048
  else
    @size
  end
end
size_param() click to toggle source
# File lib/rails_gravatar.rb, line 50
def size_param
  "s=#{size}"
end
src() click to toggle source
# File lib/rails_gravatar.rb, line 32
def src
  [
    "//www.gravatar.com/avatar/",
    email_address_digest,
    "?",
    size_param,
    fallback_image_url_param
  ].join
end
tag() click to toggle source
# File lib/rails_gravatar.rb, line 68
def tag
  content_tag(:img, nil, src: src, class: "gravatar", alt: @alt_text)
end