Fixed readme for ActiveModel::Dirty

This commit is contained in:
Mikel Lindsaar 2010-01-16 22:21:07 +11:00
parent d1bedd182b
commit db274a02ed
1 changed files with 22 additions and 4 deletions

View File

@ -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']}
{Learn more}[link:classes/ActiveModel/Dirty.html]