Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update generated code #1369

Merged
merged 5 commits into from
Mar 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion OPENAPI_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v889
v908
4 changes: 4 additions & 0 deletions lib/stripe/object_types.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ def self.object_names_to_classes
Balance.object_name => Balance,
BalanceTransaction.object_name => BalanceTransaction,
BankAccount.object_name => BankAccount,
Billing::Meter.object_name => Billing::Meter,
Billing::MeterEvent.object_name => Billing::MeterEvent,
Billing::MeterEventAdjustment.object_name => Billing::MeterEventAdjustment,
Billing::MeterEventSummary.object_name => Billing::MeterEventSummary,
BillingPortal::Configuration.object_name => BillingPortal::Configuration,
BillingPortal::Session.object_name => BillingPortal::Session,
Capability.object_name => Capability,
Expand Down
4 changes: 4 additions & 0 deletions lib/stripe/resources.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@
require "stripe/resources/balance"
require "stripe/resources/balance_transaction"
require "stripe/resources/bank_account"
require "stripe/resources/billing/meter"
require "stripe/resources/billing/meter_event"
require "stripe/resources/billing/meter_event_adjustment"
require "stripe/resources/billing/meter_event_summary"
require "stripe/resources/billing_portal/configuration"
require "stripe/resources/billing_portal/session"
require "stripe/resources/capability"
Expand Down
83 changes: 83 additions & 0 deletions lib/stripe/resources/billing/meter.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# File generated from our OpenAPI spec
# frozen_string_literal: true

module Stripe
module Billing
# A billing meter is a resource that allows you to track usage of a particular event. For example, you might create a billing meter to track the number of API calls made by a particular user. You can then use the billing meter to charge the user for the number of API calls they make.
class Meter < APIResource
extend Stripe::APIOperations::Create
extend Stripe::APIOperations::List
extend Stripe::APIOperations::NestedResource
include Stripe::APIOperations::Save

OBJECT_NAME = "billing.meter"
def self.object_name
"billing.meter"
end

nested_resource_class_methods :event_summary,
operations: %i[list],
resource_plural: "event_summaries"

# Creates a billing meter
def self.create(params = {}, opts = {})
request_stripe_object(method: :post, path: "/v1/billing/meters", params: params, opts: opts)
end

# Deactivates a billing meter
def deactivate(params = {}, opts = {})
request_stripe_object(
method: :post,
path: format("/v1/billing/meters/%<id>s/deactivate", { id: CGI.escape(self["id"]) }),
params: params,
opts: opts
)
end

# Deactivates a billing meter
def self.deactivate(id, params = {}, opts = {})
request_stripe_object(
method: :post,
path: format("/v1/billing/meters/%<id>s/deactivate", { id: CGI.escape(id) }),
params: params,
opts: opts
)
end

# Retrieve a list of billing meters.
def self.list(filters = {}, opts = {})
request_stripe_object(method: :get, path: "/v1/billing/meters", params: filters, opts: opts)
end

# Reactivates a billing meter
def reactivate(params = {}, opts = {})
request_stripe_object(
method: :post,
path: format("/v1/billing/meters/%<id>s/reactivate", { id: CGI.escape(self["id"]) }),
params: params,
opts: opts
)
end

# Reactivates a billing meter
def self.reactivate(id, params = {}, opts = {})
request_stripe_object(
method: :post,
path: format("/v1/billing/meters/%<id>s/reactivate", { id: CGI.escape(id) }),
params: params,
opts: opts
)
end

# Updates a billing meter
def self.update(id, params = {}, opts = {})
request_stripe_object(
method: :post,
path: format("/v1/billing/meters/%<id>s", { id: CGI.escape(id) }),
params: params,
opts: opts
)
end
end
end
end
27 changes: 27 additions & 0 deletions lib/stripe/resources/billing/meter_event.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# File generated from our OpenAPI spec
# frozen_string_literal: true

module Stripe
module Billing
# A billing meter event represents a customer's usage of a product. Meter events are used to bill a customer based on their usage.
# Meter events are associated with billing meters, which define the shape of the event's payload and how those events are aggregated for billing.
class MeterEvent < APIResource
extend Stripe::APIOperations::Create

OBJECT_NAME = "billing.meter_event"
def self.object_name
"billing.meter_event"
end

