Class: Nombaone::Resources::SubscriptionSchedules

Inherits:
BaseResource
  • Object
show all
Defined in:
lib/nombaone/resources/subscriptions.rb,
sig/nombaone/resources.rbs

Overview

Scheduled (next-cycle) changes queued against a subscription (nombaone.subscriptions.schedule).

Instance Method Summary collapse

Methods inherited from BaseResource

#encode, #initialize, #request, #request_page

Constructor Details

This class inherits a constructor from Nombaone::Resources::BaseResource

Instance Method Details

#create(subscription_id, price_id:, quantity: OMIT, effective_at: OMIT, request_options: {}) ⇒ NombaObject

Queue a change for the next cycle boundary — the safe way to switch billing intervals (mid-cycle interval proration is unsupported).

Parameters:

  • subscription_id (String)

    nbo…sub

  • price_id (String)

    the price to switch to at the boundary.

  • quantity (Integer) (defaults to: OMIT)
  • effective_at (String) (defaults to: OMIT)

    defaults to "next_cycle" server-side.

  • request_options (Hash) (defaults to: {})

Returns:

Raises:



18
19
20
21
22
23
# File 'lib/nombaone/resources/subscriptions.rb', line 18

def create(subscription_id, price_id:, quantity: OMIT, effective_at: OMIT,
           request_options: {})
  request(:post, "/subscriptions/#{encode(subscription_id)}/schedule",
          body: { price_id: price_id, quantity: quantity, effective_at: effective_at },
          options: request_options)
end

#release(subscription_id, request_options: {}) ⇒ NombaObject

Cancel the pending schedule before it applies.

Parameters:

  • subscription_id (String)

    nbo…sub

  • request_options (Hash) (defaults to: {})
  • request_options: (Nombaone::request_options) (defaults to: {})

Returns:



41
42
43
44
# File 'lib/nombaone/resources/subscriptions.rb', line 41

def release(subscription_id, request_options: {})
  request(:delete, "/subscriptions/#{encode(subscription_id)}/schedule",
          options: request_options)
end

#retrieve(subscription_id, request_options: {}) ⇒ NombaObject

Retrieve the subscription's schedule.

Parameters:

  • subscription_id (String)

    nbo…sub

  • request_options (Hash) (defaults to: {})
  • request_options: (Nombaone::request_options) (defaults to: {})

Returns:

Raises:



31
32
33
34
# File 'lib/nombaone/resources/subscriptions.rb', line 31

def retrieve(subscription_id, request_options: {})
  request(:get, "/subscriptions/#{encode(subscription_id)}/schedule",
          options: request_options)
end