diff options
author | Jeremy Daer <jeremydaer@gmail.com> | 2015-11-03 08:33:46 -0700 |
---|---|---|
committer | Jeremy Daer <jeremydaer@gmail.com> | 2015-11-03 08:33:46 -0700 |
commit | e670611e6002039231a24d547f9a6e053940fb16 (patch) | |
tree | 7acbeba7f649906f8821d7a97412b453cd2c8f3a /activerecord/lib/active_record/errors.rb | |
parent | e4000e3aa78b06bdda39ba0a4d5f1cb5f7d21609 (diff) | |
parent | 266455cf25aba942b8717ceb0269d66f719b5696 (diff) | |
download | rails-e670611e6002039231a24d547f9a6e053940fb16.tar.gz rails-e670611e6002039231a24d547f9a6e053940fb16.tar.bz2 rails-e670611e6002039231a24d547f9a6e053940fb16.zip |
Merge pull request #18774 from yuki24/deprecate-original-exception-infavor-of-cause
Deprecate exception#original_exception in favor of exception#cause
Diffstat (limited to 'activerecord/lib/active_record/errors.rb')
-rw-r--r-- | activerecord/lib/active_record/errors.rb | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/errors.rb b/activerecord/lib/active_record/errors.rb index 533c86a6a9..1cd2c2ef8c 100644 --- a/activerecord/lib/active_record/errors.rb +++ b/activerecord/lib/active_record/errors.rb @@ -94,13 +94,21 @@ module ActiveRecord # Superclass for all database execution errors. # - # Wraps the underlying database error as +original_exception+. + # Wraps the underlying database error as +cause+. class StatementInvalid < ActiveRecordError - attr_reader :original_exception def initialize(message = nil, original_exception = nil) - @original_exception = original_exception - super(message) + if original_exception + ActiveSupport::Deprecation.warn("Passing #original_exception is deprecated and has no effect. " \ + "Exceptions will automatically capture the original exception.", caller) + end + + super(message || $!.try(:message)) + end + + def original_exception + ActiveSupport::Deprecation.warn("#original_exception is deprecated. Use #cause instead.", caller) + cause end end |