From eaa3eb8ac3416a3150ffc6c65e5f08b22bb1f988 Mon Sep 17 00:00:00 2001 From: Greg Weber Date: Sat, 4 Feb 2012 10:25:40 -0600 Subject: [PATCH] slightly DRY code --- yesod-routes/Yesod/Routes/Parse.hs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/yesod-routes/Yesod/Routes/Parse.hs b/yesod-routes/Yesod/Routes/Parse.hs index 40cf88f3..ade1314a 100644 --- a/yesod-routes/Yesod/Routes/Parse.hs +++ b/yesod-routes/Yesod/Routes/Parse.hs @@ -21,9 +21,7 @@ import Yesod.Routes.Overlap (findOverlapNames) -- overlapping routes, failing if present; use 'parseRoutesNoCheck' to skip the -- checking. See documentation site for details on syntax. parseRoutes :: QuasiQuoter -parseRoutes = QuasiQuoter - { quoteExp = x - } +parseRoutes = QuasiQuoter { quoteExp = x } where x s = do let res = resourcesFromString s @@ -32,14 +30,15 @@ parseRoutes = QuasiQuoter z -> error $ "Overlapping routes: " ++ unlines (map show z) parseRoutesFile :: FilePath -> Q Exp -parseRoutesFile fp = do - s <- qRunIO $ readUtf8File fp - quoteExp parseRoutes s +parseRoutesFile parseRoutesFileWith parseRoutes parseRoutesFileNoCheck :: FilePath -> Q Exp -parseRoutesFileNoCheck fp = do +parseRoutesFileNoCheck = parseRoutesFileWith parseRoutesNoCheck + +parseRoutesFileWith :: QuasiQuoter -> FilePath -> Q Exp +parseRoutesFileWith qq fp = do s <- qRunIO $ readUtf8File fp - quoteExp parseRoutesNoCheck s + quoteExp qq s readUtf8File :: FilePath -> IO String readUtf8File fp = do