diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2014-09-30 15:09:38 -0300 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2014-09-30 15:09:38 -0300 |
commit | 09975bb24c56f00d47fce1b37dffe25be0a9a167 (patch) | |
tree | 8505a79084ce72356a601778c3e688ed9160f881 /activemodel | |
parent | 098158c38f97bb2f4486da4834e83b8f09fdad7d (diff) | |
parent | 291f64469fb575daad7a293a4cd3c0ec2911e25c (diff) | |
download | rails-09975bb24c56f00d47fce1b37dffe25be0a9a167.tar.gz rails-09975bb24c56f00d47fce1b37dffe25be0a9a167.tar.bz2 rails-09975bb24c56f00d47fce1b37dffe25be0a9a167.zip |
Merge pull request #17114 from pabloh/replace_use_of_eval_with_lambda
Refactor callback setup to use lambda instead of eval
Diffstat (limited to 'activemodel')
-rw-r--r-- | activemodel/lib/active_model/validations.rb | 2 | ||||
-rw-r--r-- | activemodel/lib/active_model/validations/callbacks.rb | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/activemodel/lib/active_model/validations.rb b/activemodel/lib/active_model/validations.rb index b5b8ce1257..718fc78605 100644 --- a/activemodel/lib/active_model/validations.rb +++ b/activemodel/lib/active_model/validations.rb @@ -156,7 +156,7 @@ module ActiveModel 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 diff --git a/activemodel/lib/active_model/validations/callbacks.rb b/activemodel/lib/active_model/validations/callbacks.rb index e22d8a81c0..1a5192b0ff 100644 --- a/activemodel/lib/active_model/validations/callbacks.rb +++ b/activemodel/lib/active_model/validations/callbacks.rb @@ -58,7 +58,7 @@ module ActiveModel 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 @@ module ActiveModel 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 |