Class: ModernTreasury::Resources::LedgerTransactions

Inherits:
Object
  • Object
show all
Defined in:
lib/modern_treasury/resources/ledger_transactions.rb,
lib/modern_treasury/resources/ledger_transactions/versions.rb

Defined Under Namespace

Classes: Versions

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ LedgerTransactions

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of LedgerTransactions.

Parameters:



250
251
252
253
# File 'lib/modern_treasury/resources/ledger_transactions.rb', line 250

def initialize(client:)
  @client = client
  @versions = ModernTreasury::Resources::LedgerTransactions::Versions.new(client: client)
end

Instance Attribute Details

#versionsModernTreasury::Resources::LedgerTransactions::Versions (readonly)



7
8
9
# File 'lib/modern_treasury/resources/ledger_transactions.rb', line 7

def versions
  @versions
end

Instance Method Details

#create(ledger_entries: , description: nil, effective_at: nil, effective_date: nil, external_id: nil, ledgerable_id: nil, ledgerable_type: nil, metadata: nil, status: nil, request_options: {}) ⇒ ModernTreasury::Models::LedgerTransaction

Some parameter documentations has been truncated, see Models::LedgerTransactionCreateParams for more details.

Create a ledger transaction.

Parameters:

  • ledger_entries (Array<ModernTreasury::Models::LedgerEntryCreateRequest>)

    An array of ledger entry objects.

  • description (String, nil)

    An optional description for internal use.

  • effective_at (Time)

    The timestamp (ISO8601 format) at which the ledger transaction happened for repo

  • effective_date (Date)

    The date (YYYY-MM-DD) on which the ledger transaction happened for reporting pur

  • external_id (String)

    A unique string to represent the ledger transaction. Only one pending or posted

  • ledgerable_id (String)

    If the ledger transaction can be reconciled to another object in Modern Treasury

  • ledgerable_type (Symbol, ModernTreasury::Models::LedgerTransactionCreateRequest::LedgerableType)

    If the ledger transaction can be reconciled to another object in Modern Treasury

  • metadata (Hash{Symbol=>String})

    Additional data represented as key-value pairs. Both the key and value must be s

  • status (Symbol, ModernTreasury::Models::LedgerTransactionCreateRequest::Status)

    To post a ledger transaction at creation, use ‘posted`.

  • request_options (ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



39
40
41
42
43
44
45
46
47
48
# File 'lib/modern_treasury/resources/ledger_transactions.rb', line 39

def create(params)
  parsed, options = ModernTreasury::LedgerTransactionCreateParams.dump_request(params)
  @client.request(
    method: :post,
    path: "api/ledger_transactions",
    body: parsed,
    model: ModernTreasury::LedgerTransaction,
    options: options
  )
end

#create_partial_post(id, posted_ledger_entries: , description: nil, effective_at: nil, metadata: nil, request_options: {}) ⇒ ModernTreasury::Models::LedgerTransaction

Some parameter documentations has been truncated, see Models::LedgerTransactionCreatePartialPostParams for more details.

Create a ledger transaction that partially posts another ledger transaction.

Parameters:

  • id (String)

    The ID of the ledger transaction to partially post.

  • posted_ledger_entries (Array<ModernTreasury::Models::LedgerTransactionCreatePartialPostParams::PostedLedgerEntry>)

    An array of ledger entry objects to be set on the posted ledger transaction. The

  • description (String)

    An optional free-form description for the posted ledger transaction. Maximum of

  • effective_at (Time)

    The timestamp (IS08601 format) at which the posted ledger transaction happened f

  • metadata (Hash{Symbol=>String})

    Additional data represented as key-value pairs. Both the key and value must be s

  • request_options (ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



196
197
198
199
200
201
202
203
204
205
# File 'lib/modern_treasury/resources/ledger_transactions.rb', line 196

def create_partial_post(id, params)
  parsed, options = ModernTreasury::LedgerTransactionCreatePartialPostParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["api/ledger_transactions/%1$s/partial_post", id],
    body: parsed,
    model: ModernTreasury::LedgerTransaction,
    options: options
  )
end

#create_reversal(id, description: nil, effective_at: nil, external_id: nil, ledgerable_id: nil, ledgerable_type: nil, metadata: nil, status: nil, request_options: {}) ⇒ ModernTreasury::Models::LedgerTransaction

Some parameter documentations has been truncated, see Models::LedgerTransactionCreateReversalParams for more details.

Create a ledger transaction reversal.

Parameters:

  • id (String)

    The id of ledger transaction to reverse.

  • description (String)

    An optional free-form description for the reversal ledger transaction. Maximum o

  • effective_at (Time, nil)

    The timestamp (ISO8601 format) at which the reversal ledger transaction happened

  • external_id (String)

    Must be unique within the ledger.

  • ledgerable_id (String)

    Specify this if you’d like to link the reversal ledger transaction to a Payment

  • ledgerable_type (Symbol, ModernTreasury::Models::LedgerTransactionCreateReversalParams::LedgerableType)

    Specify this if you’d like to link the reversal ledger transaction to a Payment

  • metadata (Hash{Symbol=>String})

    Additional data to be added to the reversal ledger transaction as key-value pair

  • status (Symbol, ModernTreasury::Models::LedgerTransactionCreateReversalParams::Status)

    Status of the reversal ledger transaction. It defaults to ‘posted` if not provid

  • request_options (ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



236
237
238
239
240
241
242
243
244
245
# File 'lib/modern_treasury/resources/ledger_transactions.rb', line 236

def create_reversal(id, params = {})
  parsed, options = ModernTreasury::LedgerTransactionCreateReversalParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["api/ledger_transactions/%1$s/reversal", id],
    body: parsed,
    model: ModernTreasury::LedgerTransaction,
    options: options
  )
