aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/attribute_methods
diff options
context:
space:
mode:
authorGrey Baker <greysteil@gmail.com>2014-12-23 02:30:00 +0000
committerGrey Baker <greysteil@gmail.com>2014-12-23 02:35:12 +0000
commitd318badc269358c53d9dfb4000e8c4c21a94b578 (patch)
tree45d9f6492aea1b6416ae48f036d4cd55f3c8ea72 /activerecord/lib/active_record/attribute_methods
parentd9d865aa40b29b4b5aba71e9f6108eaab7206b1e (diff)
downloadrails-d318badc269358c53d9dfb4000e8c4c21a94b578.tar.gz
rails-d318badc269358c53d9dfb4000e8c4c21a94b578.tar.bz2
rails-d318badc269358c53d9dfb4000e8c4c21a94b578.zip
Don't raise on out-of-range datetimes passed by a user
Diffstat (limited to 'activerecord/lib/active_record/attribute_methods')
-rw-r--r--activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb b/activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb
index 87274dd4e1..777f7ab4d7 100644
--- a/activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb
+++ b/activerecord/lib/active_record/attribute_methods/time_zone_conversion.rb
@@ -12,7 +12,11 @@ module ActiveRecord
if value.is_a?(Array)
value.map { |v| type_cast_from_user(v) }
elsif value.respond_to?(:in_time_zone)
- value.in_time_zone || super
+ begin
+ value.in_time_zone || super
+ rescue ArgumentError
+ nil
+ end
end
end