From c036cc43ddb4fd2f9fa448ec9cc059c120e5a117 Mon Sep 17 00:00:00 2001 From: Quentin Snow Date: Tue, 17 Jan 2023 13:47:36 -0600 Subject: [PATCH] Code cleanup --- CMakeLists.txt | 22 ++++++++++-- README.md | 3 ++ src/optHandlers/PaymentOperation.h | 2 +- src/optHandlers/createOperation.h | 2 +- src/optHandlers/earnOperation.h | 2 +- src/optHandlers/mainOptHandler.cpp | 54 +++++++++++++++--------------- src/optHandlers/mainOptHandler.h | 15 +++++---- src/optHandlers/operation.h | 1 + 8 files changed, 62 insertions(+), 39 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index be64a34..a666e9d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,5 +3,23 @@ project(budget) set(CMAKE_CXX_STANDARD 20) -add_executable(${PROJECT_NAME} src/main.cpp - src/optHandlers/mainOptHandler.h src/optHandlers/mainOptHandler.cpp src/optHandlers/operation.cpp src/optHandlers/operation.h src/optHandlers/accountOperation.cpp src/optHandlers/accountOperation.h src/optHandlers/createOperation.cpp src/optHandlers/createOperation.h src/optHandlers/earnOperation.cpp src/optHandlers/earnOperation.h src/optHandlers/PaymentOperation.cpp src/optHandlers/PaymentOperation.h) +set(SOURCES + src/main.cpp + src/optHandlers/mainOptHandler.cpp + src/optHandlers/operation.cpp + src/optHandlers/accountOperation.cpp + src/optHandlers/createOperation.cpp + src/optHandlers/earnOperation.cpp + src/optHandlers/PaymentOperation.cpp + ) + +set(HEADERS + src/optHandlers/mainOptHandler.h + src/optHandlers/operation.h + src/optHandlers/accountOperation.h + src/optHandlers/createOperation.h + src/optHandlers/earnOperation.h + src/optHandlers/PaymentOperation.h + ) + +add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS}) \ No newline at end of file diff --git a/README.md b/README.md index a443da4..bf87f6d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ Output of budget. + ``` Usage: budget [options] ... @@ -28,9 +29,11 @@ Payment Options: -v [-drD] ``` Arguments are processed like blocks with each one terminated by the next Action. For example + ``` budget -cAcct -eAcct -v10.00 -r"./receipt.pdf" -pAcct -v5.50 -r"./payment.pdf" ```` + Does the following in order: Creates an account named Acct with no description. Earns 10.00 to it with a receipt. diff --git a/src/optHandlers/PaymentOperation.h b/src/optHandlers/PaymentOperation.h index acb94d5..713441d 100644 --- a/src/optHandlers/PaymentOperation.h +++ b/src/optHandlers/PaymentOperation.h @@ -11,7 +11,7 @@ #include "operation.h" namespace Budget::OptHandlers { - class PaymentOperation : public Operation{ + class PaymentOperation : public Operation { public: void commit() override; diff --git a/src/optHandlers/createOperation.h b/src/optHandlers/createOperation.h index fc54eaa..a1f3d7c 100644 --- a/src/optHandlers/createOperation.h +++ b/src/optHandlers/createOperation.h @@ -9,7 +9,7 @@ #include "operation.h" namespace Budget::OptHandlers { - class CreateOperation : public Operation{ + class CreateOperation : public Operation { public: void commit() override; diff --git a/src/optHandlers/earnOperation.h b/src/optHandlers/earnOperation.h index cbdc1b2..7edf52a 100644 --- a/src/optHandlers/earnOperation.h +++ b/src/optHandlers/earnOperation.h @@ -10,7 +10,7 @@ #include namespace Budget::OptHandlers { - class EarnOperation : public Operation{ + class EarnOperation : public Operation { public: void commit() override; diff --git a/src/optHandlers/mainOptHandler.cpp b/src/optHandlers/mainOptHandler.cpp index f682668..ec681cb 100644 --- a/src/optHandlers/mainOptHandler.cpp +++ b/src/optHandlers/mainOptHandler.cpp @@ -12,12 +12,12 @@ using namespace Budget::OptHandlers; -MainOptHandler::MainOptHandler(const std::vector &_argv) : argv(_argv){ +MainOptHandler::MainOptHandler(const std::vector &_argv) : argv(_argv) { struct option actionLongOpts[] = { {"help", no_argument, nullptr, 'h'}, {"account", required_argument, nullptr, 'a'}, - {"create", required_argument, nullptr, 'c'}, - {"earn", required_argument, nullptr, 'e'}, + {"create", required_argument, nullptr, 'c'}, + {"earn", required_argument, nullptr, 'e'}, {"payment", required_argument, nullptr, 'p'} }; @@ -53,16 +53,16 @@ MainOptHandler::MainOptHandler(const std::vector &_argv) : argv(_argv){ void MainOptHandler::accountOptHandler(std::string account) { struct option accountLongOpts[] = { - {"help", no_argument, nullptr, 'h'}, - {"account", required_argument, nullptr, 'a'}, - {"create", required_argument, nullptr, 'c'}, - {"earn", required_argument, nullptr, 'e'}, - {"payment", required_argument, nullptr, 'p'}, + {"help", no_argument, nullptr, 'h'}, + {"account", required_argument, nullptr, 'a'}, + {"create", required_argument, nullptr, 'c'}, + {"earn", required_argument, nullptr, 'e'}, + {"payment", required_argument, nullptr, 'p'}, - {"delete", no_argument, nullptr, 'd'}, - {"force-delete", no_argument, nullptr, 'F'}, - {"value", no_argument, nullptr, 'v'}, - {"description", no_argument, nullptr, 'D'}, + {"delete", no_argument, nullptr, 'd'}, + {"force-delete", no_argument, nullptr, 'F'}, + {"value", no_argument, nullptr, 'v'}, + {"description", no_argument, nullptr, 'D'}, }; auto acctOperation = std::make_unique(); @@ -108,11 +108,11 @@ void MainOptHandler::accountOptHandler(std::string account) { void MainOptHandler::createOptHandler(std::string account) { struct option createLongOpts[] = { - {"help", no_argument, nullptr, 'h'}, - {"account", required_argument, nullptr, 'a'}, - {"create", required_argument, nullptr, 'c'}, - {"earn", required_argument, nullptr, 'e'}, - {"payment", required_argument, nullptr, 'p'}, + {"help", no_argument, nullptr, 'h'}, + {"account", required_argument, nullptr, 'a'}, + {"create", required_argument, nullptr, 'c'}, + {"earn", required_argument, nullptr, 'e'}, + {"payment", required_argument, nullptr, 'p'}, {"description", required_argument, nullptr, 'd'}, }; @@ -150,11 +150,11 @@ void MainOptHandler::createOptHandler(std::string account) { void MainOptHandler::earnOptHandler(std::string account) { struct option earnLongOpts[] = { - {"help", no_argument, nullptr, 'h'}, - {"account", required_argument, nullptr, 'a'}, - {"create", required_argument, nullptr, 'c'}, - {"earn", required_argument, nullptr, 'e'}, - {"payment", required_argument, nullptr, 'p'}, + {"help", no_argument, nullptr, 'h'}, + {"account", required_argument, nullptr, 'a'}, + {"create", required_argument, nullptr, 'c'}, + {"earn", required_argument, nullptr, 'e'}, + {"payment", required_argument, nullptr, 'p'}, {"value", required_argument, nullptr, 'v'}, {"description", required_argument, nullptr, 'd'}, @@ -221,11 +221,11 @@ void MainOptHandler::earnOptHandler(std::string account) { void MainOptHandler::paymentOptHandler(std::string account) { struct option paymentLongOpts[] = { - {"help", no_argument, nullptr, 'h'}, - {"account", required_argument, nullptr, 'a'}, - {"create", required_argument, nullptr, 'c'}, - {"earn", required_argument, nullptr, 'e'}, - {"payment", required_argument, nullptr, 'p'}, + {"help", no_argument, nullptr, 'h'}, + {"account", required_argument, nullptr, 'a'}, + {"create", required_argument, nullptr, 'c'}, + {"earn", required_argument, nullptr, 'e'}, + {"payment", required_argument, nullptr, 'p'}, {"value", required_argument, nullptr, 'v'}, {"description", required_argument, nullptr, 'd'}, diff --git a/src/optHandlers/mainOptHandler.h b/src/optHandlers/mainOptHandler.h index 936215a..dcdcf11 100644 --- a/src/optHandlers/mainOptHandler.h +++ b/src/optHandlers/mainOptHandler.h @@ -11,24 +11,25 @@ #include #include "operation.h" -namespace Budget::OptHandlers{ - class MainOptHandler { +namespace Budget::OptHandlers { + class MainOptHandler { public: explicit MainOptHandler(const std::vector &argv); void help(); std::queue> operations; - + private: void accountOptHandler(std::string account); - + void createOptHandler(std::string account); - + void earnOptHandler(std::string account); - + void paymentOptHandler(std::string account); - const std::vector &argv; + + const std::vector &argv; }; } diff --git a/src/optHandlers/operation.h b/src/optHandlers/operation.h index 807e7ef..7f9aa36 100644 --- a/src/optHandlers/operation.h +++ b/src/optHandlers/operation.h @@ -9,6 +9,7 @@ namespace Budget::OptHandlers { class Operation { public: virtual void commit() = 0; + struct Flags { }; };