Commit 255ebed

mo khan <mo@mokhan.ca>
2013-07-21 00:04:12
inline insertion
1 parent e083709
Changed files (2)
lib/humble/database_table.rb
@@ -20,19 +20,18 @@ module Humble
 
     def persist(connection, item)
       if has_default_value?(item)
-        id = connection[@name].insert(insert(item))
-        item.instance_variable_set('@id', id)
+        insert(item, connection[@name])
       else
         connection[@name].update(update(item))
       end
     end
 
+    private
+
     def has_default_value?(item)
       primary_key_column.default == item.id
     end
 
-    private
-
     def primary_key_column
       @columns.find { |x| x.primary_key? }
     end
@@ -43,10 +42,8 @@ module Humble
       end
     end
 
-    def insert(item)
-      prepare_statement do |column|
-        column.prepare_insert(item)
-      end
+    def insert(item, connection)
+      item.instance_variable_set('@id', connection.insert(prepare_statement { |column| column.prepare_insert(item) }))
     end
 
     def update(item)
Gemfile.lock
@@ -1,7 +1,7 @@
 PATH
   remote: .
   specs:
-    humble (0.0.1374364685)
+    humble (0.0.1374365008)
       sequel
 
 GEM