First and foremost, this should be treated like a very simple little blog, so all revision history has been abstracted out, and it feels like you are just manipulating the Post object. Maybe not a great design decision, but I am pretty sure I am going to stick to this one.
There are some problems with the DataMapper many-to-many implementation and as a result, I had to throw together this little hack.
The loader is actually pretty neat, it lives in lib/db.rb and is designed to avoid the chicken and egg problem of inter-model relations in DataMapper by creating an appropriately named class and importing the DataMapper stuff before including the files.
I want to be able to test our sinatra engine and the blog post model separately.