Safe Haskell | None |
---|---|
Language | Haskell2010 |
- user :: UserParameters -> Beeminder User
- goal :: GoalParameters -> Beeminder Goal
- allGoals :: AllGoalsParameters -> Beeminder [Goal]
- createGoal :: CreateGoalParameters -> Beeminder Goal
- points :: PointsParameters -> Beeminder [Point]
- createPoint :: CreatePointParameters -> Beeminder Point
- createPointNotify :: CreatePointParameters -> Beeminder Point
- createPoints :: CreatePointsParameters -> Beeminder [Point]
- createPointsNotify :: CreatePointsParameters -> Beeminder [Point]
- updatePoint :: UpdatePointParameters -> Beeminder Point
- deletePoint :: DeletePointParameters -> Beeminder Point
- data Beeminder a
- type Token = ByteString
- runBeeminder :: Token -> Beeminder a -> IO (Maybe a)
- data UserGoals
- data User = User {}
- data Point = Point {
- pTimestamp :: Integer
- pValue :: Double
- pComment :: Text
- pRequestID :: Maybe Text
- pID :: Text
- pUpdatedAt :: Integer
- data Goal = Goal {
- gID :: Text
- gGoal :: Text
- gUpdatedAt :: Integer
- gBurner :: Burner
- gTitle :: Text
- gTarget :: Target
- gRatePeriod :: TimeFrame
- gGraph :: Text
- gThumb :: Text
- gLoseDate :: Integer
- gPanic :: Double
- gQueued :: Bool
- gPoints :: [Point]
- gPointCount :: Integer
- gPledge :: Integer
- gStartDate :: Integer
- gStartValue :: Double
- gCurrentDate :: Integer
- gCurrentValue :: Double
- gReportedDate :: Integer
- gYaw :: Direction
- gSlope :: Direction
- gLane :: Integer
- gMathIsHard :: (Integer, Double, Double)
- gSummary :: (Text, Text, Text)
- gWon :: Bool
- gFrozen :: Bool
- gLost :: Bool
- gContract :: Contract
- gRoad :: [Target]
- gAggregate :: Aggregate
- gBehavior :: Set Behavior
- data Burner
- data LevelOfGoalDetail
- = JustTheSlugs
- | EverythingCurrent
- | DiffSince { }
- data TimeFrame
- data Aggregate
- data Direction
- data Behavior
- = Exponential
- | Cumulative
- | Odometer
- | Edgy
- | Noisy
- | StepLine
- | Rosy
- | MovingAverage
- | Aura
- | Ephemeral
- | Secret
- | SecretPoints
- data Target
- = MissingDate { }
- | MissingValue { }
- | MissingRate { }
- data GoalType
- class HasID a where
- class HasUpdatedAt a where
- class HasName a where
- class HasTimezone a where
- class HasUsername a where
- class HasGoals a where
- class HasGoalsFilter a where
- class HasLevelOfDetail a where
- class HasPointCount a where
- class HasTimestamp a where
- class HasValue a where
- class HasComment a where
- class HasRequestID a where
- class HasGoal a where
- class HasPointRequest a where
- class HasPointRequests a where
- class HasGetPoints a where
- class HasTitle a where
- class HasType a where
- class HasTarget a where
- class HasBehavior a where
- class HasPanic a where
- now :: (MonadIO m, HasTimestamp a) => a -> m a
- gType :: Goal -> Maybe GoalType
API calls
createGoal :: CreateGoalParameters -> Beeminder Goal Source #
createPoint :: CreatePointParameters -> Beeminder Point Source #
createPointNotify :: CreatePointParameters -> Beeminder Point Source #
createPoints :: CreatePointsParameters -> Beeminder [Point] Source #
createPointsNotify :: CreatePointsParameters -> Beeminder [Point] Source #
updatePoint :: UpdatePointParameters -> Beeminder Point Source #
deletePoint :: DeletePointParameters -> Beeminder Point Source #
The Beeminder monad
type Token = ByteString Source #
runBeeminder :: Token -> Beeminder a -> IO (Maybe a) Source #
Run a beeminder computation with the given authentication token, possibly returning a result.
Foo bar
Slugs [Text] | just the short names (use |
Hashes [Goal] | information about all currently existing goals (use |
Diff [Goal] [Text] | created or updated goals first, then IDs of deleted goals (use |
the _UpdatedAt
value is the upper bound of all updates -- even nested
ones to goals, points, etc.
Point | |
|
Goal | |
|
data LevelOfGoalDetail Source #
JustTheSlugs | minimal detail: just the "slug" (the part that goes in a URL) |
EverythingCurrent | details about all the currently existing goals |
DiffSince | maximal detail: report even about goals that have been deleted |
Exponential | interpret rate as multiplicative rather than additive |
Cumulative | plot values as the sum of the points |
Odometer | treat zero as an odomoter reset rather than a literal 0 |
Edgy | initial data point goes at the road edge (not center) |
Noisy | use points (not just rate) when computing road width |
StepLine | use steppy-like line when rendering the graph |
Rosy | show the optimistic rosy dots when rendering the graph |
MovingAverage | graph the moving average |
Aura | render the turquoise confidence area |
Ephemeral | garbage collect this goal after a bit |
Secret | only the owner can see the goal |
SecretPoints | only the owner can see the points |
Lenses
class HasUpdatedAt a where Source #
class HasTimezone a where Source #
class HasGoalsFilter a where Source #
class HasLevelOfDetail a where Source #
class HasPointCount a where Source #
class HasTimestamp a where Source #
class HasRequestID a where Source #
class HasPointRequest a where Source #
_PointRequest :: Simple Lens a PointRequest Source #
class HasPointRequests a where Source #
_PointRequests :: Simple Lens a [PointRequest] Source #
class HasGetPoints a where Source #
Utilities
now :: (MonadIO m, HasTimestamp a) => a -> m a Source #
Set the timestamp to the current time.