UserMixinについて
カスタムModelをタイムラインに表示するのuser
メソッドが返すModelは、ユーザの名前やアイコンを表示するために、幾つかのインターフェイスを要求します。その基準を満たしていない場合、タイムラインに表示することはできません。
このセクションでは、実際にカスタムModelをタイムラインに表示しているRSSプラグインを参考にして、その方法を解説します。
例
以下のコードは、RSSプラグインのSiteクラスです。
module Plugin::RSS
class Site < Retriever::Model
include Retriever::Model::UserMixin
field.string :name, required: true
field.string :description
field.string :link
field.time :created
field.string :profile_image_url
field.string :feed_url
def idname
link
end
def perma_link
link
end
def modified
created
end
end
end
Retriever::Model::UserMixin
やはりいくつか要求されるメソッドがありますが、カスタムModelをタイムラインに表示すると同じように、モジュールをincludeするだけで大抵のインターフェイスが備わります。
こちらにincludeするのは、Retriever::Model::UserMixin
です。
実装すべきメソッド
profile_image_url
アイコン画像のURLを文字列で返します。いまのところ、アイコンは省略することができません。
name
ユーザの名前です。
idname
ユーザのスクリーンネームです。ただし、スクリーンネームはTwitter独自の機能なので、nil
を返すことができます。その場合、タイムライン上には名前のみが表示されるようになります。