diff options
author | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-06-27 23:43:58 -0300 |
---|---|---|
committer | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2012-08-18 09:55:37 -0300 |
commit | ef52d34d07b2925e1d785a65b6b9e19886b03e35 (patch) | |
tree | 7d69a786a176c2c7c58efaa4c5769813c486a243 /activerecord | |
parent | 5021c13ceaccd7a1b80638bfc564470db22ea520 (diff) | |
download | rails-ef52d34d07b2925e1d785a65b6b9e19886b03e35.tar.gz rails-ef52d34d07b2925e1d785a65b6b9e19886b03e35.tar.bz2 rails-ef52d34d07b2925e1d785a65b6b9e19886b03e35.zip |
Refactor blank date parameter validation
Diffstat (limited to 'activerecord')
-rw-r--r-- | activerecord/lib/active_record/attribute_assignment.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/attribute_assignment.rb b/activerecord/lib/active_record/attribute_assignment.rb index b030e64562..cb8727b281 100644 --- a/activerecord/lib/active_record/attribute_assignment.rb +++ b/activerecord/lib/active_record/attribute_assignment.rb @@ -214,7 +214,7 @@ module ActiveRecord validate_missing_parameters!(name, [1,2,3], values_hash_from_param) # If Date bits were provided but blank, then return nil - return nil if (1..3).any? { |position| values_hash_from_param[position].blank? } + return if blank_date_parameter?(values_hash_from_param) end max_position = extract_max_param_for_multiparameter_attributes(values_hash_from_param, 6) @@ -225,7 +225,7 @@ module ActiveRecord end def read_date_parameter_value(name, values_hash_from_param) - return nil if (1..3).any? {|position| values_hash_from_param[position].blank?} + return if blank_date_parameter?(values_hash_from_param) set_values = [values_hash_from_param[1], values_hash_from_param[2], values_hash_from_param[3]] begin Date.new(*set_values) @@ -243,6 +243,10 @@ module ActiveRecord klass.new(*values) end + def blank_date_parameter?(values_hash) + (1..3).any? { |position| values_hash[position].blank? } + end + # If some position is not provided, it errors out a missing parameter exception. def validate_missing_parameters!(name, positions, values_hash) if missing_parameter = positions.detect { |position| !values_hash.key?(position) } |