ohloh-hs-0.0.1: Web/Ohloh/ActivityFact.hs
-- Copyright © 2012 Frank S. Thomas <frank@timepit.eu>
-- All rights reserved.
--
-- Use of this source code is governed by a BSD-style license that
-- can be found in the LICENSE file.
-- | Ohloh API Reference: <http://meta.ohloh.net/referenceactivity_fact/>
module Web.Ohloh.ActivityFact (
ActivityFact(..),
xpActivityFact
) where
import Text.XML.HXT.Arrow.Pickle
import Web.Ohloh.Common
-- | 'ActivityFact' is a pre-computed collection of statistics about
-- 'Web.Ohloh.Project.Project' source code.
data ActivityFact = ActivityFact {
afMonth :: String,
afCodeAdded :: Int,
afCodeRemoved :: Int,
afCommentsAdded :: Int,
afCommentsRemoved :: Int,
afBlanksAdded :: Int,
afBlanksRemoved :: Int,
afCommits :: Int,
afContributors :: Int
} deriving (Eq, Read, Show)
instance XmlPickler ActivityFact where
xpickle = xpActivityFact
instance ReadXmlString ActivityFact
instance ShowXmlString ActivityFact
xpActivityFact :: PU ActivityFact
xpActivityFact =
xpElem "activity_fact" $
xpWrap (uncurry9 ActivityFact,
\(ActivityFact m ca cr coa cor ba br c co) ->
(m, ca, cr, coa, cor, ba, br, c, co)) $
xp9Tuple (xpElem "month" xpText0)
(xpElem "code_added" xpInt)
(xpElem "code_removed" xpInt)
(xpElem "comments_added" xpInt)
(xpElem "comments_removed" xpInt)
(xpElem "blanks_added" xpInt)
(xpElem "blanks_removed" xpInt)
(xpElem "commits" xpInt)
(xpElem "contributors" xpInt)