aboutsummaryrefslogtreecommitdiffstats
path: root/activejob/lib/active_job/arguments.rb
diff options
context:
space:
mode:
authorCristian Bica <cristian.bica@gmail.com>2014-09-03 15:06:10 +0300
committerCristian Bica <cristian.bica@gmail.com>2014-09-03 15:06:10 +0300
commit57d56aa9330d054ad2cc88da777117a8eee9394b (patch)
treed0688d7830231a52bc825db7c1fff5c74f9758f3 /activejob/lib/active_job/arguments.rb
parente2ce4c7aa3e15ffba9436bd8d179a28351d41e1f (diff)
downloadrails-57d56aa9330d054ad2cc88da777117a8eee9394b.tar.gz
rails-57d56aa9330d054ad2cc88da777117a8eee9394b.tar.bz2
rails-57d56aa9330d054ad2cc88da777117a8eee9394b.zip
[Active Job] Try to deserialize with GlobalID only strings and globalids
Diffstat (limited to 'activejob/lib/active_job/arguments.rb')
-rw-r--r--activejob/lib/active_job/arguments.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/activejob/lib/active_job/arguments.rb b/activejob/lib/active_job/arguments.rb
index 9d4490b0fc..6eeca2861d 100644
--- a/activejob/lib/active_job/arguments.rb
+++ b/activejob/lib/active_job/arguments.rb
@@ -56,8 +56,10 @@ module ActiveJob
argument.map { |arg| deserialize_argument(arg) }
when Hash
Hash[ argument.map { |key, value| [ key, deserialize_argument(value) ] } ].with_indifferent_access
- else
+ when String, GlobalID
GlobalID::Locator.locate(argument) || argument
+ else
+ argument
end
end