*Edge* * ActiveModel::Observer#add_observer! It has a custom hook to define after_find that should really be in a ActiveRecord::Observer subclass: def add_observer!(klass) klass.add_observer(self) klass.class_eval 'def after_find() end' unless klass.respond_to?(:after_find) end * Change the ActiveModel::Base.include_root_in_json default to true for Rails 3 [DHH] * Add validates_format_of :without => /regexp/ option. #430 [Elliot Winkler, Peer Allan] Example : validates_format_of :subdomain, :without => /www|admin|mail/ * Introduce validates_with to encapsulate attribute validations in a class. #2630 [Jeff Dean] * Extracted from Active Record and Active Resource.