From 47efed826049e4a002157668e8df8f6470036749 Mon Sep 17 00:00:00 2001 From: Greg V Date: Thu, 30 Jan 2014 18:58:36 +0300 Subject: [PATCH 1/2] Add non-bang version of connect-via-uri --- src/clojure/monger/core.clj | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/clojure/monger/core.clj b/src/clojure/monger/core.clj index 0d19418..e956b52 100644 --- a/src/clojure/monger/core.clj +++ b/src/clojure/monger/core.clj @@ -223,9 +223,10 @@ (catch Exception _ false)))) -(defn connect-via-uri! - "Connects to MongoDB using a URI, sets up default connection and database. Commonly used for PaaS-based applications, - for example, running on Heroku. If username and password are provided, performs authentication." +(defn connect-via-uri + "Connects to MongoDB using a URI, returns the connection and database as a map with :conn and :db. + Commonly used for PaaS-based applications, for example, running on Heroku. + If username and password are provided, performs authentication." [^String uri-string] (let [uri (MongoClientURI. uri-string) conn (MongoClient. uri) @@ -235,7 +236,14 @@ (when (and user pwd) (when-not (authenticate conn db user pwd) (throw (IllegalArgumentException. (format "Could not authenticate with MongoDB. Either database name or credentials are invalid. Database name: %s, username: %s" (.getName db) user))))) - ;; only do this *after* we authenticated because set-db! will try to set up a default GridFS instance. MK. + {:conn conn, :db db})) + + +(defn connect-via-uri! + "Connects to MongoDB using a URI, sets up default connection and database. Commonly used for PaaS-based applications, + for example, running on Heroku. If username and password are provided, performs authentication." + [uri-string] + (let [{:keys [conn db]} (connect-via-uri uri-string)] (set-connection! conn) (when db (set-db! db)) From bd575126a3bdee9f843ad8df216d24f6eb764cf2 Mon Sep 17 00:00:00 2001 From: Michael Klishin Date: Sun, 2 Feb 2014 01:27:32 +0300 Subject: [PATCH 2/2] Update ChangeLog.md --- ChangeLog.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index 208249f..bb75af8 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,14 @@ +## Changes between 1.7.0 and 1.8.0-beta1 + +### monger.core/connect-via-uri + +`monger.core/connect-via-uri` is a version of `monger.core/connect-via-uri!` +which returns the connection instead of mutating a var. + +It should be used by projects that are built from reloadable +components, together with `monger.multi.*`. + + ## Changes between 1.7.0-beta1 and 1.7.0 ### MongoDB Java Driver Update