aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activemodel/README26
1 files changed, 22 insertions, 4 deletions
diff --git a/activemodel/README b/activemodel/README
index 46f02aa651..0c558ed85a 100644
--- a/activemodel/README
+++ b/activemodel/README
@@ -41,20 +41,38 @@ You can include functionality from the following modules:
* Tracking changes in your object
- class MyClass
+ class Person
include ActiveModel::Dirty
+
+ define_attribute_methods [:name]
+
+ def name
+ @name
+ end
+
+ def name=(val)
+ name_will_change!
+ @name = val
+ end
+
+ def save
+ @previously_changed = changes
+ true
+ end
end
...provides all the value tracking features implemented by ActiveRecord
- person.name # => 'bill'
+ person = Person.new
+ person.name # => nil
person.changed? # => false
person.name = 'bob'
person.changed? # => true
person.changed # => ['name']
- person.changes # => { 'name' => ['bill', 'bob'] }
+ person.changes # => { 'name' => [nil, 'bob'] }
person.name = 'robert'
person.save
person.previous_changes # => {'name' => ['bob, 'robert']}
- \ No newline at end of file
+
+ {Learn more}[link:classes/ActiveModel/Dirty.html]