Class: ModernTreasury::Resources::LineItems

Inherits:
Object
  • Object
show all
Defined in:
lib/modern_treasury/resources/line_items.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ LineItems

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 LineItems.

Parameters:



114
115
116
# File 'lib/modern_treasury/resources/line_items.rb', line 114

def initialize(client:)
  @client = client
end

Instance Method Details

#list(itemizable_id, itemizable_type: , after_cursor: nil, per_page: nil, request_options: {}) ⇒ ModernTreasury::Internal::Page<ModernTreasury::Models::LineItem>

Get a list of line items

Parameters:

Returns:

See Also:



95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/modern_treasury/resources/line_items.rb', line 95

def list(itemizable_id, params)
  parsed, options = ModernTreasury::LineItemListParams.dump_request(params)
  itemizable_type =
    parsed.delete(:itemizable_type) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :get,
    path: ["api/%1$s/%2$s/line_items", itemizable_type, itemizable_id],
    query: parsed,
    page: ModernTreasury::Internal::Page,
    model: ModernTreasury::LineItem,
    options: options
  )
end

#retrieve(id, itemizable_type: , itemizable_id: , request_options: {}) ⇒ ModernTreasury::Models::LineItem

Get a single line item

Parameters:

Returns:

See Also:



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/modern_treasury/resources/line_items.rb', line 21

def retrieve(id, params)
  parsed, options = ModernTreasury::LineItemRetrieveParams.dump_request(params)
  itemizable_type =
    parsed.delete(:itemizable_type) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  itemizable_id =
    parsed.delete(:itemizable_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :get,
    path: ["api/%1$s/%2$s/line_items/%3$s", itemizable_type, itemizable_id, id],
    model: ModernTreasury::LineItem,
    options: options
  )
end

#update(id, itemizable_type: , itemizable_id: , metadata: nil, request_options: {}) ⇒ ModernTreasury::Models::LineItem

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

update line item

Parameters:

  • id (String)

    Path param: The ID of the line item.

  • itemizable_type (Symbol, ModernTreasury::Models::LineItemUpdateParams::ItemizableType)

    Path param: One of ‘payment_orders` or `expected_payments`.

  • itemizable_id (String)

    Path param: The ID of the payment order or expected payment.

  • metadata (Hash{Symbol=>String})

    Body param: Additional data represented as key-value pairs. Both the key and val

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

Returns:

See Also:



59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/modern_treasury/resources/line_items.rb', line 59

def update(id, params)
  parsed, options = ModernTreasury::LineItemUpdateParams.dump_request(params)
  itemizable_type =
    parsed.delete(:itemizable_type) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  itemizable_id =
    parsed.delete(:itemizable_id) do
      raise ArgumentError.new("missing required path argument #{_1}")
    end
  @client.request(
    method: :patch,
    path: ["api/%1$s/%2$s/line_items/%3$s", itemizable_type, itemizable_id, id],
    body: parsed,
    model: ModernTreasury::LineItem,
    options: options
  )
end