 
   # Extensions
 
-  def unauthenticated_routes(_mod) do
-    quote do
-      resources "/registrations", Auth.RegistrationController, only: [:new, :create]
-    end
+  def unauthenticated_routes(mod) do
+    Enum.map([:new, :create], fn action ->
+      if Enum.member?(actions(mod), action) do
+        route_quote(action)
+      else
+        []
+      end
+    end)
   end
 
-  def authenticated_routes(_mod) do
-    quote do
-      get "/registrations/edit", Auth.RegistrationController, :edit
-      get "/registrations", Auth.RegistrationController, :show
-      put "/registrations", Auth.RegistrationController, :update, as: nil
-      patch "/registrations", Auth.RegistrationController, :update
-      delete "/registrations", Auth.RegistrationController, :delete
-    end
+  def authenticated_routes(mod) do
+    Enum.map([:show, :edit, :update, :delete], fn action ->
+      if Enum.member?(actions(mod), action) do
+        route_quote(action)
+      else
+        []
+      end
+    end)
   end
 
   # User Schema / Context

      def delete_user(user),
        do: Curator.Registerable.delete_user(__MODULE__, user)

      defoverridable change_user: 1,
                     create_changeset: 2,
                     create_user: 1,

  Options:

  * `curator` (required)
  * `actions` (optional) default: [:new, :create, :show, :edit, :update, :delete]

  Extensions:

