Class | ActiveRecord::Base |
In: |
lib/delayed/serialization/active_record.rb
lib/delayed/psych_ext.rb |
Parent: | Object |
# File lib/delayed/serialization/active_record.rb, line 5 5: def self.yaml_new(klass, tag, val) 6: if ActiveRecord::VERSION::MAJOR == 3 7: klass.unscoped.find(val['attributes'][klass.primary_key]) 8: else # Rails 2 9: klass.with_exclusive_scope { klass.find(val['attributes'][klass.primary_key]) } 10: end 11: rescue ActiveRecord::RecordNotFound 12: raise Delayed::DeserializationError, "ActiveRecord::RecordNotFound, class: #{klass} , primary key: #{val['attributes'][klass.primary_key]} " 13: end
serialize to YAML
# File lib/delayed/psych_ext.rb, line 4 4: def encode_with(coder) 5: coder["attributes"] = @attributes 6: coder.tag = ['!ruby/ActiveRecord', self.class.name].join(':') 7: end