LoginSignup
2
3

More than 5 years have passed since last update.

Rails で Gravatar を使ってみる

Last updated at Posted at 2018-11-30

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 もあります

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3