lib/queue_dispatcher/serialization/active_record.rb
if defined?(ActiveRecord)
class ActiveRecord::Base
yaml_as "tag:ruby.yaml.org,2002:ActiveRecord"
def self.yaml_new(klass, tag, val)
if ActiveRecord::VERSION::MAJOR == 3
klass.unscoped.find(val['attributes'][klass.primary_key])
else # Rails 2
klass.with_exclusive_scope { klass.find(val['attributes'][klass.primary_key]) }
end
rescue ActiveRecord::RecordNotFound
#raise QueueDispatcher::DeserializationError, "ActiveRecord::RecordNotFound, class: #{klass} , primary key: #{val['attributes'][klass.primary_key]} "
'----- QueueDispatcher::DeserializationError -----'
end
def to_yaml_properties
['@attributes']
end
end
end