packages feed

couchdb-conduit 0.5.0 → 0.5.1

raw patch · 3 files changed

+19/−7 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Database.CouchDB.Conduit: quoteQueryParam :: ByteString -> ByteString

Files

couchdb-conduit.cabal view
@@ -1,5 +1,5 @@ name:           couchdb-conduit-version:        0.5.0
+version:        0.5.1
 cabal-version:  >= 1.8 build-type:     Simple stability:      Stable
src/Database/CouchDB/Conduit.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE OverloadedStrings #-} 
+
 {- | CouchDB 
 
 To work with concrete objects, use the following modules:
@@ -41,10 +43,13 @@     --   * "Database.CouchDB.Conduit.Generic" Generic JSON methods
     couchRev, 
     couchRev',
-    couchDelete
+    couchDelete,
     
+    -- * Utility
+    quoteQueryParam
 ) where
 
+import Data.ByteString (ByteString, append)
 import Data.Conduit (ResourceT)
 import Database.CouchDB.Conduit.Internal.Connection
 import qualified Database.CouchDB.Conduit.Internal.Doc as D
@@ -72,3 +77,6 @@     -> ResourceT m ()
 couchDelete db p = D.couchDelete (mkPath [db, p]) 
 
+-- | Simple query param quotation.
+quoteQueryParam :: ByteString -> ByteString
+quoteQueryParam a = "\"" `append` a `append` "\""
src/Database/CouchDB/Conduit/View.hs view
@@ -24,7 +24,10 @@ import qualified    Data.Aeson as A
 import              Data.Attoparsec
 
-import              Data.Conduit
+import              Data.Conduit (ResourceIO, ResourceT, 
+                        Source, Conduit, Sink, ($$), ($=), 
+                        sequenceSink, SequencedSinkResponse(..),
+                        resourceThrow )
 import qualified    Data.Conduit.List as CL
 import qualified    Data.Conduit.Attoparsec as CA
 
@@ -53,7 +56,7 @@ 
 -- | Run CouchDB view in manner like 'H.http'.
 --
--- > runCouch def {couchDB="mydb"} $ do
+-- > runCouch def $ do
 -- > -- >     -- Print all upon receipt.
 -- >     src <- couchView "mydb" "mydesign" "myview" [] @@ -77,13 +80,14 @@ 
 -- | Brain-free version of 'couchView'. Takes 'Sink' to consume response.
 ----- > runCouch def {couchDB="mydb"} $ do
+-- > runCouch def $ do
 -- >
 -- >     -- Print all upon receipt.--- >     couchView' "mydesign" "myview" [] $ CL.mapM_ (liftIO . print)
+-- >     couchView' "mydb" "mydesign" "myview" [] $ CL.mapM_ (liftIO . print)
 -- >
 -- >     -- ... Or extract row value and consume
--- >     res <- couchView' "mydesign" "myview" [] $ rowValue =$ CL.consume
+-- >     res <- couchView' "mydb" "mydesign" "myview" [] $ 
+-- >                        rowValue =$ CL.consume
 couchView' :: MonadCouch m =>        Path                 -- ^ Database
     -> Path                 -- ^ Design document