Help us understand the problem. What is going on with this article?

Rails で Gravatar を使ってみる

More than 1 year has passed since last update.

Gravatar って何?

様々な方が書かれているので、本記事では、詳しくは書きません。

slack.com, github.com
様々なところで活用されています。

Rails で Gravatar を使ってみる

公式のサンプルコード: https://ja.gravatar.com/site/implement/images/ruby/

require 'digest/md5'

# email に含まれる大文字を、小文字にする
email_downcase = email.downcase

# MD5値を取得
hash = Digest::MD5.hexdigest(email_downcase)

# URLを作成
image_src = "https://www.gravatar.com/avatar/#{hash}"

# URLを作成 (デフォルトと、レーティングをした場合)
image_src = "https://www.gravatar.com/avatar/#{hash}?r=g&d=mp"
# == Schema Information
#
# Table name: users
#
#  id               :bigint(8)        not null, primary key
#  email            :string           not null <- not null制約も設けているので、下で1行で書いてますが、丁寧に書いてあげた方がいいと思います。
#

require 'digest/md5'

class User < ApplicationRecord
  def avatar_url
    "https://www.gravatar.com/avatar/#{Digest::MD5.hexdigest(self.email.downcase)}?r=g&d=mp"
  end
end

様々なURLパラメータ

1. レーティング

rating または、 r で、 映画にもあるレイティングシステムが用意されている。

g (General audiences?) : 誰が見ても大丈夫(本当か?)。
pg (Parental guidance suggested?) : 低俗なジェスチャー、挑発的な服装をし、軽度の暴力が含んまれるコンテンツである可能性がある。
r (Restricted?) : 日本語にするのが厳しいので、原文: may contain such things as harsh profanity, intense violence, nudity, or hard drug use
x (Extreme?) : 日本語にするのが厳しいので、原文: may contain hardcore sexual imagery or extremely disturbing violence.

通常使うのは、 g で、 r=g とするのが良いのではないでしょうか。

2. デフォルトの画像

default または、 d* で、gravatar.comにて登録されていないemailだった場合に返却する画像ファイルのURL。

urlでの指定の他に、

mp (mystery-person) : i
identicon : i
monsterid : i
retro : i
robohash : i

が指定できます。

API のドキュメントについて

Image Requests - ja.gravatar.com

gravatarのアイコンを使いたい時のURL

非公式です。

gravatar image
https://www.gravatar.com/avatar

ちなみに

gravatar.com 利用しやすくするための GEM もあります

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away