bootcamp
bootcamp copied to clipboard
イベント購読で参加済特別イベントに文言を追加し、参加している定期イベントも反映させた
Issue
- https://github.com/fjordllc/bootcamp/issues/6607
概要
現在の仕様だと、イベント購読ボタンをクリックすると、参加・不参加関係無しに、全ての特別イベントがカレンダーに反映される。 その仕様を変更し、イベント購読ボタンをクリックすると、特別イベントと参加済みの定期イベント(その日から1年分)がカレンダーに反映されるようにした。 また特別イベントのうち、参加済みのものにはイベント名の前に【参加登録済】の文言が追加されるようにした。
変更確認方法
イベント購読の実装のPRは以下になっています。 確認方法が少々複雑になっているため、先にこちらに目を通していただくとスムーズになると思います。
- https://github.com/fjordllc/bootcamp/pull/6276
-
feature/event-subscriptions-reflect-regular-events-participating-in
をローカルに取り込む -
bin/setup
とrails db:reset
を実行 -
komagata
でログイン - 上記のPRの説明を参考にイベント購読をする
- イベントの反映と以下の点を確認する
- 特別イベントについて 「ダッシュボード表示確認用テストイベント(明後日用)」が追加されていることを確認 「【参加登録済】カレンダー上での参加確認用テスト」が追加されていることを確認
- 定期イベントについて 開発MTGが追加されていることを確認 開発MTGの開催予定日が祝日だった場合、その日には表示がないことを確認 開催予定日は毎週日曜日、第1月曜日、第2月曜日15:00 〜 16:00 (直近だと5月6日が開催日予定かつ祝日のため、表示がないのを確認)
Screenshot
変更前
特別イベントのみ
変更後
特別イベント+参加済みの定期イベント
特別イベントも参加済みとそうでないものの区別ができる
祝日に開催されない定期イベントは表示されない
@unikounio おつかれさまです! こちらのPRのレビューをお願いしてもよろしいでしょうか? お忙しい等あればその旨お伝えいただけると助かりますm(__)m
@a-terumoto-gs さん お疲れ様です! こちら1週間以内にお返事させていただく形でもよろしいでしょうか? もしお急ぎであれば別の方にご依頼していただいた方がいいかもしれません🙏 よろしくお願いいたします。
@unikounio コメントありがとうございます! 急ぎではないので、よろしくお願いいたします!
@unikounio レビューコメントありがとうございます! こちら修正いたしました!確認よろしくお願いいたします。
@unikounio ありがとうございました(*'▽')!
@komagata メンバーの方にApproveいただきましたので、レビューをお願いしたいですm(__)m
@komagata お疲れ様です! いただいたコメントをもとに修正をしています。確認よろしくお願いいたします。
@a-terumoto-gs 3つのクラスともにコンストラクタ・インスタンス変数が使われていないので、手続き型の設計になってしまっているようです。データを中心に設計してみてください~
@komagata すこし修正してみましたが、いかがでしょうか? もっと根本的な設計変更が必要でしょうか?
@a-terumoto-gs 根本的に再設計してみてください。 現状はあくまでほぼ「メソッド」メインで作られています。データ中心で設計してみてください。
:memo:
Event
RegularEvent
EventCalendar
@events # 定期イベントと自分の参加しているイベント
CalendarsController -> index.ics.ruby
@events # 後はicalにするだけのデータ
@komagata お疲れ様です! 先日のお話をもとにクラス構成を考え直してみました。 確認よろしくお願いいたしますm(__)m
@a-terumoto-gs Event関連の大きいPRがマージされたのでmainの最新を取り込んでみてください~
@komagata 最新のmainを取り込んで、追加されていたテストが通るように修正してpushしております! 確認よろしくお願いいたしますm(__)m
@a-terumoto-gs mainを取り込んだことでUpcomingEventモデルなども追加されましたが、そちらも活用できないでしょうか?
@komagata UpcomingEventモデルは直近のイベントの取得に特化している形だったので今回使えそうなものはなかったのですが、そちらを実装したPRでRegularEventクラスに追加されていたall_scheduled_datesメソッドが活用できそうだったのでイベント日程の取得期間に少し手を加えて使う形にしてみました。 いかがでしょうか?
@komagata 修正しております!お手すきの際にご確認お願いしますm(__)m
@komagata 修正しております。お手すきの際にご確認お願いしますm(__)m
@a-terumoto-gs conflictの修正をお願いします。
@komagata conflict解消して、他PRでの実装を受けて必要になったテストの修正まで行っておりますm(__)m