aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/CHANGELOG.md
diff options
context:
space:
mode:
authorYoshiyuki Hirano <yhirano@me.com>2017-12-16 10:55:52 +0900
committerYoshiyuki Hirano <yhirano@me.com>2017-12-20 00:27:19 +0900
commit470d0e459f2d1cb8e6d5c0a8a2fe3282ca65690e (patch)
tree100a0689006c2b7c59b95d9150702169345eef8f /activemodel/CHANGELOG.md
parent011f76e57b145b9e5ef1fd520df7d7096cf8896a (diff)
downloadrails-470d0e459f2d1cb8e6d5c0a8a2fe3282ca65690e.tar.gz
rails-470d0e459f2d1cb8e6d5c0a8a2fe3282ca65690e.tar.bz2
rails-470d0e459f2d1cb8e6d5c0a8a2fe3282ca65690e.zip
Fix validation callbacks on multiple context
I found a bug that validation callbacks don't fire on multiple context. So I've fixed it. Example: ```ruby class Dog include ActiveModel::Validations include ActiveModel::Validations::Callbacks attr_accessor :history def initialize @history = [] end before_validation :set_before_validation_on_a, on: :a before_validation :set_before_validation_on_b, on: :b after_validation :set_after_validation_on_a, on: :a after_validation :set_after_validation_on_b, on: :b def set_before_validation_on_a; history << "before_validation on a"; end def set_before_validation_on_b; history << "before_validation on b"; end def set_after_validation_on_a; history << "after_validation on a" ; end def set_after_validation_on_b; history << "after_validation on b" ; end end ``` Before: ``` d = Dog.new d.valid?([:a, :b]) d.history # [] ``` After: ``` d = Dog.new d.valid?([:a, :b]) d.history # ["before_validation on a", "before_validation on b", "after_validation on a", "after_validation on b"] ```
Diffstat (limited to 'activemodel/CHANGELOG.md')
-rw-r--r--activemodel/CHANGELOG.md4
1 files changed, 4 insertions, 0 deletions
diff --git a/activemodel/CHANGELOG.md b/activemodel/CHANGELOG.md
index 2dfde11707..b67a803b9d 100644
--- a/activemodel/CHANGELOG.md
+++ b/activemodel/CHANGELOG.md
@@ -1,3 +1,7 @@
+* Fix to working before/after validation callbacks on multiple contexts.
+
+ *Yoshiyuki Hirano*
+
## Rails 5.2.0.beta2 (November 28, 2017) ##
* No changes.