X-Git-Url: http://gitweb.michael.orlitzky.com/?p=dead%2Fhalcyon.git;a=blobdiff_plain;f=src%2FTwitter%2FUser.hs;fp=src%2FTwitter%2FUser.hs;h=af3bc1ce3f4faa4945690d0d1195a7d9c45fa1df;hp=071b0633695f22a1162835d7105cd20c05516e14;hb=518f0ba7d66d93fdda2a5dd7b8ea90b59d874b27;hpb=1b72ed45ef890ed1329a32457b4d7f3a7fb37788 diff --git a/src/Twitter/User.hs b/src/Twitter/User.hs index 071b063..af3bc1c 100644 --- a/src/Twitter/User.hs +++ b/src/Twitter/User.hs @@ -9,11 +9,16 @@ 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 @@ -22,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/" ++)