# Creates a billing meter event
def self.create(params = {}, opts = {})
request_stripe_object(
method: :post,
path: "/v1/billing/meter_events",
params: params,
opts: opts
)
end
end
end
end
26 changes: 26 additions & 0 deletions lib/stripe/resources/billing/meter_event_adjustment.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# File generated from our OpenAPI spec
# frozen_string_literal: true

module Stripe
module Billing
# A billing meter event adjustment represents the status of a meter event adjustment.
class MeterEventAdjustment < APIResource
extend Stripe::APIOperations::Create

OBJECT_NAME = "billing.meter_event_adjustment"
def self.object_name
"billing.meter_event_adjustment"
end

# Creates a billing meter event adjustment
def self.create(params = {}, opts = {})
request_stripe_object(
method: :post,
path: "/v1/billing/meter_event_adjustments",
params: params,
opts: opts
)
end
end
end
end
15 changes: 15 additions & 0 deletions lib/stripe/resources/billing/meter_event_summary.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# File generated from our OpenAPI spec
# frozen_string_literal: true

module Stripe
module Billing
# A billing meter event summary represents an aggregated view of a customer's billing meter events within a specified timeframe. It indicates how much
# usage was accrued by a customer for that period.
class MeterEventSummary < APIResource
OBJECT_NAME = "billing.meter_event_summary"
def self.object_name
"billing.meter_event_summary"
end
end
end
end
4 changes: 3 additions & 1 deletion lib/stripe/resources/confirmation_token.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ module Stripe
# to your server for confirming a PaymentIntent or SetupIntent. If the confirmation
# is successful, values present on the ConfirmationToken are written onto the Intent.
#
# To learn more or request access, visit the related guided: [Finalize payments on the server using Confirmation Tokens](https://stripe.com/docs/payments/finalize-payments-on-the-server-confirmation-tokens).
# To learn more about how to use ConfirmationToken, visit the related guides:
# - [Finalize payments on the server](https://stripe.com/docs/payments/finalize-payments-on-the-server)
# - [Build two-step confirmation](https://stripe.com/docs/payments/build-a-two-step-confirmation).
class ConfirmationToken < APIResource
OBJECT_NAME = "confirmation_token"
def self.object_name
Expand Down
2 changes: 2 additions & 0 deletions lib/stripe/resources/forwarding/request.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ module Forwarding
#
# Forwarding Requests are synchronous requests that return a response or time out according to
# Stripe's limits.
#
# Related guide: [Forward card details to third-party API endpoints](https://docs.stripe.com/payments/forwarding).
class Request < APIResource
extend Stripe::APIOperations::Create
extend Stripe::APIOperations::List
Expand Down
4 changes: 4 additions & 0 deletions lib/stripe/resources/invoice.rb
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,8 @@ def self.update(id, params = {}, opts = {})
end

# Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://stripe.com/docs/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.
#
# Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. You might need to [issue another invoice or <a href="#create_credit_note">credit note](https://stripe.com/docs/api#create_invoice) instead. Stripe recommends that you consult with your legal counsel for advice specific to your business.
def void_invoice(params = {}, opts = {})
request_stripe_object(
method: :post,
Expand All @@ -213,6 +215,8 @@ def void_invoice(params = {}, opts = {})
end

# Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://stripe.com/docs/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.
#
# Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. You might need to [issue another invoice or <a href="#create_credit_note">credit note](https://stripe.com/docs/api#create_invoice) instead. Stripe recommends that you consult with your legal counsel for advice specific to your business.
def self.void_invoice(invoice, params = {}, opts = {})
request_stripe_object(
method: :post,
Expand Down
4 changes: 2 additions & 2 deletions lib/stripe/resources/quote.rb
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ def self.list_line_items(quote, params = {}, opts = {})
)
end

# Download the PDF for a finalized quote
# Download the PDF for a finalized quote. Explanation for special handling can be found [here](https://docs.corp.stripe.com/quotes/overview#quote_pdf)
def pdf(params = {}, opts = {}, &read_body_chunk_block)
config = opts[:client]&.config || Stripe.config
opts = { api_base: config.uploads_base }.merge(opts)
Expand All @@ -137,7 +137,7 @@ def pdf(params = {}, opts = {}, &read_body_chunk_block)
)
end

# Download the PDF for a finalized quote
# Download the PDF for a finalized quote. Explanation for special handling can be found [here](https://docs.corp.stripe.com/quotes/overview#quote_pdf)
def self.pdf(quote, params = {}, opts = {}, &read_body_chunk_block)
config = opts[:client]&.config || Stripe.config
opts = { api_base: config.uploads_base }.merge(opts)
Expand Down