Move set_options_for_callback into Callbacks::ClassMethods

https://buildkite.com/rails/rails/builds/73736#864bc31e-384d-4e38-8165-0d3256ac3f3d/968-979
This commit is contained in:
Ryuta Kamizono 2020-12-29 16:19:45 +09:00
parent e0d3c6cb4d
commit 6c4306be71

@ -96,6 +96,19 @@ def after_validation(*args, &block)
set_callback(:validation, :after, *args, options, &block)
end
private
def set_options_for_callback(options)
if options.key?(:on)
options[:on] = Array(options[:on])
options[:if] = [
->(o) {
!(options[:on] & Array(o.validation_context)).empty?
},
*options[:if]
]
end
end
end
private
@ -103,18 +116,6 @@ def after_validation(*args, &block)
def run_validations!
_run_validation_callbacks { super }
end
def set_options_for_callback(options)
if options.key?(:on)
options[:on] = Array(options[:on])
options[:if] = [
->(o) {
!(options[:on] & Array(o.validation_context)).empty?
},
*options[:if]
]
end
end
end
end
end