diff --git a/activemodel/README b/activemodel/README index 1d987605c0..c0d59f7208 100644 --- a/activemodel/README +++ b/activemodel/README @@ -13,7 +13,7 @@ to then present a common interface to the Action Pack helpers. You can include functionality from the following modules: -* Callbacks +* Adding callbacks to your class class MyClass extend ActiveModel::Callbacks @@ -31,3 +31,11 @@ You can include functionality from the following modules: {Learn more}[link:classes/ActiveModel/CallBacks.html] +* For classes that already look like an Active Record object + + class MyClass + include ActiveModel::Conversion + end + + ...returns the class itself when sent :to_model + diff --git a/activemodel/lib/active_model/conversion.rb b/activemodel/lib/active_model/conversion.rb index d5c65920f6..c14a07c7dc 100644 --- a/activemodel/lib/active_model/conversion.rb +++ b/activemodel/lib/active_model/conversion.rb @@ -1,5 +1,16 @@ module ActiveModel - # Include ActiveModel::Conversion if your object "acts like an ActiveModel model". + # If your object is already designed to implement all of the Active Model featurs + # include this module in your Class. + # + # class MyClass + # include ActiveModel::Conversion + # end + # + # Returns self to the :to_model method. + # + # If your model does not act like an Active Model object, then you should define + # :to_model yourself returning a proxy object that wraps your object + # with Active Model compliant methods. module Conversion def to_model self