Add mongo connection loader

This commit is contained in:
patrick brisbin 2011-09-11 13:06:53 -04:00
parent 80314a4027
commit 256245cd2b

View File

@ -1,10 +1,12 @@
{-# LANGUAGE QuasiQuotes #-} {-# OPTIONS -fno-warn-missing-signatures #-}
{-# LANGUAGE QuasiQuotes #-}
module Yesod.Settings module Yesod.Settings
( AppEnvironment(..) ( AppEnvironment(..)
, AppConfig(..) , AppConfig(..)
, loadConfig , loadConfig
, loadPostgresqlConnStr , loadPostgresqlConnStr
, loadSqliteConnStr , loadSqliteConnStr
, loadMongoConnParams
) where ) where
import Control.Monad (join) import Control.Monad (join)
@ -63,7 +65,14 @@ loadPostgresqlConnStr env = do
loadSqliteConnStr :: AppEnvironment -> IO Text loadSqliteConnStr :: AppEnvironment -> IO Text
loadSqliteConnStr env = do loadSqliteConnStr env = do
allSettings <- (join $ YAML.decodeFile ("config/sqlite.yml" :: String)) >>= fromMapping allSettings <- (join $ YAML.decodeFile ("config/sqlite.yml" :: String)) >>= fromMapping
settings <- lookupMapping (show env) allSettings settings <- lookupMapping (show env) allSettings
lookupScalar "database" settings lookupScalar "database" settings
-- TODO: Mongo -- note: no type signature to avoid Persistent.MongoDB dep
--loadMongoConnParams :: AppEnvironment -> IO (Database, HostName)
loadMongoConnParams env = do
allSettings <- (join $ YAML.decodeFile ("config/mongoDB.yml" :: String)) >>= fromMapping
settings <- lookupMapping (show env) allSettings
database <- lookupScalar "database" settings
host <- lookupScalar "host" settings
return (database, host)