diff --git a/lib/lunchmoney.rb b/lib/lunchmoney.rb index f85e0b7..d75b2e0 100644 --- a/lib/lunchmoney.rb +++ b/lib/lunchmoney.rb @@ -12,6 +12,7 @@ class Module include T::Sig end +# Add type alias for when Integer and Float can both be used Number = T.type_alias { T.any(Integer, Float) } require_relative "lunchmoney/version" diff --git a/lib/lunchmoney/budget/config.rb b/lib/lunchmoney/budget/config.rb index 3bdbd5c..2bd3169 100644 --- a/lib/lunchmoney/budget/config.rb +++ b/lib/lunchmoney/budget/config.rb @@ -7,7 +7,10 @@ class Config < LunchMoney::DataObject # API object reference documentation: https://lunchmoney.dev/#config-object sig { returns(Integer) } - attr_accessor :config_id, :amount, :to_base + attr_accessor :config_id + + sig { returns(Number) } + attr_accessor :amount, :to_base sig { returns(String) } attr_accessor :cadence, :currency, :auto_suggest @@ -16,9 +19,9 @@ class Config < LunchMoney::DataObject params( config_id: Integer, cadence: String, - amount: Integer, + amount: Number, currency: String, - to_base: Integer, + to_base: Number, auto_suggest: String, ).void end diff --git a/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense.rb b/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense.rb index ad1f34f..7c8a84b 100644 --- a/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense.rb +++ b/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense.rb @@ -35,7 +35,7 @@ class RecurringExpense < RecurringExpenseBase plaid_account_id: T.nilable(Integer), asset_id: T.nilable(Integer), transaction_id: T.nilable(Integer), - to_base: T.nilable(Integer), + to_base: T.nilable(Number), ).void end def initialize(cadence:, payee:, amount:, currency:, billing_date:, type:, source:, id:, created_at:, diff --git a/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense_base.rb b/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense_base.rb index 6ca1ac8..1de1752 100644 --- a/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense_base.rb +++ b/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense_base.rb @@ -7,7 +7,7 @@ class RecurringExpenseBase < LunchMoney::DataObject sig { returns(String) } attr_accessor :payee, :currency, :amount - sig { returns(T.nilable(Integer)) } + sig { returns(T.nilable(Number)) } attr_accessor :to_base sig do @@ -15,7 +15,7 @@ class RecurringExpenseBase < LunchMoney::DataObject payee: String, amount: String, currency: String, - to_base: T.nilable(Integer), + to_base: T.nilable(Number), ).void end def initialize(payee:, amount:, currency:, to_base:) diff --git a/lib/lunchmoney/transactions/transaction/split.rb b/lib/lunchmoney/transactions/transaction/split.rb index 64a6b05..337f95d 100644 --- a/lib/lunchmoney/transactions/transaction/split.rb +++ b/lib/lunchmoney/transactions/transaction/split.rb @@ -4,12 +4,12 @@ module LunchMoney # Object used to split a transaction when updating https://lunchmoney.dev/#update-transaction class Split < TransactionModificationBase - sig { returns(T.any(Integer, String)) } + sig { returns(T.any(Number, String)) } attr_accessor :amount sig do params( - amount: T.any(Integer, String), + amount: T.any(Number, String), payee: T.nilable(String), date: T.nilable(String), category_id: T.nilable(Integer),