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 /activejob/lib | |
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 'activejob/lib')
-rw-r--r-- | activejob/lib/active_job/arguments.rb | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/activejob/lib/active_job/arguments.rb b/activejob/lib/active_job/arguments.rb index 8e462bfe5d..e56bc79328 100644 --- a/activejob/lib/active_job/arguments.rb +++ b/activejob/lib/active_job/arguments.rb @@ -3,16 +3,23 @@ require 'active_support/core_ext/hash' module ActiveJob # Raised when an exception is raised during job arguments deserialization. # - # Wraps the original exception raised as +original_exception+. + # Wraps the original exception raised as +cause+. class DeserializationError < StandardError + def initialize(e = nil) #:nodoc: + if e + ActiveSupport::Deprecation.warn("Passing #original_exception is deprecated and has no effect. " \ + "Exceptions will automatically capture the original exception.", caller) + end + + super("Error while trying to deserialize arguments: #{$!.message}") + set_backtrace $!.backtrace + end + # The original exception that was raised during deserialization of job # arguments. - attr_reader :original_exception - - def initialize(e) #:nodoc: - super("Error while trying to deserialize arguments: #{e.message}") - @original_exception = e - set_backtrace e.backtrace + def original_exception + ActiveSupport::Deprecation.warn("#original_exception is deprecated. Use #cause instead.", caller) + cause end end @@ -41,8 +48,8 @@ module ActiveJob # All other types are deserialized using GlobalID. def deserialize(arguments) arguments.map { |argument| deserialize_argument(argument) } - rescue => e - raise DeserializationError.new(e) + rescue + raise DeserializationError end private |