mirror of
https://github.com/mperham/sidekiq.git
synced 2022-11-09 13:52:34 -05:00
22 lines
633 B
Ruby
22 lines
633 B
Ruby
|
# YAML marshalling of instances can fail in some circumstances,
|
||
|
# e.g. when the instance has a handle to a Proc. This monkeypatch limits
|
||
|
# the YAML serialization to just AR's internal @attributes hash.
|
||
|
# The paperclip gem litters AR instances with Procs, for instance.
|
||
|
#
|
||
|
# Courtesy of @ryanlecompte https://gist.github.com/007b88ae90372d1a3321
|
||
|
#
|
||
|
|
||
|
if defined?(::ActiveRecord)
|
||
|
class ActiveRecord::Base
|
||
|
yaml_as "tag:ruby.yaml.org,2002:ActiveRecord"
|
||
|
|
||
|
def self.yaml_new(klass, tag, val)
|
||
|
klass.unscoped.find(val['attributes'][klass.primary_key])
|
||
|
end
|
||
|
|
||
|
def to_yaml_properties
|
||
|
['@attributes']
|
||
|
end
|
||
|
end
|
||
|
end
|