Rename private method initialize_attributes.
Change #attributes= precedence.
Pick accessor over write_attribute. Did not have any specs for this either way so I won't consider it a breaking change.
Move @attributes hash defaulting to dirty module
This is where the error was happening technically.
Raise exception on write attribute if attribute not found.
No need for except anymore.
Id is no longer included with persisted_attributes.
Id is not an attribute that should be persisted.
Since there was not a spec asserting that id was included, I'm not going to consider this a breaking change.
Rework persisting to use persist method.
All other stuff happens in create/update. This allows someone to override persist safely with whatever they want and not mess with the other settings that happen around object persisting (@_new_record and return value).
More tests for #save.
Move list option specs to be close to each other.
Allow changing attribute_type option for lists.
Only used for list so just moved stuff to list.
Just a new gem so the homepage updates on rubygems.
Change homepage in gemspec.
Update readme with compatibility.
Link ci image to travis.
Tweak ci image.
Add travis image to readme.
OH WHAT A README!
Added toy store example.
Switch to pp for object examples
Added Toy::Object example.
Separated object and association serialization.
Moved object serialization into Toy::Object and included association
serialization in Toy::Store.
Technically timestamps needs attrs and callbacks.
Ensure that id always inspects first.
Other attributes are sorted by name alpha
Added pretty inspect for classes.
Make reference proxy return true nil if target not found
Merge branch 'inheritance'