Project

General

Profile

機能 #899

ツイートする内容を新しいMessageインスタンスに格納し、その内容を投稿する仕組み

Added by toshi_a 初音 about 3 years ago. Updated almost 3 years ago.

Status:
却下
Priority:
通常
Assignee:
-
Target version:
Start date:
2016-09-27
Due date:
% Done:

0%

プラグイン名:

Description

tweetはどんどん複雑になっていて、 #890 のような仕様変更・追加で投稿APIのインターフェイスがどんどん変わっていってる。
この変化を吸収し、クライアントサイドバリデーションの仕組みを共通化するために、Messageクラスに新しいtweetを作成する機能を追加する。

# いままで
Service.primary.post(
  message: "魔剤ンゴ!?",
  receiver: toshi_a,
  replyto: parent_message,
  mediaiolist: [...]
)
# 新しいの
Message.new(
  user: Service.primary.user_obj,
  body: "魔剤ンゴ!?",
  receivers: [User.findbyidname('toshi_a'), ...],
  replyto: parent_message,
  attachments: [...]
).compose

利点

学習コスト低減

ReadとWriteのインターフェイスがMessageに統一されることで、フィールドの名前を知ることでTweetからの値の読み出し・投稿の両方が出来るようになり、覚えることが減る。

投稿前に情報を取得することが容易になる

Messageには現在でも、ツイートに関する情報を集めるためのメソッドがたくさん用意されているが、これを投稿前に利用しながら、バリデーションなどのユーザへの情報の提供ができる。
具体的には、文字列のどの範囲がURLとして扱われるか、hidden header, hidden footerはどこからどこまでかといった情報が提供できると思う。

懸念

IDがない

IDはTwitterが決定するので、新しく作成したインスタンスにはIDがセットされない。Messageを扱う多くの処理が、IDがあることを前提にしているので、後方互換性を保ってこれを行うのは難しいかもしれない。


Related issues

Related to 環境対応 #891: postboxでの文字数カウント終了2016-09-20

Actions
Blocked by 環境対応 #892: ツイート投稿時、auto_populate_reply_metadataパラメータを付けてpostする終了2016-09-20

Actions
Blocked by 機能 #900: PhotoModel終了2016-09-27

Actions

History

#1

Updated by toshi_a 初音 about 3 years ago

  • Blocked by 環境対応 #892: ツイート投稿時、auto_populate_reply_metadataパラメータを付けてpostする added
#2

Updated by toshi_a 初音 about 3 years ago

#3

Updated by toshi_a 初音 about 3 years ago

#4

Updated by toshi_a 初音 almost 3 years ago

  • Status changed from 新規 to 却下

必須となるキーとかが正しく扱えないので見送る

Also available in: Atom PDF