Jump To …

author_decorator.rb

class AuthorDecorator < ApplicationDecorator
  decorates :author

Creates a div with class avatar that contains the image tag linked to the user’s page

  def avatar
    h.content_tag "div", :class => "avatar" do
      if author
        h.link_to(
          avatar_image_tag,
          author.url
        )
      else
        avatar_image_tag
      end
    end
  end

Just the image tag part of the avatar markup

  def avatar_image_tag
    h.image_tag(
      absolute_avatar_url,
      :class => "photo user-image",
      :alt => "avatar"
    )
  end

Make sure we’re using the asset path if the user’s avatar is the default (local) avatar

  def absolute_avatar_url
    if !author || author.avatar_url.eql?(RstatUs::DEFAULT_AVATAR)
      h.asset_path(RstatUs::DEFAULT_AVATAR)
    else
      author.avatar_url
    end
  end

Creates a link to the user’s website for their profile

  def website_link
    if absolute_website_url.present?
      h.link_to(
        absolute_website_url,
        absolute_website_url,
        :rel => 'website',
        :class => 'url'
      )
    else
      ""
    end
  end

adds http:// if it isn’t there

  def absolute_website_url
    if author.website.blank?
      nil
    elsif author.website[0,7] == "http://" or author.website[0,8] == "https://"
      author.website
    else
      "http://#{author.website}"
    end
  end
end