nomlab / camome

CAMOME MOtivates ME
1 stars 11 forks source link

camomeのRedisサーバへの読み書き機能を実装する #47

Open kjtbw opened 7 years ago

kjtbw commented 7 years ago

Created from AI0382 of minute 437.

kjtbw commented 7 years ago

これによりDataStore.create(type)とすることで,typeごとのDataStoreを生成できる. Redisサーバを利用する際は,DataStore.create(:redis)とすることで,RedisCalenderクラスが.new()される.

DataStore.create(type)とする際に,typeごとに必要な処理をload, store,およびdeleteメソッドとして定義することで,データをどこから取ってくるかを意識せずにデータを読み書きできる.

今後の課題

yoshinari-nomura commented 7 years ago

Where is the code?

kjtbw commented 7 years ago

I add commit in PR #48. The commit ID is b2d6928.

tsubokawa-t commented 7 years ago

現状報告

コミットID 1e16877 にて,Redisに保存されているカレンダの一覧をcamomeに読み込み,サイドメニューに表示するようにした.

カレンダの一覧のデータは,APIにより取得したCalendarCollectionクラスのオブジェクトをJSON形式に変換した文字列をRedisにcalendarsというキーで保存してある. このため,events_controller.rbindexにカレンダの一覧を読み込む処理を追加し,読み込んだデータを_calendar_list.html.erbに渡す.また,サイドメニューには,カレンダの名前と色を表示する.

今後の課題

kjtbw commented 7 years ago

現状報告

コミットID 8f5cdb6 にて,カレンダに表示される予定の色を,カレンダの色に対応させた.

Redisにcalendarsというキーでカレンダの一覧のデータが格納されている. このため,scanメソッド内で,redis.loadを呼び出し,カレンダ一覧の情報を取得した. また,カレンダのイベントはRedisにカレンダID-yyyy-mmというキーで保存されている. そこで,キーからイベントのカレンダIDを取り出し,カレンダ一覧の中からカレンダIDが一致するカレンダの情報を探す. その後,GoogleCalendar::Eventオブジェクトをnewする際に,カレンダの情報から色を引数として与える.

今後の課題