diff options
author | Rafael Mendonça França <rafael.franca@plataformatec.com.br> | 2015-02-19 09:08:10 -0200 |
---|---|---|
committer | Rafael Mendonça França <rafael.franca@plataformatec.com.br> | 2015-02-19 09:08:51 -0200 |
commit | e28721baf275891ab8cb4e91e33877d52f5f26e8 (patch) | |
tree | 5419e4858b8b5b25edd16b6af561162c96485b10 /activerecord/CHANGELOG.md | |
parent | 41b9730c6d033ea7f38fae4d18347c5370ff7b6c (diff) | |
download | rails-e28721baf275891ab8cb4e91e33877d52f5f26e8.tar.gz rails-e28721baf275891ab8cb4e91e33877d52f5f26e8.tar.bz2 rails-e28721baf275891ab8cb4e91e33877d52f5f26e8.zip |
Copy edit the suppressor documentation
[ci skip]
Diffstat (limited to 'activerecord/CHANGELOG.md')
-rw-r--r-- | activerecord/CHANGELOG.md | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/activerecord/CHANGELOG.md b/activerecord/CHANGELOG.md index e52c142dc2..57d135d1aa 100644 --- a/activerecord/CHANGELOG.md +++ b/activerecord/CHANGELOG.md @@ -1,29 +1,29 @@ -* Add ActiveRecord::Base.suppress to prevent the receiver from being saved +* Add `ActiveRecord::Base.suppress` to prevent the receiver from being saved during the given block. For example, here's a pattern of creating notifications when new comments are posted. (The notification may in turn trigger an email, a push notification, or just appear in the UI somewhere): - class Comment < ActiveRecord::Base - belongs_to :commentable, polymorphic: true - after_create -> { Notification.create! comment: self, - recipients: commentable.recipients } - end + class Comment < ActiveRecord::Base + belongs_to :commentable, polymorphic: true + after_create -> { Notification.create! comment: self, + recipients: commentable.recipients } + end That's what you want the bulk of the time. New comment creates a new Notification. But there may well be off cases, like copying a commentable and its comments, where you don't want that. So you'd have a concern something like this: - module Copyable - def copy_to(destination) - Notification.suppress do - # Copy logic that creates new comments that we do not want triggering - # notifications. + module Copyable + def copy_to(destination) + Notification.suppress do + # Copy logic that creates new comments that we do not want triggering + # notifications. + end + end end - end - end *Michael Ryan* |