-
Notifications
You must be signed in to change notification settings - Fork 556
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1302 from stripe/latest-codegen-beta
Update generated code for beta
- Loading branch information
Showing
9 changed files
with
192 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
v715 | ||
v737 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
# frozen_string_literal: true | ||
|
||
module Stripe | ||
module APIOperations | ||
module SingletonSave | ||
module ClassMethods | ||
# Updates a singleton API resource | ||
# | ||
# Updates the identified resource with the passed in parameters. | ||
# | ||
# ==== Attributes | ||
# | ||
# * +params+ - A hash of parameters to pass to the API | ||
# * +opts+ - A Hash of additional options (separate from the params / | ||
# object values) to be added to the request. E.g. to allow for an | ||
# idempotency_key to be passed in the request headers, or for the | ||
# api_key to be overwritten. See | ||
# {APIOperations::Request.execute_resource_request}. | ||
def update(params = {}, opts = {}) | ||
params.each_key do |k| | ||
raise ArgumentError, "Cannot update protected field: #{k}" if protected_fields.include?(k) | ||
end | ||
|
||
request_stripe_object( | ||
method: :post, | ||
path: resource_url, | ||
params: params, | ||
opts: opts | ||
) | ||
end | ||
end | ||
|
||
# The `save` method is DEPRECATED and will be removed in a future major | ||
# version of the library. Use the `update` method on the resource instead. | ||
# | ||
# Updates a singleton API resource. | ||
# | ||
# If the resource doesn't yet have an assigned ID and the resource is one | ||
# that can be created, then the method attempts to create the resource. | ||
# The resource is updated otherwise. | ||
# | ||
# ==== Attributes | ||
# | ||
# * +params+ - Overrides any parameters in the resource's serialized data | ||
# and includes them in the create or update. If +:req_url:+ is included | ||
# in the list, it overrides the update URL used for the create or | ||
# update. | ||
# * +opts+ - A Hash of additional options (separate from the params / | ||
# object values) to be added to the request. E.g. to allow for an | ||
# idempotency_key to be passed in the request headers, or for the | ||
# api_key to be overwritten. See | ||
# {APIOperations::Request.execute_resource_request}. | ||
def save(params = {}, opts = {}) | ||
# We started unintentionally (sort of) allowing attributes sent to | ||
# +save+ to override values used during the update. So as not to break | ||
# the API, this makes that official here. | ||
update_attributes(params) | ||
|
||
# Now remove any parameters that look like object attributes. | ||
params = params.reject { |k, _| respond_to?(k) } | ||
|
||
values = serialize_params(self).merge(params) | ||
|
||
resp, opts = execute_resource_request(:post, resource_url, values, opts, ["save"]) | ||
initialize_from(resp.data, opts) | ||
end | ||
extend Gem::Deprecate | ||
deprecate :save, "the `update` class method (for examples " \ | ||
"see https://github.com/stripe/stripe-ruby" \ | ||
"/wiki/Migration-guide-for-v8)", 2022, 11 | ||
|
||
def self.included(base) | ||
# Set `metadata` as additive so that when it's set directly we remember | ||
# to clear keys that may have been previously set by sending empty | ||
# values for them. | ||
# | ||
# It's possible that not every object with `Save` has `metadata`, but | ||
# it's a close enough heuristic, and having this option set when there | ||
# is no `metadata` field is not harmful. | ||
base.additive_object_param(:metadata) | ||
|
||
base.extend(ClassMethods) | ||
end | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters