Skip to content

Commit

Permalink
Docs for Faker.Internet
Browse files Browse the repository at this point in the history
  • Loading branch information
gazay committed Jan 20, 2015
1 parent ed11bd7 commit 7aecfec
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions src/Faker/Internet.hs
@@ -1,5 +1,17 @@
{-|
Module : Faker.Internet
Description : Module for generating fake data related to Internet
Copyright : (c) Alexey Gaziev, 2015
License : MIT
Maintainer : alex.gaziev@gmail.com
Stability : experimental
Portability : POSIX
Fake data
-}
module Faker.Internet
(
-- * Functions for generate fake data related to Internet
freeEmailDomain
, generateEmail
, domainSuffix
Expand All @@ -15,22 +27,28 @@ import qualified Faker.Name as N
import Data.Char
import Control.Monad (liftM)

-- | Returns random email, i.e. "hayden.pfannerstill@robel.com"
email :: Faker String
email = do
cName <- N.lastName
domain <- domainSuffix
let lDomain = loweredLetters cName ++ "." ++ domain
generateEmail lDomain

-- | Returns random email with free domain, i.e. "lmarks@yahoo.com"
freeEmail :: Faker String
freeEmail = freeEmailDomain >>= generateEmail

-- | Returns random safe email with dummy domain, i.e. "m.langosh@example.org"
safeEmail :: Faker String
safeEmail = domainSuffix >>= generateEmail . ("example." ++)

-- | Returns random email with provided domain, i.e.
-- "a.marks@yourdomain.org"
generateEmail :: String -> Faker String
generateEmail domain = liftM (++ "@" ++ domain) userName

-- | Returns random username, i.e. "k.johnson"
userName :: Faker String
userName = do
fName <- N.firstName
Expand All @@ -49,6 +67,7 @@ loweredLetters str = map toLower $ filter isLetter str
freeEmailDomain :: Faker String
freeEmailDomain = randomInternetWord "free_email"

-- | Returns random domain suffix, i.e. "biz"
domainSuffix :: Faker String
domainSuffix = randomInternetWord "domain_suffix"

Expand Down

0 comments on commit 7aecfec

Please sign in to comment.