Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get events of display month from redis server #48

Merged
merged 13 commits into from
Jul 10, 2017
Merged

Conversation

kjtbw
Copy link
Member

@kjtbw kjtbw commented May 1, 2017

#47 に対するPRである.
redisサーバからイベントを取得して,表示する機能を作成した.
現状では,以下の3つの要素を前提としている.

  • redisサーバがローカルに存在し,カレンダのイベントを保持している.
  • イベントの形式はgoogleカレンダーAPIのEvents:listで取得できる情報のitems以下となっている.
  • イベント取得は月単位で行われ,redisサーバにyyyy-mmのキーで保存されている(月が一桁の場合は,0パティングを行わない).

@kjtbw
Copy link
Member Author

kjtbw commented Jun 7, 2017

現状報告

  • コミットID 1ab7452 の作業内容
    RedisCalendarクラスは,redisとのデータのやりとりを行うクラスのため,RedisCalendarクラスの名前をRedisStoreクラスに変更した.
    DataStoreオブジェクトにはredis以外のkvsも使用される可能性があるため,DataStoreオブジェクトを格納する変数を,redis以外のkvsも想定した変数名に変更した.

  • コミットID 71f1e3c の作業内容
    redisとデータのやりとりをするクラスと,GoogleCalendarのデータを扱うクラスを分離した.
    具体的には,GoogleCalendarのイベントをFullCalendar形式に変換するformat_eventメソッドを,RedisStoreクラスからGoogleCalendarEventクラスに移し,名前をto_fullcalendarに変更した.

  • コミット ID 079c5da の作業内容
    今までは,redisに格納されているカレンダデータの形式が,eventsのitems以下であることを想定していたが,goohubではカレンダデータ全体を保存していたため,redisから取得するデータの形式をgoohubと対応させた.

  • 今後の課題
    複数カレンダを扱い,表示するカレンダを選択できるようにする.

@kjtbw
Copy link
Member Author

kjtbw commented Jun 27, 2017

現状報告

  • コミットID 99f72d4 の作業内容
    GoogleCalendarEventクラスにinitializeメソッドを追加した.
    具体的には,newする際にGoogleClaendarのイベントをインスタンス変数として保持する.
    このクラスはGoogleClaendarのイベントをFullCalendar形式に変換するto_fullcalendarメソッドをもつ.

  • コミットID d79b0e8 の作業内容
    GoogleCalendarのイベントを取得する処理を行うCalendarCollectionクラスを作成した.
    このクラスはnewする際に使用するKVSのクラスを引数にとる.
    そして,scanメソッドにより,KVSからGoogleCalendarのイベントを取得し,FullCalendar形式に変換してcollectionとして返す.
    また,scanメソッドはカレンダに表示する日付の開始日と終了日を引数とする.

@kjtbw
Copy link
Member Author

kjtbw commented Jun 27, 2017

現状報告

GoogleCalendarEventクラス内のto_fullcalendarメソッドにおいて,GoogleCalendarのイベントの時刻を取得する際のキーの指定が間違っていたため,修正した.
今までは,dateTimeというキーでイベントの時刻を取得しようとしていた.
しかし,GoogleCalendarのイベントの時刻を取得するために指定するキーはdate_timeである.
そこで,date_timeキーを用いてイベントの時刻を取得できるように変更した.

@kjtbw
Copy link
Member Author

kjtbw commented Jul 6, 2017

現状報告

  • コミットID ba47f18 の作業内容
    CallendarCollectionクラスに存在するresource変数の名称をdata_storeに変更した.
    resourceという名称は資源となるデータを連想させるが,この変数にはData_Storeモジュールが格納される.
    このため,名称の変更を行った.

  • コミットID b7be099 の作業内容
    GoogleCalendarモジュールを作成し,CalendarCollectionクラスの名称をGoogleCalendar::Calendarに,GoogleCalendarEventクラスの名称をGoogleCalendar::Eventに変更した.
    CalendarCollectionという名称は,複数のカレンダを操作することを連想させる.
    しかし,このクラスは1つのGoogleCalendarを操作する.
    このため,GoogleCalendarモジュールを作成し,名称の変更を行った.
    また,GoogleCalendarモジュールとは別に,GoogleCalendarEventクラスが存在するのは不自然なため,名称の変更を行った.

@kjtbw
Copy link
Member Author

kjtbw commented Jul 6, 2017

現状報告

  • コミットID f51604c の作業内容
    コミットID b7be099 作成時にローカルではCalendarCollectionクラスとGoogleCalendarEventクラスを削除したが,コミットID b7be099 には反映されていなかった.
    そのため,本コミットで削除を反映した.
    また,本コミットのメッセージ中にあるgoogle_calendar_collectionクラスは,Google_Calendar_Eventクラスの間違いである.

@kjtbw
Copy link
Member Author

kjtbw commented Jul 7, 2017

現状報告

  • コミットID 8b520ae の作業内容
    • 今回行ったこと
      (1) RedisStoreクラスのload, store, deleteメソッドがワイルドカードに対応していなかったため,separate_keyメソッドを用いて対応させた.
      (2) goohubがredisにイベントを格納する際のキーは GoogleCalendarID-yyyy-mmの形式である.
      以前は,camomeがredisからイベントを取得する際のキーはyyyy-mmの形式であった.
      そこで,ワイルドカードを用いることにより,現在のgoohubが扱うイベントの形式にcamomeが扱うイベントの形式を対応させた.

@kanzawa2 kanzawa2 merged commit 1c2a77b into nomlab:master Jul 10, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants