Sha256: 1f0bc8c15f7116f13a87505bb42ed90d1e83b3b67c888007046871960efd1d4f

Contents?: true

Size: 1.36 KB

Versions: 2

Compression:

Stored size: 1.36 KB

Contents

# typed: strict
# frozen_string_literal: true

module LunchMoney
  # object used when updating a transaction https://lunchmoney.dev/#update-transaction
  class UpdateTransaction < TransactionModificationBase
    sig { returns(T.nilable(String)) }
    attr_accessor :amount, :currency, :status, :external_id

    sig { returns(T.nilable(Integer)) }
    attr_accessor :asset_id, :recurring_id

    sig { returns(T.nilable(T::Array[T.any(String, Integer)])) }
    attr_accessor :tags

    sig do
      params(
        tags: T.nilable(T::Array[T.any(String, Integer)]),
        category_id: T.nilable(Integer),
        payee: T.nilable(String),
        amount: T.nilable(String),
        currency: T.nilable(String),
        asset_id: T.nilable(Integer),
        recurring_id: T.nilable(Integer),
        notes: T.nilable(String),
        status: T.nilable(String),
        external_id: T.nilable(String),
        date: T.nilable(String),
      ).void
    end
    def initialize(tags: nil, category_id: nil, payee: nil, amount: nil, currency: nil, asset_id: nil,
      recurring_id: nil, notes: nil, status: nil, external_id: nil, date: nil)
      super(payee:, date:, category_id:, notes:)
      @amount = amount
      @tags = tags
      @currency = currency
      @asset_id = asset_id
      @recurring_id = recurring_id
      @status = status
      @external_id = external_id
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
lunchmoney-1.0.0 lib/lunchmoney/transactions/transaction/update_transaction.rb
lunchmoney-0.10.0 lib/lunchmoney/transactions/transaction/update_transaction.rb