end

#list(id: nil, after_cursor: nil, amount: nil, effective_at: nil, effective_date: nil, external_id: nil, ledger_account_category_id: nil, ledger_account_id: nil, ledger_account_settlement_id: nil, ledger_id: nil, ledgerable_id: nil, ledgerable_type: nil, metadata: nil, order_by: nil, partially_posts_ledger_transaction_id: nil, per_page: nil, posted_at: nil, reverses_ledger_transaction_id: nil, status: nil, updated_at: nil, request_options: {}) ⇒ ModernTreasury::Internal::Page<ModernTreasury::Models::LedgerTransaction>

Some parameter documentations has been truncated, see Models::LedgerTransactionListParams for more details.

Get a list of ledger transactions.

Parameters:

Returns:

See Also:



161
162
163
164
165
166
167
168
169
170
171
# File 'lib/modern_treasury/resources/ledger_transactions.rb', line 161

def list(params = {})
  parsed, options = ModernTreasury::LedgerTransactionListParams.dump_request(params)
  @client.request(
    method: :get,
    path: "api/ledger_transactions",
    query: parsed,
    page: ModernTreasury::Internal::Page,
    model: ModernTreasury::LedgerTransaction,
    options: options
  )
end

#retrieve(id, request_options: {}) ⇒ ModernTreasury::Models::LedgerTransaction

Get details on a single ledger transaction.

Parameters:

Returns:

See Also:



61
62
63
64
65
66
67
68
# File 'lib/modern_treasury/resources/ledger_transactions.rb', line 61

def retrieve(id, params = {})
  @client.request(
    method: :get,
    path: ["api/ledger_transactions/%1$s", id],
    model: ModernTreasury::LedgerTransaction,
    options: params[:request_options]
  )
end

#update(id, description: nil, effective_at: nil, ledger_entries: nil, ledgerable_id: nil, ledgerable_type: nil, metadata: nil, status: nil, request_options: {}) ⇒ ModernTreasury::Models::LedgerTransaction

Some parameter documentations has been truncated, see Models::LedgerTransactionUpdateParams for more details.

Update the details of a ledger transaction.

Parameters:

Returns:

See Also:



98
99
100
101
102
103
104
105
106
107
# File 'lib/modern_treasury/resources/ledger_transactions.rb', line 98

def update(id, params = {})
  parsed, options = ModernTreasury::LedgerTransactionUpdateParams.dump_request(params)
  @client.request(
    method: :patch,
    path: ["api/ledger_transactions/%1$s", id],
    body: parsed,
    model: ModernTreasury::LedgerTransaction,
    options: options
  )
end