nomlab / camome

CAMOME MOtivates ME
1 stars 11 forks source link

Clamを表示するInboxについて,すべての種類のClamに対応させる #31

Closed yoshida564 closed 8 years ago

yoshida564 commented 8 years ago

Created from AI0113 of minute 212.

tsubokawa-t commented 8 years ago

Inboxに表示するカラムを検討した. Inboxに表示するカラムは各Resourceで共通する要素が妥当と考える. そこで,共通する要素を洗い出すため,リスト表示した場合に表示したい要素をResourceごとに検討した. この結果以下のようになった.

Mail

  1. 件名(summaryに該当)
  2. 送受信日時(dateに該当)
  3. 送信者

Slak

  1. 発言の概要(最初の数文字or発言内容を象徴する文字列)(summaryに該当)
  2. 発信日時(dateに該当)
  3. 発信者

Evernote

  1. ノート名(summaryに該当)
  2. 更新日時(dateに該当)

Toggl

  1. 作業名(summaryに該当)
  2. 開始時刻
  3. 終了時刻(dateに該当)

Event

  1. 件名(summaryに該当)
  2. 更新日時(dateに該当)
  3. 実施日時

Document

  1. ファイル名(summaryに該当)
  2. 更新日時(dateに該当)
  3. ファイルの種類
  4. 作成者

上記の結果より,Clamのカラムの中ですべてのResourceに共通する要素はsummaryとdateである. このため,Inboxに表示するカラムはsummaryとdateが適当であると考える.

現在,Inbox上でClamをクリックした際に表示する内容について,Resourceごとのビューを検討している.

残されたTODOとして以下の2つがある.

  1. Clamをクリックした際,Resourceごとに必要なビューを返すレンダラの実装
  2. メールに依存した実装の削除
kobayashi1027 commented 8 years ago

Clamをクリックした際に表示する内容(Resource別)

Resource::Mail

01_mail

Resource::Slack

02_slack

Resource::Evernote

03_evernote

Resource::Toggl

04_toggl

Resource::Event

05_event

Resource::Document

06_document

tsubokawa-t commented 8 years ago

Clamをクリックした際に種類に応じたビューを返すレンダラを実装した. このビューは以下の流れで呼び出される.

  1. Inbox上でclamをクリックしたとき,ajaxによりコントローラのメソッド(get_clam_template)にGETリクエストを送信
  2. 1のメソッドはレンダラとなるテンプレート(clam_template.html.erb)を返却
    1. clamの種類に応じて部分テンプレートを呼出し
    2. clamのパラメータでテンプレートを完成
  3. 2で返却されたデータ(html形式)をクリックしたclamの下に挿入

残された課題として以下の2つがある.

  1. Clamの種類ごとのビューの作成
  2. メールに依存した実装の削除
tsubokawa-t commented 8 years ago

以下の修正を行った.

  1. メソッド名を変更 (get_clam_templateからshow_snippet)
  2. 1のメソッドをclam_controllerに移動
  3. 1のメソッドを呼び出す際のルーティングを変更 (missions/clam_templates/:idからclams/:id/snippets)

また,簡単にではあるが,Clamの種類ごとのビューを作成した.