Class: Dinie::Resources::CreditOffers

Inherits:
Object
  • Object
show all
Defined in:
lib/dinie/generated/resources/credit_offers.rb,
sig/dinie/generated/resources/credit_offers.rbs

Overview

Operations on the credit offers resource.

Instance Method Summary collapse

Constructor Details

#initialize(http) ⇒ CreditOffers

Returns a new instance of CreditOffers.

Parameters:



11
12
13
# File 'lib/dinie/generated/resources/credit_offers.rb', line 11

def initialize(http)
  @http = http
end

Instance Method Details

#create_simulation(id, request_options: {}, **fields) ⇒ Dinie::Simulation

Price an offer (POST /credit-offers/{id}/simulations).

Parameters:

  • credit_offer_id (String)
  • request_options: (request_opts) (defaults to: {})
  • fields (Object)

Returns:



23
24
25
26
27
# File 'lib/dinie/generated/resources/credit_offers.rb', line 23

def create_simulation(id, request_options: {}, **fields)
  body = Simulation.serialize_create_simulation(**fields)
  raw = @http.request(method: :post, path: "/credit-offers/#{id}/simulations", body:, request_options:)
  Simulation.deserialize(raw)
end

#list(limit: Internal::OMIT, starting_after: Internal::OMIT, request_options: {}, **filters) ⇒ Dinie::Page[Dinie::CreditOffer]

List credit offers (GET /credit-offers), auto-paginating by starting_after.

Parameters:

  • limit: (Integer) (defaults to: Internal::OMIT)
  • starting_after: (String) (defaults to: Internal::OMIT)
  • request_options: (request_opts) (defaults to: {})
  • filters (Object)

Returns:



36
37
38
39
40
41
42
43
44
# File 'lib/dinie/generated/resources/credit_offers.rb', line 36

def list(limit: Internal::OMIT, starting_after: Internal::OMIT, request_options: {}, **filters)
  fetch_page = lambda do |cursor|
    query = { limit:, starting_after: cursor || starting_after, **filters }
            .reject { |_key, value| Internal.omitted?(value) }
    body = @http.request(method: :get, path: "/credit-offers", query:, request_options:)
    { data: body[:data].map { |raw| CreditOffer.deserialize(raw) }, has_more: body[:has_more] }
  end
  Dinie::Page.from_fetch(fetch_page)
end

#retrieve(id, request_options: {}) ⇒ Dinie::CreditOffer

Retrieve a single credit offer (GET /credit-offers/{id}).

Parameters:

  • id (String)
  • request_options: (request_opts) (defaults to: {})

Returns:



53
54
55
56
# File 'lib/dinie/generated/resources/credit_offers.rb', line 53

def retrieve(id, request_options: {})
  raw = @http.request(method: :get, path: "/credit-offers/#{id}", request_options:)
  CreditOffer.deserialize(raw)
end