snaplet-mongodb-minimalistic 0.0.1 → 0.0.2
raw patch · 3 files changed
+19/−27 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Snap.Snaplet.MongoDB.Core: mongoDBInit :: Int -> Host -> Database -> SnapletInit app MongoDB
+ Snap.Snaplet.MongoDB.Functions: mongoDBInit :: Int -> Host -> Database -> SnapletInit app MongoDB
Files
- snaplet-mongodb-minimalistic.cabal +1/−1
- src/Snap/Snaplet/MongoDB/Core.hs +1/−25
- src/Snap/Snaplet/MongoDB/Functions.hs +17/−1
snaplet-mongodb-minimalistic.cabal view
@@ -1,5 +1,5 @@ name: snaplet-mongodb-minimalistic-version: 0.0.1+version: 0.0.2 synopsis: Minimalistic MongoDB Snaplet. description: Minimalistic MongoDB Snaplet. license: BSD3
src/Snap/Snaplet/MongoDB/Core.hs view
@@ -1,31 +1,13 @@-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE ExistentialQuantification #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE FunctionalDependencies #-}-{-# LANGUAGE FlexibleContexts #-}-{-# LANGUAGE TypeFamilies #-}- module Snap.Snaplet.MongoDB.Core ( MongoDB(..) , HasMongoDB(..)-, mongoDBInit ) where -import Data.Text (Text)--import Snap- import Database.MongoDB import System.IO.Pool ------------------------------------------------------------------------------ -- |-description :: Text-description = "Minimalistic MongoDB Snaplet"----------------------------------------------------------------------------------- | data MongoDB = MongoDB { mongoPool :: Pool IOError Pipe , mongoDatabase :: Database@@ -35,10 +17,4 @@ -- | class HasMongoDB app where getMongoDB :: app -> MongoDB----------------------------------------------------------------------------------- |-mongoDBInit :: Int -> Host -> Database -> SnapletInit app MongoDB-mongoDBInit n h d = makeSnaplet "snaplet-mongodb" description Nothing $ do- pool <- liftIO $ newPool (Factory (connect h) close isClosed) n- return $ MongoDB pool d+
src/Snap/Snaplet/MongoDB/Functions.hs view
@@ -1,9 +1,11 @@+{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE UndecidableInstances #-} module Snap.Snaplet.MongoDB.Functions-( eitherWithDB'+( mongoDBInit+, eitherWithDB' , eitherWithDB , maybeWithDB , maybeWithDB'@@ -11,6 +13,7 @@ , unsafeWithDB' ) where +import Data.Text (Text) import Control.Monad.Error import Snap@@ -19,6 +22,18 @@ import Database.MongoDB import System.IO.Pool +------------------------------------------------------------------------------+-- |+description :: Text+description = "Minimalistic MongoDB Snaplet"++------------------------------------------------------------------------------+-- |+mongoDBInit :: Int -> Host -> Database -> SnapletInit app MongoDB+mongoDBInit n h d = makeSnaplet "snaplet-mongodb" description Nothing $ do+ pool <- liftIO $ newPool (Factory (connect h) close isClosed) n+ return $ MongoDB pool d+ class (MonadIO m, MonadState app m, HasMongoDB app) => HasMongoDB' app m instance (MonadIO m, MonadState app m, HasMongoDB app) => HasMongoDB' app m @@ -60,3 +75,4 @@ case ep of Left err -> return $ Left $ ConnectionFailure err Right pip -> liftIO $ access pip mode database action+