fromArgsSettings #583
This commit is contained in:
parent
f0f85a0a03
commit
97b78ad481
@ -4,6 +4,7 @@
|
|||||||
module Yesod.Default.Config
|
module Yesod.Default.Config
|
||||||
( DefaultEnv (..)
|
( DefaultEnv (..)
|
||||||
, fromArgs
|
, fromArgs
|
||||||
|
, fromArgsSettings
|
||||||
, loadDevelopmentConfig
|
, loadDevelopmentConfig
|
||||||
|
|
||||||
-- reexport
|
-- reexport
|
||||||
@ -71,19 +72,19 @@ parseArgConfig = do
|
|||||||
capitalize [] = []
|
capitalize [] = []
|
||||||
capitalize (x:xs) = toUpper x : map toLower xs
|
capitalize (x:xs) = toUpper x : map toLower xs
|
||||||
|
|
||||||
-- | Load the app config from command line parameters
|
-- | Load the app config from command line parameters, using the given
|
||||||
fromArgs :: (Read env, Show env, Enum env, Bounded env)
|
-- @ConfigSettings.
|
||||||
=> (env -> Object -> Parser extra)
|
--
|
||||||
-> IO (AppConfig env extra)
|
-- Since 1.2.2
|
||||||
fromArgs getExtra = do
|
fromArgsSettings :: (Read env, Show env, Enum env, Bounded env)
|
||||||
|
=> (env -> IO (ConfigSettings env extra))
|
||||||
|
-> IO (AppConfig env extra)
|
||||||
|
fromArgsSettings cs = do
|
||||||
args <- parseArgConfig
|
args <- parseArgConfig
|
||||||
|
|
||||||
let env = environment args
|
let env = environment args
|
||||||
|
|
||||||
let cs = (configSettings env)
|
config <- cs env >>= loadConfig
|
||||||
{ csParseExtra = getExtra
|
|
||||||
}
|
|
||||||
config <- loadConfig cs
|
|
||||||
|
|
||||||
env' <- getEnvironment
|
env' <- getEnvironment
|
||||||
let config' =
|
let config' =
|
||||||
@ -95,6 +96,14 @@ fromArgs getExtra = do
|
|||||||
then config' { appPort = port args }
|
then config' { appPort = port args }
|
||||||
else config'
|
else config'
|
||||||
|
|
||||||
|
-- | Load the app config from command line parameters
|
||||||
|
fromArgs :: (Read env, Show env, Enum env, Bounded env)
|
||||||
|
=> (env -> Object -> Parser extra)
|
||||||
|
-> IO (AppConfig env extra)
|
||||||
|
fromArgs getExtra = fromArgsSettings $ \env -> return (configSettings env)
|
||||||
|
{ csParseExtra = getExtra
|
||||||
|
}
|
||||||
|
|
||||||
-- | Load your development config (when using @'DefaultEnv'@)
|
-- | Load your development config (when using @'DefaultEnv'@)
|
||||||
loadDevelopmentConfig :: IO (AppConfig DefaultEnv ())
|
loadDevelopmentConfig :: IO (AppConfig DefaultEnv ())
|
||||||
loadDevelopmentConfig = loadConfig $ configSettings Development
|
loadDevelopmentConfig = loadConfig $ configSettings Development
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
name: yesod
|
name: yesod
|
||||||
version: 1.2.1.1
|
version: 1.2.2
|
||||||
license: MIT
|
license: MIT
|
||||||
license-file: LICENSE
|
license-file: LICENSE
|
||||||
author: Michael Snoyman <michael@snoyman.com>
|
author: Michael Snoyman <michael@snoyman.com>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user