Compare commits

...

2 Commits

Author SHA1 Message Date
Richard Marmorstein
24312f9f49 Bump version to 8.0.0 2022-11-16 12:04:21 -08:00
pakrym-stripe
a0935c246d
Next major release changes (#1144) 2022-11-16 11:35:51 -08:00
13 changed files with 40 additions and 242 deletions

View File

@ -1,5 +1,37 @@
# Changelog
## 8.0.0 - 2022-11-16
* [#1144](https://github.com/stripe/stripe-ruby/pull/1144) Next major release changes
Breaking changes that arose during code generation of the library that we postponed for the next major version. For changes to the Stripe products, read more at https://stripe.com/docs/upgrades#2022-11-15.
"⚠️" symbol highlights breaking changes.
### Deprecated
- The `save` method is deprecated. Prefer the static `update` method that doesn't require retrieval of the resource to update it.
``` ruby
# before
refund = Stripe::Refund.retrieve("re_123")
refund.description = "Refund description"
refund.save
# after
Stripe::Refund.update("re_123", description: "Refund description")
```
### ⚠️ Removed
- Removed deprecated `Sku` resource.
- Removed deprecated `Orders` resource.
- Removed deprecated `delete` method on `Subscription` resource. Please use `cancel` method instead.
```ruby
# before
Stripe::Subscription::delete("sub_12345")
# after
Stripe::Subscription::cancel("sub_12345")
```
## 7.1.0 - 2022-08-19
* [#1116](https://github.com/stripe/stripe-ruby/pull/1116) API Updates
* Add support for new resource `CustomerCashBalanceTransaction`

View File

@ -1 +1 @@
7.1.0
8.0.0

View File

@ -33,6 +33,9 @@ module Stripe
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.
#
# Creates or updates an API resource.
#
# If the resource doesn't yet have an assigned ID and the resource is one
@ -68,6 +71,8 @@ module Stripe
resp, opts = execute_resource_request(:post, save_url, values, opts)
initialize_from(resp.data, opts)
end
extend Gem::Deprecate
deprecate :save, :update, 2022, 11
def self.included(base)
# Set `metadata` as additive so that when it's set directly we remember

View File

@ -3,6 +3,6 @@
module Stripe
module ApiVersion
CURRENT = "2022-08-01"
CURRENT = "2022-11-15"
end
end

View File

@ -62,7 +62,6 @@ module Stripe
LineItem::OBJECT_NAME => LineItem,
LoginLink::OBJECT_NAME => LoginLink,
Mandate::OBJECT_NAME => Mandate,
Order::OBJECT_NAME => Order,
PaymentIntent::OBJECT_NAME => PaymentIntent,
PaymentLink::OBJECT_NAME => PaymentLink,
PaymentMethod::OBJECT_NAME => PaymentMethod,
@ -85,7 +84,6 @@ module Stripe
SetupIntent::OBJECT_NAME => SetupIntent,
ShippingRate::OBJECT_NAME => ShippingRate,
Sigma::ScheduledQueryRun::OBJECT_NAME => Sigma::ScheduledQueryRun,
SKU::OBJECT_NAME => SKU,
Source::OBJECT_NAME => Source,
SourceTransaction::OBJECT_NAME => SourceTransaction,
Subscription::OBJECT_NAME => Subscription,

View File

@ -49,7 +49,6 @@ require "stripe/resources/issuing/transaction"
require "stripe/resources/line_item"
require "stripe/resources/login_link"
require "stripe/resources/mandate"
require "stripe/resources/order"
require "stripe/resources/payment_intent"
require "stripe/resources/payment_link"
require "stripe/resources/payment_method"
@ -72,7 +71,6 @@ require "stripe/resources/setup_attempt"
require "stripe/resources/setup_intent"
require "stripe/resources/shipping_rate"
require "stripe/resources/sigma/scheduled_query_run"
require "stripe/resources/sku"
require "stripe/resources/source"
require "stripe/resources/source_transaction"
require "stripe/resources/subscription"

View File

@ -1,89 +0,0 @@
# File generated from our OpenAPI spec
# frozen_string_literal: true
module Stripe
# An Order describes a purchase being made by a customer, including the
# products & quantities being purchased, the order status, the payment information,
# and the billing/shipping details.
#
# Related guide: [Orders overview](https://stripe.com/docs/orders)
class Order < APIResource
extend Stripe::APIOperations::Create
extend Stripe::APIOperations::List
include Stripe::APIOperations::Save
OBJECT_NAME = "order"
def cancel(params = {}, opts = {})
request_stripe_object(
method: :post,
path: format("/v1/orders/%<id>s/cancel", { id: CGI.escape(self["id"]) }),
params: params,
opts: opts
)
end
def list_line_items(params = {}, opts = {})
request_stripe_object(
method: :get,
path: format("/v1/orders/%<id>s/line_items", { id: CGI.escape(self["id"]) }),
params: params,
opts: opts
)
end
def reopen(params = {}, opts = {})
request_stripe_object(
method: :post,
path: format("/v1/orders/%<id>s/reopen", { id: CGI.escape(self["id"]) }),
params: params,
opts: opts
)
end
def submit(params = {}, opts = {})
request_stripe_object(
method: :post,
path: format("/v1/orders/%<id>s/submit", { id: CGI.escape(self["id"]) }),
params: params,
opts: opts
)
end
def self.cancel(id, params = {}, opts = {})
request_stripe_object(
method: :post,
path: format("/v1/orders/%<id>s/cancel", { id: CGI.escape(id) }),
params: params,
opts: opts
)
end
def self.list_line_items(id, params = {}, opts = {})
request_stripe_object(
method: :get,
path: format("/v1/orders/%<id>s/line_items", { id: CGI.escape(id) }),
params: params,
opts: opts
)
end
def self.reopen(id, params = {}, opts = {})
request_stripe_object(
method: :post,
path: format("/v1/orders/%<id>s/reopen", { id: CGI.escape(id) }),
params: params,
opts: opts
)
end
def self.submit(id, params = {}, opts = {})
request_stripe_object(
method: :post,
path: format("/v1/orders/%<id>s/submit", { id: CGI.escape(id) }),
params: params,
opts: opts
)
end
end
end

View File

@ -6,10 +6,6 @@ module Stripe
# but not yet refunded. Funds will be refunded to the credit or debit card that
# was originally charged.
#
# Stripe Tax users with recurring payments and invoices can create [Credit Notes](https://stripe.com/docs/api/credit_notes),
# which reduce overall tax liability because tax is correctly recalculated and
# apportioned to the related invoice.
#
# Related guide: [Refunds](https://stripe.com/docs/refunds).
class Refund < APIResource
extend Stripe::APIOperations::Create

View File

@ -1,19 +0,0 @@
# File generated from our OpenAPI spec
# frozen_string_literal: true
module Stripe
# Stores representations of [stock keeping units](http://en.wikipedia.org/wiki/Stock_keeping_unit).
# SKUs describe specific product variations, taking into account any combination of: attributes,
# currency, and cost. For example, a product may be a T-shirt, whereas a specific SKU represents
# the `size: large`, `color: red` version of that shirt.
#
# Can also be used to manage inventory.
class SKU < APIResource
extend Stripe::APIOperations::Create
include Stripe::APIOperations::Delete
extend Stripe::APIOperations::List
include Stripe::APIOperations::Save
OBJECT_NAME = "sku"
end
end

View File

@ -50,31 +50,6 @@ module Stripe
end
save_nested_resource :source
def delete(params = {}, opts = {})
request_stripe_object(
method: :delete,
path: format("/v1/subscriptions/%<subscription_exposed_id>s", { subscription_exposed_id: CGI.escape(self["id"]) }),
params: params,
opts: opts
)
end
def self.delete(subscription_exposed_id, params = {}, opts = {})
request_stripe_object(
method: :delete,
path: format("/v1/subscriptions/%<subscription_exposed_id>s", { subscription_exposed_id: CGI.escape(subscription_exposed_id) }),
params: params,
opts: opts
)
end
extend Gem::Deprecate
deprecate :delete, "Stripe::Subscription.cancel", 2022, 7
class << self
extend Gem::Deprecate
deprecate :delete, "Stripe::Subscription#cancel", 2022, 7
end
def self.search(params = {}, opts = {})
_search("/v1/subscriptions/search", params, opts)

View File

@ -1,5 +1,5 @@
# frozen_string_literal: true
module Stripe
VERSION = "7.1.0"
VERSION = "8.0.0"
end

View File

@ -1815,44 +1815,6 @@ module Stripe
assert_requested :get, "#{Stripe.api_base}/v1/sigma/scheduled_query_runs/sqr_xxxxxxxxxxxxx?"
end
end
context "SKU.create" do
should "support requests with args: attributes, price, currency, inventory, product" do
Stripe::SKU.create(
{
attributes: { size: "Medium", gender: "Unisex" },
price: 1500,
currency: "usd",
inventory: { type: "finite", quantity: 500 },
product: "prod_xxxxxxxxxxxxx",
}
)
assert_requested :post, "#{Stripe.api_base}/v1/skus"
end
end
context "SKU.delete" do
should "support requests with args: id" do
Stripe::SKU.delete("sku_xxxxxxxxxxxxx")
assert_requested :delete, "#{Stripe.api_base}/v1/skus/sku_xxxxxxxxxxxxx?"
end
end
context "SKU.list" do
should "support requests with args: limit" do
Stripe::SKU.list({ limit: 3 })
assert_requested :get, "#{Stripe.api_base}/v1/skus?limit=3"
end
end
context "SKU.retrieve" do
should "support requests with args: id" do
Stripe::SKU.retrieve("sku_xxxxxxxxxxxxx")
assert_requested :get, "#{Stripe.api_base}/v1/skus/sku_xxxxxxxxxxxxx?"
end
end
context "SKU.update" do
should "support requests with args: metadata, id" do
Stripe::SKU.update("sku_xxxxxxxxxxxxx", { metadata: { order_id: "6735" } })
assert_requested :post, "#{Stripe.api_base}/v1/skus/sku_xxxxxxxxxxxxx"
end
end
context "Source.retrieve" do
should "support requests with args: id" do
Stripe::Source.retrieve("src_xxxxxxxxxxxxx")

View File

@ -1,60 +0,0 @@
# frozen_string_literal: true
require ::File.expand_path("../test_helper", __dir__)
module Stripe
class SKUTest < Test::Unit::TestCase
should "be listable" do
skus = Stripe::SKU.list
assert_requested :get, "#{Stripe.api_base}/v1/skus"
assert skus.data.is_a?(Array)
assert skus.data[0].is_a?(Stripe::SKU)
end
should "be retrievable" do
sku = Stripe::SKU.retrieve("sku_123")
assert_requested :get, "#{Stripe.api_base}/v1/skus/sku_123"
assert sku.is_a?(Stripe::SKU)
end
should "be creatable" do
_ = Stripe::SKU.create(
currency: "USD",
inventory: { type: "finite", quantity: 500 },
price: 100,
product: "prod_123"
)
assert_requested :post, "#{Stripe.api_base}/v1/skus"
end
should "be saveable" do
sku = Stripe::SKU.retrieve("sku_123")
sku.metadata["key"] = "value"
sku.save
assert_requested :post, "#{Stripe.api_base}/v1/skus/#{sku.id}"
end
should "be updateable" do
sku = Stripe::SKU.update("sku_123", metadata: { foo: "bar" })
assert_requested :post, "#{Stripe.api_base}/v1/skus/sku_123"
assert sku.is_a?(Stripe::SKU)
end
context "#delete" do
should "be deletable" do
sku = Stripe::SKU.retrieve("sku_123")
sku = sku.delete
assert_requested :delete, "#{Stripe.api_base}/v1/skus/#{sku.id}"
assert sku.is_a?(Stripe::SKU)
end
end
context ".delete" do
should "be deletable" do
sku = Stripe::SKU.delete("sku_123")
assert_requested :delete, "#{Stripe.api_base}/v1/skus/sku_123"
assert sku.is_a?(Stripe::SKU)
end
end
end
end