diff options
author | David Elliott <david@philosophie.is> | 2016-06-21 07:40:54 -0700 |
---|---|---|
committer | Jon Moss <me@jonathanmoss.me> | 2016-06-21 16:37:52 -0400 |
commit | 7ea502ae141fc26b736c7a73bdf7a676b1f9fc87 (patch) | |
tree | 572a6fedf0757cf3405a6dc00a101721e724c7ef /activerecord/lib/active_record/attribute_set | |
parent | 7ad8093b0eaff02bda6bb2999e8a81a481667aab (diff) | |
download | rails-7ea502ae141fc26b736c7a73bdf7a676b1f9fc87.tar.gz rails-7ea502ae141fc26b736c7a73bdf7a676b1f9fc87.tar.bz2 rails-7ea502ae141fc26b736c7a73bdf7a676b1f9fc87.zip |
[ci skip] better docs for ActiveRecord::AttributeSet::YAMLEncoder#decode
Diffstat (limited to 'activerecord/lib/active_record/attribute_set')
-rw-r--r-- | activerecord/lib/active_record/attribute_set/yaml_encoder.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/attribute_set/yaml_encoder.rb b/activerecord/lib/active_record/attribute_set/yaml_encoder.rb index 6208048231..fd063555ec 100644 --- a/activerecord/lib/active_record/attribute_set/yaml_encoder.rb +++ b/activerecord/lib/active_record/attribute_set/yaml_encoder.rb @@ -7,6 +7,11 @@ module ActiveRecord @default_types = default_types end + # Populate +coder+ with 'concise_attributes' using +attribute_set+. + # + # If any attribute's name matches a +default_types+ key, then the + # attribute will be cast by passing +nil+ to + # ActiveRecord::Attribute#with_type. def encode(attribute_set, coder) coder['concise_attributes'] = attribute_set.each_value.map do |attr| if attr.type.equal?(default_types[attr.name]) @@ -17,6 +22,18 @@ module ActiveRecord end end + # Decode a previously encoded +coder+. + # + # +coder+ should be the result of previously encoding an Active Record + # model, using #encode. + # + # If +coder+ contains an 'attributes' key, then #decode returns the value + # under the 'attributes' key. + # + # Otherwise, #decode will build an attributes hash from the provided coder, + # using its value under 'concise_attributes', while casting any nil types + # using default_types. The resulting hash is used to return a new + # ActiveRecord::AttributeSet. def decode(coder) if coder['attributes'] coder['attributes'] |