メンション処理が楽になるgemのmentionableでメンションを送るタイミング(hook)を変更できるようにしました。

Discovery mentions from ActiveRecord column. - komagata/mentionable

class Comment
  mentionable_as :body, on_mention: :after_commit_mention, hook_name: :after_commit

  def after_commit_mention(new_mentions)
    p new_mentions # Send notification if you want.
  end
end
$ rails runner "Comment.create(body: '@nobunaga @hideyosi Hi guys.')"
["@nobunaga", "@hideyosi"]

hook_nameを指定できるようにしました。ActiveRecordのcallbackのタイミングのうち、デフォルトはafter_saveですが、after_commitとかに変更できます。

commitが確定した後じゃないと困る場合があるからです。

Comments


Option