I ran into this problem, and, it's not a DJ problem but a YAML and Rails problem. However, since DJ makes use of YAML serializing, it is probably wise to have something like this included in DJ.
#Taken from http://blog.sbf5.com/?p=39
#Basically, when an object is deserialized and the class that was serialized
#doesn't exist, then you get back a YAML object, rather than the object you
#wanted. The fix below will use Rails' autoloading to load the class if it's
#not already there.
YAML::Syck::Resolver.class_eval do
def transfer_with_autoload(type, val)
match = type.match(/object:(\w+(?:::\w+)*)/)
match && match[1].constantize
transfer_without_autoload(type, val)
end
alias_method_chain :transfer, :autoload
end
I ran into this problem, and, it's not a DJ problem but a YAML and Rails problem. However, since DJ makes use of YAML serializing, it is probably wise to have something like this included in DJ.