<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -12,7 +12,7 @@ module Machinist
       @blueprints[name]
     end
   
-    def make(blueprint_name = :default, attributes = {})
+    def make(blueprint_name = :default, attributes = {}, require_valid = true)
       if !blueprint_name.is_a?(Symbol)
         attributes     = blueprint_name
         blueprint_name = :default
@@ -22,8 +22,11 @@ module Machinist
       raise &quot;No blueprint #{blueprint_name.inspect} for class #{self}&quot; if blueprint.nil?
       lathe = Lathe.new(self.new, attributes)
       lathe.instance_eval(&amp;blueprint)
-      lathe.object.save &amp;&amp; lathe.object.reload
-      lathe.object
+      lathe.save_object(require_valid)
+    end
+
+    def make!(blueprint_name = :default, attributes = {})
+      
     end
   end
   
@@ -39,6 +42,16 @@ module Machinist
 
     attr_reader :object
 
+    def save_object(require_valid = true)
+      if require_valid
+        @object.save!
+      else
+        @object.save
+      end
+      @object.reload unless @object.new_record?
+      @object
+    end
+
     def method_missing(symbol, *args, &amp;block)
       if @assigned_attributes.include?(symbol)
         @object.send(symbol)</diff>
      <filename>lib/machinist.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>3877bb3adc59094bf3859f1b92cd0b7dff523379</id>
    </parent>
  </parents>
  <author>
    <name>rick</name>
    <email>technoweenie@technoweenie.local</email>
  </author>
  <url>http://github.com/technoweenie/machinist/commit/e80448cc35b9497952c4dc8f6d2bc428ed2a623f</url>
  <id>e80448cc35b9497952c4dc8f6d2bc428ed2a623f</id>
  <committed-date>2008-11-01T22:36:30-07:00</committed-date>
  <authored-date>2008-11-01T22:36:30-07:00</authored-date>
  <message>add Foo.make! to allow invalid records</message>
  <tree>26ef46151abce1b0909c0ac13107e5069f7ca0ca</tree>
  <committer>
    <name>rick</name>
    <email>technoweenie@technoweenie.local</email>
  </committer>
</commit>
