diff options
author | Yuki Nishijima <mail@yukinishijima.net> | 2015-11-03 06:54:34 -0800 |
---|---|---|
committer | Yuki Nishijima <mail@yukinishijima.net> | 2015-11-03 06:54:34 -0800 |
commit | 266455cf25aba942b8717ceb0269d66f719b5696 (patch) | |
tree | 702f6aab6d160c722fa85f628c06213be12f7763 /activejob/lib | |
parent | d5890bdf660f670271a8f60bd091bd11db4c23b3 (diff) | |
download | rails-266455cf25aba942b8717ceb0269d66f719b5696.tar.gz rails-266455cf25aba942b8717ceb0269d66f719b5696.tar.bz2 rails-266455cf25aba942b8717ceb0269d66f719b5696.zip |
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 |