From 9d1e4362f78ab0a0b1a0007aaa38c6cc94c0a62d Mon Sep 17 00:00:00 2001 From: Joris Date: Mon, 21 Mar 2016 10:29:21 +0100 Subject: Add an example --- Data/ConfigManager.hs | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'Data/ConfigManager.hs') diff --git a/Data/ConfigManager.hs b/Data/ConfigManager.hs index aa92554..37da8b6 100644 --- a/Data/ConfigManager.hs +++ b/Data/ConfigManager.hs @@ -22,6 +22,9 @@ module Data.ConfigManager -- ** Comments -- $comments + -- ** Example + -- $example + -- * Configuration loading readConfig @@ -96,3 +99,31 @@ lookupDefault defaultValue name config = foldl (flip const) defaultValue $ looku -- -- > # Comment -- > x = 8 # Another comment + +-- $example +-- +-- From application.conf: +-- +-- > port = 3000 +-- > mailFrom = "no-reply@mail.com" +-- > currency = "$" +-- +-- Read the configuration: +-- +-- > import qualified Data.ConfigManager as Conf +-- > +-- > data Conf = Conf +-- > { port :: Int +-- > , mailFrom :: String +-- > , currency :: String +-- > } deriving (Read, Eq, Show) +-- > +-- > getConfig :: IO (Either Text Conf) +-- > getConfig = +-- > (flip fmap) (Conf.readConfig "application.conf") (\configOrError -> do +-- > conf <- configOrError +-- > Conf <$> +-- > Conf.lookup "port" conf <*> +-- > Conf.lookup "mailFrom" conf <*> +-- > Conf.lookup "currency" conf +-- > ) -- cgit v1.2.3