support-foo/web

View on GitHub
app/helpers/avatar_helper.rb

Summary

Maintainability
A
0 mins
Test Coverage
module AvatarHelper
  def avatar_default(person)
    avatar(person, 20)
  end

  def avatar(person, size)
    image_tag(avatar_path(person, size * 2), class: 'avatar', width: size, height: size)
  end

  def avatar_upload(person, size)
    image_tag(avatar_path_preview(person, size * 2), class: 'avatar', width: size, height: size, id: 'avatar-upload-preview')
  end

  def avatar_path(person, size)
    person.avatar.try(:thumb).present? ? person.avatar.thumb : gravatar_url(person.email, size)
  end

  def avatar_path_preview(person, size)
    person.avatar.try(:preview).present? ? person.avatar.preview : gravatar_url(person.email, size)
  end

  def gravatar_url(email, size)
    id = gravatar_id(email)
    "https://secure.gravatar.com/avatar/#{id}.png?s=#{size}&d=identicon"
  end

  def gravatar_id(email)
    Digest::MD5::hexdigest(email.downcase)
  end
end