Clarify the role of `ActiveRecord::Core.encode_with`

Fixes #19568
This commit is contained in:
Sean Griffin 2015-03-29 14:09:50 -06:00
parent 445c12f7df
commit 01421d5b62
1 changed files with 8 additions and 4 deletions

View File

@ -305,15 +305,19 @@ module ActiveRecord
_run_initialize_callbacks
end
# Initialize an empty model object from +coder+. +coder+ must contain
# the attributes necessary for initializing an empty model object. For
# example:
# Initialize an empty model object from +coder+. +coder+ should be
# the result of previously encoding an Active Record model, using
# `encode_with`
#
# class Post < ActiveRecord::Base
# end
#
# old_post = Post.new(title: "hello world")
# coder = {}
# old_post.encode_with(coder)
#
# post = Post.allocate
# post.init_with('attributes' => { 'title' => 'hello world' })
# post.init_with(coder)
# post.title # => 'hello world'
def init_with(coder)
coder = LegacyYamlAdapter.convert(self.class, coder)