| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Yesod.Default.Config2
Description
Some next-gen helper functions for the scaffolding's configuration system.
Synopsis
- configSettingsYml :: FilePath
- getDevSettings :: Settings -> IO Settings
- develMainHelper :: IO (Settings, Application) -> IO ()
- makeYesodLogger :: LoggerSet -> IO Logger
- applyCurrentEnv :: Bool -> Value -> IO Value
- getCurrentEnv :: IO (KeyMap Text)
- applyEnvValue :: Bool -> KeyMap Text -> Value -> Value
- loadYamlSettings :: FromJSON settings => [FilePath] -> [Value] -> EnvUsage -> IO settings
- loadYamlSettingsArgs :: FromJSON settings => [Value] -> EnvUsage -> IO settings
- data EnvUsage
- ignoreEnv :: EnvUsage
- useEnv :: EnvUsage
- requireEnv :: EnvUsage
- useCustomEnv :: KeyMap Text -> EnvUsage
- requireCustomEnv :: KeyMap Text -> EnvUsage
- newtype MergedValue = MergedValue {}
- loadAppSettings :: FromJSON settings => [FilePath] -> [Value] -> EnvUsage -> IO settings
- loadAppSettingsArgs :: FromJSON settings => [Value] -> EnvUsage -> IO settings
Locally defined
configSettingsYml :: FilePath Source #
Location of the default config file.
getDevSettings :: Settings -> IO Settings Source #
Helper for getApplicationDev in the scaffolding. Looks up PORT and DISPLAY_PORT and prints appropriate messages.
develMainHelper :: IO (Settings, Application) -> IO () Source #
Helper for develMain in the scaffolding.
Re-exports from Data.Yaml.Config
A convenience wrapper around applyEnvValue and getCurrentEnv
Since: yaml-0.8.16
getCurrentEnv :: IO (KeyMap Text) #
Get the actual environment as a HashMap from Text to Text.
Since: yaml-0.8.16
Override environment variable placeholders in the given Value with
values from the environment.
If the first argument is True, then all placeholders _must_ be provided by
the actual environment. Otherwise, default values from the Value will be
used.
Since: yaml-0.8.16
Arguments
| :: FromJSON settings | |
| => [FilePath] | run time config files to use, earlier files have precedence |
| -> [Value] | any other values to use, usually from compile time config. overridden by files |
| -> EnvUsage | |
| -> IO settings |
Load the settings from the following three sources:
- Run time config files
- Run time environment variables
- The default compile time config file
For example, to load up settings from config/foo.yaml and allow overriding
from the actual environment, you can use:
loadYamlSettings ["config/foo.yaml"] [] useEnv
Since: yaml-0.8.16
Arguments
| :: FromJSON settings | |
| => [Value] | any other values to use, usually from compile time config. overridden by files |
| -> EnvUsage | use environment variables |
| -> IO settings |
Same as loadYamlSettings, but get the list of runtime config files from
the command line arguments.
Since: yaml-0.8.17
Defines how we want to use the environment variables when loading a config file. Use the smart constructors provided by this module.
Since: yaml-0.8.16
Do not use any environment variables, instead relying on defaults values in the config file.
Since: yaml-0.8.16
Use environment variables when available, otherwise use defaults.
Since: yaml-0.8.16
requireEnv :: EnvUsage #
Do not use default values from the config file, but instead take all overrides from the environment. If a value is missing, loading the file will throw an exception.
Since: yaml-0.8.16
useCustomEnv :: KeyMap Text -> EnvUsage #
Same as useEnv, but instead of the actual environment, use the provided
HashMap as the environment.
Since: yaml-0.8.16
requireCustomEnv :: KeyMap Text -> EnvUsage #
Same as requireEnv, but instead of the actual environment, use the
provided HashMap as the environment.
Since: yaml-0.8.16
For backwards compatibility
newtype MergedValue Source #
Constructors
| MergedValue | |
Fields | |
Instances
| Semigroup MergedValue Source # | |
Defined in Yesod.Default.Config2 Methods (<>) :: MergedValue -> MergedValue -> MergedValue # sconcat :: NonEmpty MergedValue -> MergedValue # stimes :: Integral b => b -> MergedValue -> MergedValue # | |
Arguments
| :: FromJSON settings | |
| => [FilePath] | run time config files to use, earlier files have precedence |
| -> [Value] | any other values to use, usually from compile time config. overridden by files |
| -> EnvUsage | |
| -> IO settings |
Deprecated: Use loadYamlSettings
Load the settings from the following three sources:
- Run time config files
- Run time environment variables
- The default compile time config file
Arguments
| :: FromJSON settings | |
| => [Value] | any other values to use, usually from compile time config. overridden by files |
| -> EnvUsage | use environment variables |
| -> IO settings |
Deprecated: Use loadYamlSettingsArgs
Same as loadAppSettings, but get the list of runtime config files from
the command line arguments.