From c4d154b5129624c40efc62c6a4f1b25c5f8eb4f7 Mon Sep 17 00:00:00 2001 From: Andrew Martin Date: Thu, 23 Jul 2015 13:29:16 -0400 Subject: [PATCH] Added getsYesod --- yesod-core/Yesod/Core/Handler.hs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/yesod-core/Yesod/Core/Handler.hs b/yesod-core/Yesod/Core/Handler.hs index 8116864b..dd048e9f 100644 --- a/yesod-core/Yesod/Core/Handler.hs +++ b/yesod-core/Yesod/Core/Handler.hs @@ -28,6 +28,7 @@ module Yesod.Core.Handler HandlerT -- ** Read information from handler , getYesod + , getsYesod , getUrlRender , getUrlRenderParams , getCurrentRoute @@ -291,6 +292,11 @@ askHandlerEnv = liftHandlerT $ HandlerT $ return . handlerEnv getYesod :: MonadHandler m => m (HandlerSite m) getYesod = rheSite `liftM` askHandlerEnv +-- | Get a specific component of the master site application argument. +-- Analogous to the 'gets' function for operating on 'StateT'. +getsYesod :: MonadHandler m => (HandlerSite m -> a) -> m a +getsYesod f = (f . rheSite) `liftM` askHandlerEnv + -- | Get the URL rendering function. getUrlRender :: MonadHandler m => m (Route (HandlerSite m) -> Text) getUrlRender = do