プロジェクト

全般

プロフィール

機能 #863

機能 #862: カスタムModel

カスタムEntity

toshi_a 初音約1年前に追加. 約1年前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
開始日:
2016-08-20
期日:
進捗率:

0%

プラグイン名:

説明

それぞれのModelがサポートするSNS等に最適化したEntityのサブクラスを用意し、提供する仕組みを作る。
はてな系の投稿であれば「id:xxx」形式の文字列をユーザにリンクしたり、Slackであれば「#channel」をチャンネルにリンクする、といった使い分けを想定する。Slackのチャンネルが、Twitterのハッシュタグのように、同じフォーマットで意味の違うものを適切に扱う狙いがある。

(プラグインが定義する)Modelは、以下の標準Entityのうちのいずれか又は、それらを継承した独自のEntityをModelに持たせることができる。

BlankEntity

一切自動的にリンクをつけない。文字列のインデックスを指定して、その範囲にだけリンクを貼る

WebEntity

URLを自動的にリンクにする。

TwitterEntity

@idname、#hashtagをリンクにする等(今のEntityと同じもの)


関連するチケット

ブロック元 バグ #869: 全てのt.coドメインのURLを、tweet entityを利用せずに展開している 終了 2016-09-01

関係しているリビジョン

リビジョン a83fb55d (差分)
toshi_a 初音約1年前に追加

基本的なEntityを数種類用意 refs #863

リビジョン cf469f00 (差分)
toshi_a 初音約1年前に追加

MessageはTweetEntityを利用する refs #863

TweetのEntity情報を元にEntityを構築する

リビジョン d91f3a59 (差分)
toshi_a 初音約1年前に追加

URLを自動的にリンクにするEntity refs #863

リビジョン ad940564 (差分)
toshi_a 初音約1年前に追加

Modelが返すEntityのクラスを設定するメソッド refs #863

Retriever::Model.entity_class を追加

リビジョン 6ad65c45 (差分)
toshi_a 初音約1年前に追加

古いEntityクラスを削除 refs #863

履歴

#1 toshi_a 初音約1年前に更新

  • ステータス新規 から 進行中 に変更

#2 toshi_a 初音約1年前に更新

  • ブロック元 バグ #869: 全てのt.coドメインのURLを、tweet entityを利用せずに展開している を追加

#3 toshi_a 初音約1年前に更新

もはやEntityは新しいクラスを使うようになって今までの全てのModel共用のEntityクラスとそれが定義されているファイル source:core/entity.rb は必要なくなったはずなので、削除する

#4 toshi_a 初音約1年前に更新

  • ステータス進行中 から 終了 に変更

他の形式にエクスポート: Atom PDF