Closed AlexTheWizardL closed 2 months ago
Proposal for the class docstring:
class CashCtrlLedger(LedgerEngine):
"""
Implements the pyledger interface by connecting to the CashCtrl online accounting software.
See README on https://github.com/macxred/cashctrl_ledger for overview and
usage examples.
"""
Currently
cashctrl_ledger
class contains "hackish" code that violatescashctrl
limitations and allows us to integrate it. Need to create another class and separate the "hackish" code only and leave simple core logic in thecashctrl_ledger
class.To separate "hackish" code while allowing it to be used within core methods, need to use inheritance pattern:
Proposed names for the new Class with "Hackish" Code:
CashCtrlLedgerExtended
In this example:
List of methods that should be moved to the "hackish" class:
standardize_ledger()
sanitize_ledger()
transitory_account
as property_add_fx_adjustment()
split_multi_currency_transactions()
Proposed implementation steps:
hackish
methods before Lukas vacation.CashCtrlLedger
class.hackish
methods using inheritance pattern in the new class.README.md