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

お知らせにあるWIPの処理をnewspaperに置き換える #5616

Merged

Conversation

akingo55
Copy link
Contributor

@akingo55 akingo55 commented Oct 2, 2022

Issue

変更点

お知らせのWIPの処理をnewspaperに置き換えました。
お知らせの新規作成時、更新時にお知らせを公開するときの処理に影響があります。
見た目上、動作上の変更はありません。

確認方法

※ローカルにfeature/replace-announce-processing-from-callback-to-newspaperブランチを落として切り替えてください。

  1. mentormentaroでログインする
  2. お知らせを新規作成し、「全員」に「公開」し、お知らせが公開されていることを確認する

image

  1. 一度ログアウトし、別のユーザーでログインする(今回はkomagataでログインしました)
  2. 通知にさきほど公開したお知らせの通知が来ていることを確認する

image

  1. bin/rails cで最新のお知らせを取得し、published_atに公開日時が入っていることを確認する
irb(main):004:0> Announcement.last
  Announcement Load (0.8ms)  SELECT "announcements".* FROM "announcements" ORDER BY "announcements"."id" DESC LIMIT $1  [["LIMIT", 1]]
=>
#<Announcement:0x000000010aba2538
 id: 1061722995,
 title: "おしらせテスト4",
 description: "ああああああああ",
 created_at: Sun, 02 Oct 2022 13:56:42.444950000 JST +09:00,
 updated_at: Sun, 02 Oct 2022 13:57:11.395091000 JST +09:00,
 user_id: 534981761,
 target: "all",
 wip: false,
 published_at: Sun, 02 Oct 2022 13:57:11.394889000 JST +09:00>
irb(main):005:0>

Comment on lines 5 to 6
return if announce.wip?
return unless !announce.wip && announce.published_at.nil?
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

もともとafter_first_publishメソッドは、after_createafter_updateメソッドから呼び出されているので、同一条件下で呼び出されるようにしています。
https://github.com/fjordllc/bootcamp/blob/main/app/models/announcement_callbacks.rb#L26

@akingo55
Copy link
Contributor Author

akingo55 commented Oct 2, 2022

@AyakaTakashima
お疲れ様です!
以前newspaperの置き換えのIssueを対応されていたかと思うので、こちらのPRをレビューしていただきたいです!:pray:
お手隙によろしくお願いします!

@akingo55 akingo55 self-assigned this Oct 2, 2022
Copy link
Contributor

@AyakaTakashima AyakaTakashima left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@akingo55
お疲れ様です!
レビュー依頼ありがとうございます!
動作、コード共に問題ないと思います🎉
approveさせていただきます🙌

@akingo55
Copy link
Contributor Author

akingo55 commented Oct 3, 2022

@AyakaTakashima
ありがとうございます!

@komagata
メンバーのレビューが通りましたので、お手隙にご確認お願いします🙏🏻

Copy link
Member

@komagata komagata left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

conflictの修正をお願いします〜

@akingo55 akingo55 force-pushed the feature/replace-announce-processing-from-callback-to-newspaper branch from fb596f7 to c576708 Compare October 5, 2022 13:53
@akingo55
Copy link
Contributor Author

akingo55 commented Oct 5, 2022

@komagata
コンフリクト解消しましたので、再度確認お願いします:pray:

@komagata
Copy link
Member

komagata commented Oct 6, 2022

@akingo55 すみません、またconflictが起こってしまったので修正をお願いします〜

@akingo55 akingo55 force-pushed the feature/replace-announce-processing-from-callback-to-newspaper branch from 9b00164 to beae3a4 Compare October 10, 2022 09:11
@akingo55
Copy link
Contributor Author

@komagata
遅くなりすみません:pray:
再度コンフリクト解消しましたので、ご確認お願いします!

@@ -0,0 +1,10 @@
# frozen_string_literal: true

class AnnouncementNotifier
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

やっていることがpublished_atの更新なので、AnnouncementNotifer(お知らせ通知)という名前だと見る人が混乱するかもです。

Comment on lines 5 to 6
return if announce.wip?
return unless !announce.wip && announce.published_at.nil?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

元々は別々のところにあったコードなので、この条件であればもっとシンプルに書けると思います。

@akingo55 akingo55 force-pushed the feature/replace-announce-processing-from-callback-to-newspaper branch 2 times, most recently from b89d3aa to 909edab Compare October 17, 2022 15:26
@akingo55
Copy link
Contributor Author

@komagata
すみません、遅くなりました:pray:
修正完了しましたので、再度レビューお願いします。

Copy link
Member

@komagata komagata left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

conflictの修正をお願いします〜。

それと、既にあればOKですが、お知らせのWIPの処理がちゃんと動いているかのテストがなければ追加をお願いします〜
(この処理が間違っていると、お知らせの通知が全ユーザーに飛んでしまったりと影響範囲が大きいためです。)

@akingo55 akingo55 force-pushed the feature/replace-announce-processing-from-callback-to-newspaper branch from 3ecf1e0 to fd6b3ef Compare October 25, 2022 14:43
@akingo55
Copy link
Contributor Author

akingo55 commented Oct 26, 2022

@komagata
コンフリクト修正&announcementの処理を1つにまとめました。(処理が散らばっておりわかりづらかったため)
開発環境にて以下の動作確認済みです。

  • お知らせがwipの時は通知飛ばないこと(published_atはnullでwiptrueであること)
  • お知らせ公開された時は通知が飛ぶこと
  • 公開時にはpublished_atに日時が入り, wipカラムがfalseに更新されること

テストはこちらのPRで追加されていたので、新規追加分はなさそうです。
https://github.com/fjordllc/bootcamp/pull/5662/files

再レビューお願いします。:pray:

@akingo55
Copy link
Contributor Author

@komagata
お手数ですが、こちらレビューお願いいたします。🙇‍♀️

@@ -18,9 +18,6 @@ class Announcement < ApplicationRecord
belongs_to :user
alias sender user

after_create AnnouncementCallbacks.new
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@@ -2,6 +2,11 @@

class AnnouncementNotifier
def call(announce)
return if announce.wip? || !announce.published_at.nil?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
return if announce.wip? || !announce.published_at.nil?
return if announce.wip? || announce.published_at.present?

二重否定よりこちらの方が良いかもです〜

Copy link
Contributor Author

@akingo55 akingo55 Oct 31, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@komagata
ありがとうございます!
こちら修正しました:pray:
a21f8e2

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@komagata
こちら再度確認お願いしますmm

@akingo55
Copy link
Contributor Author

@komagata 確認お願いします!

@komagata
Copy link
Member

@akingo55 マージコミットが含まれているようなので、rebaseの方式で、マージコミットができないようにお願いします〜

@akingo55 akingo55 force-pushed the feature/replace-announce-processing-from-callback-to-newspaper branch from 798db1e to afc04b7 Compare November 13, 2022 04:43
@akingo55
Copy link
Contributor Author

@komagata
すみません!マージコミット消しましたので再度確認お願いします!

Copy link
Member

@komagata komagata left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

確認させて頂きました。OKです〜🙆‍♂️

@komagata komagata merged commit 01002d3 into main Nov 14, 2022
@komagata komagata deleted the feature/replace-announce-processing-from-callback-to-newspaper branch November 14, 2022 14:09
@github-actions github-actions bot mentioned this pull request Nov 14, 2022
19 tasks
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.

3 participants