]> gitweb.michael.orlitzky.com - dead/halcyon.git/blobdiff - src/Twitter/User.hs
Add more tests and remove the dependency on regex-compat.
[dead/halcyon.git] / src / Twitter / User.hs
index 988cf3c65b46f258991e5161f3344e8482263c22..af3bc1ce3f4faa4945690d0d1195a7d9c45fa1df 100644 (file)
@@ -1,20 +1,24 @@
 -- | Functions and data for working with Twitter users.
 module Twitter.User (
   User(..),
-  screen_name_to_timeline_url
-  )
+  screen_name_to_timeline_url )
 where
 
-import Control.Applicative ((<$>))
-import Data.Aeson ((.:), FromJSON(..), Value(Object))
-import Data.Text (pack)
-import Data.Monoid (mempty)
+import Control.Applicative ( (<$>) )
+import Data.Aeson ( (.:), FromJSON(..), Value(Object) )
+import Data.Text ( pack )
+import Data.Monoid ( mempty )
+
 
 -- | Represents a Twitter user, and contains the only attribute
 --   thereof that we care about: the screen (user) name.
+--
 data User = User { screen_name :: String } deriving (Eq, Show)
 
 instance FromJSON User where
+  -- | Parse the JSON we get from the Twitter API into a 'User' if we
+  --   can.
+  --
   parseJSON (Object u) =
     User <$> (u .: screen_name_field)
     where
@@ -23,7 +27,14 @@ instance FromJSON User where
   -- Do whatever.
   parseJSON _ = mempty
 
--- |Get the URL for the given screen name's timeline.
+
+-- | Get the URL for the given screen name's timeline.
+--
+--   Examples:
+--
+--   >>> screen_name_to_timeline_url "washington_irving"
+--   "http://twitter.com/washington_irving"
+--
 screen_name_to_timeline_url :: String -> String
 screen_name_to_timeline_url =
   ("http://twitter.com/" ++)