packages feed

bookkeeping 0.1.0.1 → 0.2.0.0

raw patch · 3 files changed

+34/−13 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Business.Bookkeeping: [tSubDescription] :: Transaction -> SubDescription
+ Business.Bookkeeping: instance Data.String.IsString Business.Bookkeeping.SubDescription
+ Business.Bookkeeping: instance GHC.Base.Monoid Business.Bookkeeping.SubDescription
+ Business.Bookkeeping: instance GHC.Classes.Eq Business.Bookkeeping.SubDescription
+ Business.Bookkeeping: instance GHC.Classes.Ord Business.Bookkeeping.SubDescription
+ Business.Bookkeeping: instance GHC.Read.Read Business.Bookkeeping.SubDescription
+ Business.Bookkeeping: instance GHC.Show.Show Business.Bookkeeping.SubDescription
- Business.Bookkeeping: Transaction :: Day -> Description -> DebitCategory -> CreditCategory -> Amount -> Transaction
+ Business.Bookkeeping: Transaction :: Day -> Description -> SubDescription -> DebitCategory -> CreditCategory -> Amount -> Transaction
- Business.Bookkeeping: dateTrans :: DebitCategory -> CreditCategory -> Description -> Amount -> DateTransactions
+ Business.Bookkeeping: dateTrans :: DebitCategory -> CreditCategory -> SubDescription -> Amount -> DateTransactions

Files

README.md view
@@ -1,4 +1,7 @@ [![Build Status](https://travis-ci.org/arowM/haskell-bookkeeping.svg?branch=master)](https://travis-ci.org/arowM/heterocephalus)+[![Hackage](https://img.shields.io/hackage/v/bookkeeping.svg)](https://hackage.haskell.org/package/bookkeeping)+[![Stackage LTS](http://stackage.org/package/bookkeeping/badge/lts)](http://stackage.org/lts/package/bookkeeping)+[![Stackage Nightly](http://stackage.org/package/bookkeeping/badge/nightly)](http://stackage.org/nightly/package/bookkeeping)  # Haskell-bookkeeping 
bookkeeping.cabal view
@@ -1,5 +1,5 @@ name:                bookkeeping-version:             0.1.0.1+version:             0.2.0.0 synopsis:            A module for bookkeeping by double entry. description:     A module for bookkeeping by double entry. This module provides a way to do bookkeeping programmatically.
src/Business/Bookkeeping.hs view
@@ -59,20 +59,20 @@ {- $setup >>> :{ let-  advance :: CategoryName -> Description -> Amount -> DateTransactions+  advance :: CategoryName -> SubDescription -> Amount -> DateTransactions   advance name = dateTrans     (DebitCategory $ Category name Expenses)     (CreditCategory $ Category "Deposit" Assets)   sample =     year 2015 $ do       month 1 $ do-        activity 1 "Constant expenses --" $+        activity 1 "Constant expenses" $           advance "Communication" "Mobile phone" 3000-        activity 3 "Mail a contract --" $ do+        activity 3 "Mail a contract" $ do           advance "Communication" "Stamp" 50           advance "Office supplies" "Envelope" 100       month 2 $-        activity 1 "Constant expenses --" $+        activity 1 "Constant expenses" $           advance "Communication" "Mobile phone" 3000 :} -}@@ -96,14 +96,15 @@  dateTrans :: DebitCategory           -> CreditCategory-          -> Description+          -> SubDescription           -> Amount           -> DateTransactions-dateTrans debit credit desc amount =-  modify . flip mappend . DList.singleton $ \d desc' m y ->+dateTrans debit credit subdesc amount =+  modify . flip mappend . DList.singleton $ \d desc m y ->     Transaction     { tDay = fromGregorian (unYear y) (unMonth m) (unDate d)-    , tDescription = desc' <> " " <> desc+    , tDescription = desc+    , tSubDescription = subdesc     , tDebit = debit     , tCredit = credit     , tAmount = amount@@ -121,25 +122,29 @@  >>> ppr sample tDay: 2015-01-01-tDescription: Constant expenses -- Mobile phone+tDescription: Constant expenses+tSubDescription: Mobile phone tDebit: Communication (Expenses) tCredit: Deposit (Assets) tAmount: 3000 <BLANKLINE> tDay: 2015-01-03-tDescription: Mail a contract -- Stamp+tDescription: Mail a contract+tSubDescription: Stamp tDebit: Communication (Expenses) tCredit: Deposit (Assets) tAmount: 50 <BLANKLINE> tDay: 2015-01-03-tDescription: Mail a contract -- Envelope+tDescription: Mail a contract+tSubDescription: Envelope tDebit: Office supplies (Expenses) tCredit: Deposit (Assets) tAmount: 100 <BLANKLINE> tDay: 2015-02-01-tDescription: Constant expenses -- Mobile phone+tDescription: Constant expenses+tSubDescription: Mobile phone tDebit: Communication (Expenses) tCredit: Deposit (Assets) tAmount: 3000@@ -153,6 +158,7 @@       T.unlines         [ "tDay: " <> (T.pack . show) tDay         , "tDescription: " <> unDescription tDescription+        , "tSubDescription: " <> unSubDescription tSubDescription         , "tDebit: " <> (unCategoryName . cName . unDebitCategory) tDebit <>           " (" <>           (T.pack . show . cType . unDebitCategory) tDebit <>@@ -186,6 +192,7 @@ data Transaction = Transaction   { tDay :: Day   , tDescription :: Description+  , tSubDescription :: SubDescription   , tDebit :: DebitCategory   , tCredit :: CreditCategory   , tAmount :: Amount@@ -213,6 +220,17 @@ instance Monoid Description where   mempty = Description mempty   mappend (Description a) (Description b) = Description $ mappend a b++newtype SubDescription = SubDescription+  { unSubDescription :: Text+  } deriving (Show, Read, Ord, Eq)++instance IsString SubDescription where+  fromString = SubDescription . fromString++instance Monoid SubDescription where+  mempty = SubDescription mempty+  mappend (SubDescription a) (SubDescription b) = SubDescription $ mappend a b  newtype Amount = Amount   { unAmount :: Int