提交 09975bb2 编写于 作者: R Rafael Mendonça França

Merge pull request #17114 from pabloh/replace_use_of_eval_with_lambda

Refactor callback setup to use lambda instead of eval
......@@ -156,7 +156,7 @@ def validate(*args, &block)
if options.key?(:on)
options = options.dup
options[:if] = Array(options[:if])
options[:if].unshift lambda { |o|
options[:if].unshift ->(o) {
Array(options[:on]).include?(o.validation_context)
}
end
......
......@@ -58,7 +58,7 @@ def before_validation(*args, &block)
if options.is_a?(Hash) && options[:on]
options[:if] = Array(options[:if])
options[:on] = Array(options[:on])
options[:if].unshift lambda { |o|
options[:if].unshift ->(o) {
options[:on].include? o.validation_context
}
end
......@@ -98,7 +98,9 @@ def after_validation(*args, &block)
options[:if] = Array(options[:if])
if options[:on]
options[:on] = Array(options[:on])
options[:if].unshift("#{options[:on]}.include? self.validation_context")
options[:if].unshift ->(o) {
options[:on].include? o.validation_context
}
end
set_callback(:validation, :after, *(args << options), &block)
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册