snaplet-mongodb-minimalistic 0.0.6.7 → 0.0.6.8
raw patch · 4 files changed
+19/−24 lines, 4 filesdep +transformersdep −snap-coredep ~mtldep ~snapPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: transformers
Dependencies removed: snap-core
Dependency ranges changed: mtl, snap
API changes (from Hackage documentation)
+ Snap.Snaplet.MongoDB.Core: mongoDBInit' :: Int -> Host -> Database -> AccessMode -> SnapletInit app MongoDB
- Snap.Snaplet.MongoDB.Core: class HasMongoDB app
+ Snap.Snaplet.MongoDB.Core: class HasMongoDB a
- Snap.Snaplet.MongoDB.Core: getMongoDB :: HasMongoDB app => app -> MongoDB
+ Snap.Snaplet.MongoDB.Core: getMongoDB :: HasMongoDB a => a -> MongoDB
Files
- snaplet-mongodb-minimalistic.cabal +8/−7
- src/Snap/Snaplet/MongoDB/Core.hs +6/−8
- src/Snap/Snaplet/MongoDB/Functions/M.hs +1/−3
- src/Snap/Snaplet/MongoDB/Functions/S.hs +4/−6
snaplet-mongodb-minimalistic.cabal view
@@ -1,5 +1,5 @@ Name: snaplet-mongodb-minimalistic-Version: 0.0.6.7+Version: 0.0.6.8 Synopsis: Minimalistic MongoDB Snaplet. Description: Minimalistic MongoDB Snaplet. License: BSD3@@ -32,12 +32,13 @@ Other-modules: Build-depends:- base == 4.*,+ base >= 4 && < 5, lens >= 3.7 && < 3.9,- mtl == 2.*,- snap >= 0.10 && < 0.12,- snap-core == 0.9.*,- text == 0.11.*,- mongoDB == 1.3.*+ mtl >= 2.0 && < 2.2,+ transformers >= 0.2 && < 0.4,+ snap >= 0.11 && < 0.12,+ text >= 0.11 && < 0.12,+ mongoDB >= 1.3 && < 1.4 + GHC-Options: -Wall
src/Snap/Snaplet/MongoDB/Core.hs view
@@ -8,12 +8,12 @@ , HasMongoDB(..) , MongoDBPool , mongoDBInit+, mongoDBInit' ) where import Data.Text (Text)--import Snap (SnapletInit, liftIO, makeSnaplet)-+import Snap.Snaplet+import Control.Monad.IO.Class import Database.MongoDB (Database, Host, Pipe, AccessMode (UnconfirmedWrites), close, isClosed, connect) import System.IO.Pool (Pool, Factory (Factory), newPool) @@ -49,11 +49,9 @@ -- Usage: -- -- > instance HasMongoDB App where--- > getMongoDB = getL (snapletValue . database)------ Note: The @(.)@ is from 'Control.Category'.-class HasMongoDB app where- getMongoDB :: app -> MongoDB+-- > getMongoDB app = view snapletValue (view database app)+class HasMongoDB a where+ getMongoDB :: a -> MongoDB ------------------------------------------------------------------------------ -- | Initializer function.
src/Snap/Snaplet/MongoDB/Functions/M.hs view
@@ -18,9 +18,7 @@ import Control.Monad.Error (runErrorT) import Control.Lens (cloneLens, use) -import Snap (MonadIO, MonadState, gets, liftIO) -- transformers, mtl-import Snap (SnapletLens)-import Snap (Snaplet, snapletValue)+import Snap (MonadIO, MonadState, liftIO, SnapletLens, snapletValue) import Snap.Snaplet.MongoDB.Core import Database.MongoDB (Action, AccessMode, Failure (ConnectionFailure), access)
src/Snap/Snaplet/MongoDB/Functions/S.hs view
@@ -15,9 +15,7 @@ ) where import Control.Monad.Error (runErrorT)--import Snap (MonadIO, MonadState, gets, liftIO) -- transformers, mtl-import Snap (Snaplet, snapletValue)+import Snap import Snap.Snaplet.MongoDB.Core import Database.MongoDB (Action, AccessMode, Failure (ConnectionFailure), access)@@ -45,7 +43,7 @@ -> Action IO a -- ^ 'Action' you want to perform. -> m a -- ^ The action's result; in case of failure 'error' is called. unsafeWithDB' mode action = do- res <- (eitherWithDB' mode action)+ res <- eitherWithDB' mode action either (error . show) return res ------------------------------------------------------------------------------@@ -70,7 +68,7 @@ -> Action IO a -- ^ 'Action' you want to perform. -> m (Maybe a) -- ^ 'Nothing' in case of failure or 'Just' the result of the action. maybeWithDB' mode action = do- res <- (eitherWithDB' mode action)+ res <- eitherWithDB' mode action return $ either (const Nothing) Just res ------------------------------------------------------------------------------@@ -102,5 +100,5 @@ Right pip -> liftIO $ access pip mode database action getMongoAccessMode :: (MonadIO m, MonadState app m, HasMongoDB app) => m AccessMode-getMongoAccessMode = gets getMongoDB >>= return . mongoAccessMode+getMongoAccessMode = mongoAccessMode `liftM` gets getMongoDB {-# INLINE getMongoAccessMode #-}