1) read my response to the ticket:
An abstract model means you can inherit from it without using STI.
class SuperModel < AR::Base
self.abstract_class = true
class Foo < SuperModel
# => 'foos'
It's used in the CachedModel plugin. I'm not sure why it's a class
and not a mixin though, but ok.
2) Two ideas, one is really hackish.
The hackish way:
The second is directly including ActiveRecord::Validations into your
class. You may have to implement some of the ActiveRecord API for
this though. I'm pretty sure the wiki has some info on this.