kevin-0.1.1: Kevin/Settings.hs
module Kevin.Settings (
Settings(..),
emptySettings,
setUsername,
setAuthtoken,
setPassword,
setHasPassed,
setHasNicked,
setHasUsered
) where
import Data.Text
data Settings = Settings { getUsername :: Text
, getPassword :: Text
, getAuthtoken :: Text
, hasPassed :: Bool
, hasNicked :: Bool
, hasUsered :: Bool
} deriving (Show)
emptySettings :: Settings
emptySettings = Settings { getUsername = ""
, getPassword = ""
, getAuthtoken = ""
, hasPassed = False
, hasNicked = False
, hasUsered = False
}
setUsername, setAuthtoken, setPassword :: Text -> Settings -> Settings
setHasPassed, setHasNicked, setHasUsered :: Settings -> Settings
setUsername str set = set { getUsername = str }
setAuthtoken str set = set { getAuthtoken = str }
setPassword str set = set { getPassword = str }
setHasPassed set = set { hasPassed = True }
setHasNicked set = set { hasNicked = True }
setHasUsered set = set { hasUsered = True }