diff --git a/lib/dm-validations.rb b/lib/dm-validations.rb
index <HASH>..<HASH> 100644
--- a/lib/dm-validations.rb
+++ b/lib/dm-validations.rb
@@ -41,13 +41,13 @@ module DataMapper
           def create(attributes = {}, context = :default)
             resource = new(attributes)
             return resource unless resource.valid?(context)
-            resource.save
+            resource.save!(context)
             resource
           end
 
-          def create!(attributes = {})
+          def create!(attributes = {}, context = :default)
             resource = new(attributes)
-            resource.save!
+            resource.save!(context)
             resource
           end
         end
@@ -59,7 +59,7 @@ module DataMapper
     #
     def save_with_validations(context = :default)
       return false unless valid?(context)
-      save!
+      save!(context)
     end
 
     # Return the ValidationErrors
Ensure that context gets passed to Resource#save!

Because of the way hooks are implemented, you cannot hook
save_with_validations (save), but instead you always hook
Resource#save (save!). Since dm-core's save method takes
an optional context (but does nothing with it), I've updated
dm-validations to call save!(context), which allows you do
hook :save, and get the context it was saved in.