From 89b50b6f6ebacddbec3eca39a11db7db0e6b4200 Mon Sep 17 00:00:00 2001 From: Richard Marmorstein Date: Wed, 19 Jan 2022 13:55:39 -0800 Subject: [PATCH 1/3] Codegen for openapi 4d2f301 --- lib/stripe/object_types.rb | 1 + lib/stripe/resources.rb | 1 + lib/stripe/resources/payment_link.rb | 23 +++++++++++++++++++++++ test/stripe/generated_examples_test.rb | 16 ++++++++++++++++ 4 files changed, 41 insertions(+) create mode 100644 lib/stripe/resources/payment_link.rb diff --git a/lib/stripe/object_types.rb b/lib/stripe/object_types.rb index 7f60ff4ae..70ad023ac 100644 --- a/lib/stripe/object_types.rb +++ b/lib/stripe/object_types.rb @@ -59,6 +59,7 @@ def self.object_names_to_classes Order::OBJECT_NAME => Order, OrderReturn::OBJECT_NAME => OrderReturn, PaymentIntent::OBJECT_NAME => PaymentIntent, + PaymentLink::OBJECT_NAME => PaymentLink, PaymentMethod::OBJECT_NAME => PaymentMethod, Payout::OBJECT_NAME => Payout, Person::OBJECT_NAME => Person, diff --git a/lib/stripe/resources.rb b/lib/stripe/resources.rb index 6ac90c0f1..4e95f3655 100644 --- a/lib/stripe/resources.rb +++ b/lib/stripe/resources.rb @@ -48,6 +48,7 @@ require "stripe/resources/order" require "stripe/resources/order_return" require "stripe/resources/payment_intent" +require "stripe/resources/payment_link" require "stripe/resources/payment_method" require "stripe/resources/payout" require "stripe/resources/person" diff --git a/lib/stripe/resources/payment_link.rb b/lib/stripe/resources/payment_link.rb new file mode 100644 index 000000000..6db8cbc19 --- /dev/null +++ b/lib/stripe/resources/payment_link.rb @@ -0,0 +1,23 @@ +# File generated from our OpenAPI spec +# frozen_string_literal: true + +module Stripe + class PaymentLink < APIResource + extend Stripe::APIOperations::Create + extend Stripe::APIOperations::List + include Stripe::APIOperations::Save + + OBJECT_NAME = "payment_link" + + custom_method :list_line_items, http_verb: :get, http_path: "line_items" + + def list_line_items(params = {}, opts = {}) + request_stripe_object( + method: :get, + path: resource_url + "/line_items", + params: params, + opts: opts + ) + end + end +end diff --git a/test/stripe/generated_examples_test.rb b/test/stripe/generated_examples_test.rb index ef357981c..10859b91c 100644 --- a/test/stripe/generated_examples_test.rb +++ b/test/stripe/generated_examples_test.rb @@ -857,6 +857,14 @@ class CodegennedExampleTest < Test::Unit::TestCase ) assert_requested :post, "#{Stripe.api_base}/v1/payment_intents" end + should "support requests with args: amount, currency, automatic_payment_methods" do + Stripe::PaymentIntent.create( + amount: 1099, + currency: "eur", + automatic_payment_methods: { enabled: true } + ) + assert_requested :post, "#{Stripe.api_base}/v1/payment_intents" + end end context "PaymentIntent.list" do should "support requests with args: limit" do @@ -879,6 +887,14 @@ class CodegennedExampleTest < Test::Unit::TestCase assert_requested :post, "#{Stripe.api_base}/v1/payment_intents/pi_xxxxxxxxxxxxx" end end + context "PaymentLink.create" do + should "support requests with args: line_items" do + Stripe::PaymentLink.create( + line_items: [{ price: "price_xxxxxxxxxxxxx", quantity: 1 }] + ) + assert_requested :post, "#{Stripe.api_base}/v1/payment_links" + end + end context "PaymentMethod.attach" do should "support requests with args: customer, id" do Stripe::PaymentMethod.attach( From 4f8b75c0c4782e34102d16f3331a9fb02ba8de58 Mon Sep 17 00:00:00 2001 From: Richard Marmorstein Date: Wed, 19 Jan 2022 14:37:17 -0800 Subject: [PATCH 2/3] bump From 519287b99f8ef3f04fb363e021b0adf7705d9c8d Mon Sep 17 00:00:00 2001 From: Richard Marmorstein Date: Wed, 19 Jan 2022 14:57:52 -0800 Subject: [PATCH 3/3] More tests --- test/stripe/generated_examples_test.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/test/stripe/generated_examples_test.rb b/test/stripe/generated_examples_test.rb index 10859b91c..0bceea0ed 100644 --- a/test/stripe/generated_examples_test.rb +++ b/test/stripe/generated_examples_test.rb @@ -895,6 +895,18 @@ class CodegennedExampleTest < Test::Unit::TestCase assert_requested :post, "#{Stripe.api_base}/v1/payment_links" end end + context "PaymentLink.list_line_items" do + should "support requests with args: payment_link" do + Stripe::PaymentLink.list_line_items("pl_xyz") + assert_requested :get, "#{Stripe.api_base}/v1/payment_links/pl_xyz/line_items?" + end + end + context "PaymentLink.retrieve" do + should "support requests with args: payment_link" do + Stripe::PaymentLink.retrieve("pl_xyz") + assert_requested :get, "#{Stripe.api_base}/v1/payment_links/pl_xyz?" + end + end context "PaymentMethod.attach" do should "support requests with args: customer, id" do Stripe::PaymentMethod.attach(