[Cross-posted at http://www.ruby-forum.com/forum/4\]
In the first run of the sell-out Magic Models - "I can't believe its an ActiveRecord" - Super Show - you were amazed as we stripped away the necessary essentials of an ActiveRecord - right in front of your eyes - the necessary became unnecessary.
We removed the validates_presence_of validations... and the Magic Model still validated.
We removed the has_many, belongs_to, and has_many :through associations... and the Magic Model still associated.
We removed the actual class definition itself - the very thing that provides the ActiveRecord CRUD layer... and the Magic Model still CRUDded.
In the new Magic Models, Virtual Validations get Virtuous!
g = Group.new g.name = "x" * 51
=> "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
g.valid?
=> false
g.errors.full_messages
=> ["Name is too long (maximum is 50 characters)"]
All this and more in 0.8.0 of Dr Nic's Magic Models http://drnicwilliams.com/2006/09/21/dr-nic-magic-models-validate-anything-anytime-anywhere/
Its magic like this that makes programming fun ![]()