diff --git a/Data/Object/Instances.hs b/Data/Object/Instances.hs index 248e33fc..bbda5948 100644 --- a/Data/Object/Instances.hs +++ b/Data/Object/Instances.hs @@ -20,11 +20,10 @@ module Data.Object.Instances , Html (..) ) where -import Data.Object import Data.Object.Text import qualified Data.ByteString.Lazy as B import Web.Encodings (encodeJson) -import Text.Yaml (encodeText) +import Text.Yaml (encodeText') import qualified Data.Text.Lazy as LT import Data.Text.Lazy (Text) import Data.Convertible.Text @@ -65,7 +64,7 @@ newtype Yaml = Yaml { unYaml :: Text } instance ConvertAttempt (Object Text Text) Yaml where convertAttempt = return . convertSuccess instance ConvertSuccess (Object Text Text) Yaml where - convertSuccess = Yaml . encodeText + convertSuccess = Yaml . convertSuccess . encodeText' -- | Represents as an entire HTML 5 document by using the following: -- diff --git a/Data/Object/Translate.hs b/Data/Object/Translate.hs index 15bbda4c..7ce8c704 100644 --- a/Data/Object/Translate.hs +++ b/Data/Object/Translate.hs @@ -30,7 +30,6 @@ module Data.Object.Translate ) where import Data.Maybe (fromMaybe) -import Data.Object import Control.Monad.Attempt import Data.Object.Text diff --git a/LICENSE b/LICENSE index 11dc17a1..81e3ec6a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,7 +1,7 @@ The following license covers this documentation, and the source code, except where otherwise indicated. -Copyright 2008, Michael Snoyman. All rights reserved. +Copyright 2009, Michael Snoyman. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/Test.hs b/Test.hs deleted file mode 100644 index 6fdb084b..00000000 --- a/Test.hs +++ /dev/null @@ -1,12 +0,0 @@ -import Test.Framework (defaultMain) - -import qualified Web.Restful.Response -import qualified Web.Restful.Utils -import qualified Web.Restful.Resource - -main :: IO () -main = defaultMain - [ Web.Restful.Response.testSuite - , Web.Restful.Utils.testSuite - , Web.Restful.Resource.testSuite - ] diff --git a/Web/Restful.hs b/Yesod.hs similarity index 51% rename from Web/Restful.hs rename to Yesod.hs index 940e1c27..d8e46268 100644 --- a/Web/Restful.hs +++ b/Yesod.hs @@ -1,6 +1,6 @@ --------------------------------------------------------- -- --- Module : Web.Restful +-- Module : Yesod -- Copyright : Michael Snoyman -- License : BSD3 -- @@ -11,23 +11,23 @@ -- Lightweight framework for designing RESTful APIs. -- --------------------------------------------------------- -module Web.Restful +module Yesod ( module Data.Object - , module Web.Restful.Request - , module Web.Restful.Response - , module Web.Restful.Application - , module Web.Restful.Definitions - , module Web.Restful.Handler - , module Web.Restful.Resource + , module Yesod.Request + , module Yesod.Response + , module Yesod.Application + , module Yesod.Definitions + , module Yesod.Handler + , module Yesod.Resource , Application ) where import Data.Object -import Web.Restful.Request -import Web.Restful.Response -import Web.Restful.Application -import Web.Restful.Definitions -import Web.Restful.Handler -import Web.Restful.Resource +import Yesod.Request +import Yesod.Response +import Yesod.Application +import Yesod.Definitions +import Yesod.Handler +import Yesod.Resource import Hack (Application) diff --git a/Web/Restful/Application.hs b/Yesod/Application.hs similarity index 95% rename from Web/Restful/Application.hs rename to Yesod/Application.hs index 211e1b09..ba31c79c 100644 --- a/Web/Restful/Application.hs +++ b/Yesod/Application.hs @@ -5,7 +5,7 @@ {-# LANGUAGE FlexibleContexts #-} --------------------------------------------------------- -- --- Module : Web.Restful.Application +-- Module : Yesod.Application -- Copyright : Michael Snoyman -- License : BSD3 -- @@ -16,7 +16,7 @@ -- Defining the application. -- --------------------------------------------------------- -module Web.Restful.Application +module Yesod.Application ( toHackApp , RestfulApp (..) @@ -35,13 +35,13 @@ import Hack.Middleware.Gzip import Hack.Middleware.Jsonp import Hack.Middleware.MethodOverride -import Web.Restful.Request -import Web.Restful.Response -import Web.Restful.Utils -import Web.Restful.Handler -import Web.Restful.Definitions -import Web.Restful.Constants -import Web.Restful.Resource +import Yesod.Request +import Yesod.Response +import Yesod.Utils +import Yesod.Handler +import Yesod.Definitions +import Yesod.Constants +import Yesod.Resource import Data.Convertible.Text import Control.Arrow ((***)) diff --git a/Web/Restful/Constants.hs b/Yesod/Constants.hs similarity index 85% rename from Web/Restful/Constants.hs rename to Yesod/Constants.hs index e6445b54..09b7ad6d 100644 --- a/Web/Restful/Constants.hs +++ b/Yesod/Constants.hs @@ -1,6 +1,6 @@ --------------------------------------------------------- -- --- Module : Web.Restful.Constants +-- Module : Yesod.Constants -- Copyright : Michael Snoyman -- License : BSD3 -- @@ -11,7 +11,7 @@ -- Constants used throughout Restful. -- --------------------------------------------------------- -module Web.Restful.Constants +module Yesod.Constants ( authCookieName ) where diff --git a/Web/Restful/Definitions.hs b/Yesod/Definitions.hs similarity index 90% rename from Web/Restful/Definitions.hs rename to Yesod/Definitions.hs index 0d21bcd8..97243d06 100644 --- a/Web/Restful/Definitions.hs +++ b/Yesod/Definitions.hs @@ -2,7 +2,7 @@ {-# LANGUAGE TypeSynonymInstances #-} --------------------------------------------------------- -- --- Module : Web.Restful.Definitions +-- Module : Yesod.Definitions -- Copyright : Michael Snoyman -- License : BSD3 -- @@ -13,7 +13,7 @@ -- Definitions throughout Restful. -- --------------------------------------------------------- -module Web.Restful.Definitions +module Yesod.Definitions ( Verb (..) , toVerb , Resource diff --git a/Web/Restful/Handler.hs b/Yesod/Handler.hs similarity index 97% rename from Web/Restful/Handler.hs rename to Yesod/Handler.hs index e87ee849..6e199221 100644 --- a/Web/Restful/Handler.hs +++ b/Yesod/Handler.hs @@ -5,7 +5,7 @@ {-# LANGUAGE FlexibleContexts #-} --------------------------------------------------------- -- --- Module : Web.Restful.Handler +-- Module : Yesod.Handler -- Copyright : Michael Snoyman -- License : BSD3 -- @@ -16,7 +16,7 @@ -- Define Handler stuff. -- --------------------------------------------------------- -module Web.Restful.Handler +module Yesod.Handler ( -- * Handler monad HandlerT , HandlerIO @@ -33,8 +33,8 @@ module Web.Restful.Handler , header ) where -import Web.Restful.Request -import Web.Restful.Response +import Yesod.Request +import Yesod.Response import Control.Exception hiding (Handler) diff --git a/Web/Restful/Helpers/AtomFeed.hs b/Yesod/Helpers/AtomFeed.hs similarity index 94% rename from Web/Restful/Helpers/AtomFeed.hs rename to Yesod/Helpers/AtomFeed.hs index 727da65e..1690b800 100644 --- a/Web/Restful/Helpers/AtomFeed.hs +++ b/Yesod/Helpers/AtomFeed.hs @@ -2,7 +2,7 @@ {-# LANGUAGE MultiParamTypeClasses #-} --------------------------------------------------------- -- --- Module : Web.Restful.Response.AtomFeed +-- Module : Yesod.Response.AtomFeed -- Copyright : Michael Snoyman -- License : BSD3 -- @@ -14,12 +14,12 @@ -- --------------------------------------------------------- -module Web.Restful.Helpers.AtomFeed +module Yesod.Helpers.AtomFeed ( AtomFeed (..) , AtomFeedEntry (..) ) where -import Web.Restful.Response +import Yesod.Response import Data.Time.Clock import Web.Encodings diff --git a/Web/Restful/Helpers/Auth.hs b/Yesod/Helpers/Auth.hs similarity index 97% rename from Web/Restful/Helpers/Auth.hs rename to Yesod/Helpers/Auth.hs index b9c31a87..ba533ee1 100644 --- a/Web/Restful/Helpers/Auth.hs +++ b/Yesod/Helpers/Auth.hs @@ -2,7 +2,7 @@ {-# LANGUAGE MultiParamTypeClasses #-} --------------------------------------------------------- -- --- Module : Web.Restful.Helpers.Auth +-- Module : Yesod.Helpers.Auth -- Copyright : Michael Snoyman -- License : BSD3 -- @@ -13,7 +13,7 @@ -- Authentication through the authentication package. -- --------------------------------------------------------- -module Web.Restful.Helpers.Auth +module Yesod.Helpers.Auth ( AuthResource , authHandler , authResourcePattern @@ -26,8 +26,8 @@ import qualified Web.Authenticate.Rpxnow as Rpxnow import qualified Web.Authenticate.OpenId as OpenId import Data.Enumerable -import Web.Restful -import Web.Restful.Constants +import Yesod +import Yesod.Constants import Control.Applicative ((<$>), Applicative (..)) import Control.Monad.Reader diff --git a/Web/Restful/Helpers/Sitemap.hs b/Yesod/Helpers/Sitemap.hs similarity index 94% rename from Web/Restful/Helpers/Sitemap.hs rename to Yesod/Helpers/Sitemap.hs index da291897..bf5a1340 100644 --- a/Web/Restful/Helpers/Sitemap.hs +++ b/Yesod/Helpers/Sitemap.hs @@ -2,7 +2,7 @@ {-# LANGUAGE MultiParamTypeClasses #-} --------------------------------------------------------- -- --- Module : Web.Restful.Response.AtomFeed +-- Module : Yesod.Response.AtomFeed -- Copyright : Michael Snoyman -- License : BSD3 -- @@ -14,7 +14,7 @@ -- --------------------------------------------------------- -module Web.Restful.Helpers.Sitemap +module Yesod.Helpers.Sitemap ( sitemap , robots , SitemapUrl (..) @@ -22,11 +22,11 @@ module Web.Restful.Helpers.Sitemap , SitemapChangeFreq (..) ) where -import Web.Restful.Handler -import Web.Restful.Response +import Yesod.Handler +import Yesod.Response import Web.Encodings import qualified Hack -import Web.Restful.Request +import Yesod.Request import Data.Time (UTCTime) data SitemapLoc = AbsLoc String | RelLoc String diff --git a/Web/Restful/Helpers/Static.hs b/Yesod/Helpers/Static.hs similarity index 94% rename from Web/Restful/Helpers/Static.hs rename to Yesod/Helpers/Static.hs index ca933044..4468dea7 100644 --- a/Web/Restful/Helpers/Static.hs +++ b/Yesod/Helpers/Static.hs @@ -2,7 +2,7 @@ {-# LANGUAGE MultiParamTypeClasses #-} --------------------------------------------------------- -- --- Module : Web.Restful.Helpers.Static +-- Module : Yesod.Helpers.Static -- Copyright : Michael Snoyman -- License : BSD3 -- @@ -13,7 +13,7 @@ -- Serve static files from a Restful app. -- --------------------------------------------------------- -module Web.Restful.Helpers.Static +module Yesod.Helpers.Static ( serveStatic , FileLookup , fileLookupDir @@ -23,7 +23,7 @@ import qualified Data.ByteString as B import System.Directory (doesFileExist) import Control.Applicative ((<$>)) -import Web.Restful +import Yesod type FileLookup = FilePath -> IO (Maybe B.ByteString) diff --git a/Web/Restful/Request.hs b/Yesod/Request.hs similarity index 98% rename from Web/Restful/Request.hs rename to Yesod/Request.hs index 870d1b27..490611b6 100644 --- a/Web/Restful/Request.hs +++ b/Yesod/Request.hs @@ -2,7 +2,7 @@ {-# LANGUAGE OverlappingInstances #-} --------------------------------------------------------- -- --- Module : Web.Restful.Request +-- Module : Yesod.Request -- Copyright : Michael Snoyman -- License : BSD3 -- @@ -13,7 +13,7 @@ -- Code for extracting parameters from requests. -- --------------------------------------------------------- -module Web.Restful.Request +module Yesod.Request ( -- * Parameter -- $param_overview @@ -49,8 +49,8 @@ module Web.Restful.Request import qualified Hack import Data.Function.Predicate (equals) -import Web.Restful.Constants -import Web.Restful.Utils +import Yesod.Constants +import Yesod.Utils import Control.Applicative (Applicative (..)) import Web.Encodings import Data.Time.Calendar (Day, fromGregorian) diff --git a/Web/Restful/Resource.hs b/Yesod/Resource.hs similarity index 97% rename from Web/Restful/Resource.hs rename to Yesod/Resource.hs index 24602673..04c0c746 100644 --- a/Web/Restful/Resource.hs +++ b/Yesod/Resource.hs @@ -6,7 +6,7 @@ {-# LANGUAGE StandaloneDeriving #-} --------------------------------------------------------- -- --- Module : Web.Restful.Resource +-- Module : Yesod.Resource -- Copyright : Michael Snoyman -- License : BSD3 -- @@ -17,7 +17,7 @@ -- Defines the Resource class. -- --------------------------------------------------------- -module Web.Restful.Resource +module Yesod.Resource ( ResourceName (..) , fromString , checkPattern @@ -30,8 +30,8 @@ module Web.Restful.Resource ) where import Data.List.Split (splitOn) -import Web.Restful.Definitions -import Web.Restful.Handler +import Yesod.Definitions +import Yesod.Handler import Data.List (intercalate) import Data.Enumerable import Data.Char (isDigit) @@ -161,7 +161,7 @@ validatePatterns (x:xs) = #if TEST ---- Testing testSuite :: Test -testSuite = testGroup "Web.Restful.Resource" +testSuite = testGroup "Yesod.Resource" [ testCase "non-overlap" caseOverlap1 , testCase "overlap" caseOverlap2 , testCase "overlap-slurp" caseOverlap3 diff --git a/Web/Restful/Response.hs b/Yesod/Response.hs similarity index 97% rename from Web/Restful/Response.hs rename to Yesod/Response.hs index a8b2a579..4530a78a 100644 --- a/Web/Restful/Response.hs +++ b/Yesod/Response.hs @@ -6,7 +6,7 @@ {-# LANGUAGE CPP #-} --------------------------------------------------------- -- --- Module : Web.Restful.Response +-- Module : Yesod.Response -- Copyright : Michael Snoyman -- License : BSD3 -- @@ -17,7 +17,7 @@ -- Generating responses. -- --------------------------------------------------------- -module Web.Restful.Response +module Yesod.Response ( Response (..) -- * Representations , RepT @@ -47,7 +47,6 @@ module Web.Restful.Response ) where import Data.Time.Clock -import Data.Object import Data.Object.Text import Data.Object.Translate import Data.Object.Instances @@ -200,7 +199,7 @@ instance HasReps (Reps m) where #if TEST ----- Testing testSuite :: Test -testSuite = testGroup "Web.Restful.Response" +testSuite = testGroup "Yesod.Response" [ ] #endif diff --git a/Web/Restful/Utils.hs b/Yesod/Utils.hs similarity index 93% rename from Web/Restful/Utils.hs rename to Yesod/Utils.hs index aec16186..dc9cde32 100644 --- a/Web/Restful/Utils.hs +++ b/Yesod/Utils.hs @@ -1,7 +1,7 @@ {-# LANGUAGE CPP #-} --------------------------------------------------------- -- --- Module : Web.Restful.Utils +-- Module : Yesod.Utils -- Copyright : Michael Snoyman -- License : BSD3 -- @@ -13,7 +13,7 @@ -- These are all functions which could be exported to another library. -- --------------------------------------------------------- -module Web.Restful.Utils +module Yesod.Utils ( parseHttpAccept , tryLookup #if TEST @@ -46,7 +46,7 @@ tryLookup def key = fromMaybe def . lookup key #if TEST ----- Testing testSuite :: Test -testSuite = testGroup "Web.Restful.Response" +testSuite = testGroup "Yesod.Response" [ testCase "tryLookup1" caseTryLookup1 , testCase "tryLookup2" caseTryLookup2 ] diff --git a/runtests.hs b/runtests.hs new file mode 100644 index 00000000..a35ea155 --- /dev/null +++ b/runtests.hs @@ -0,0 +1,12 @@ +import Test.Framework (defaultMain) + +import qualified Yesod.Response +import qualified Yesod.Utils +import qualified Yesod.Resource + +main :: IO () +main = defaultMain + [ Yesod.Response.testSuite + , Yesod.Utils.testSuite + , Yesod.Resource.testSuite + ] diff --git a/restful.cabal b/yesod.cabal similarity index 73% rename from restful.cabal rename to yesod.cabal index f9cb8a79..c03fb3aa 100644 --- a/restful.cabal +++ b/yesod.cabal @@ -1,15 +1,16 @@ -name: restful -version: 0.1.12 +name: yesod +version: 0.0.0 license: BSD3 license-file: LICENSE author: Michael Snoyman maintainer: Michael Snoyman synopsis: A Restful front controller built on Hack. +description: This package stradles the line between framework and simply a controller. It provides minimal support for model and view, mostly focusing on making a controller which adheres strictly to RESTful principles. category: Web stability: unstable cabal-version: >= 1.2 build-type: Simple -homepage: http://github.com/snoyberg/restful/tree/master +homepage: http://github.com/snoyberg/yesod flag buildtests description: Build the executable to run unit tests @@ -42,15 +43,15 @@ library convertible-text >= 0.0.0 && < 0.1, clientsession >= 0.0.1 && < 0.1, zlib >= 0.5.2.0 && < 0.6 - exposed-modules: Web.Restful, - Web.Restful.Constants, - Web.Restful.Request, - Web.Restful.Response, - Web.Restful.Utils, - Web.Restful.Definitions, - Web.Restful.Handler, - Web.Restful.Application, - Web.Restful.Resource, + exposed-modules: Yesod, + Yesod.Constants, + Yesod.Request, + Yesod.Response, + Yesod.Utils, + Yesod.Definitions, + Yesod.Handler, + Yesod.Application, + Yesod.Resource, Data.Object.Instances, Data.Object.Translate, Hack.Middleware.MethodOverride, @@ -58,10 +59,10 @@ library Hack.Middleware.Jsonp, Hack.Middleware.CleanPath, Hack.Middleware.Gzip, - Web.Restful.Helpers.Auth, - Web.Restful.Helpers.Static, - Web.Restful.Helpers.AtomFeed, - Web.Restful.Helpers.Sitemap + Yesod.Helpers.Auth, + Yesod.Helpers.Static, + Yesod.Helpers.AtomFeed, + Yesod.Helpers.Sitemap ghc-options: -Wall -Werror executable runtests @@ -76,4 +77,4 @@ executable runtests else Buildable: False ghc-options: -Wall - main-is: Test.hs + main-is: runtests.hs