From 603e760be76b7ef00f4f13c32e4f79b33a1753e2 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 24 Sep 2025 00:54:52 +0000 Subject: [PATCH 1/2] feat(api): api update --- .stats.yml | 6 +- lib/increase.rb | 7 +- lib/increase/client.rb | 4 - lib/increase/models.rb | 12 +-- ...b => card_create_details_iframe_params.rb} | 12 ++- lib/increase/models/card_details.rb | 14 +-- ...tails_params.rb => card_details_params.rb} | 4 +- lib/increase/models/card_iframe_url.rb | 2 +- lib/increase/models/card_update_params.rb | 10 +-- ...te_params.rb => card_update_pin_params.rb} | 4 +- lib/increase/resources/card_details.rb | 85 ------------------- lib/increase/resources/cards.rb | 78 ++++++++++++++++- rbi/increase/client.rbi | 3 - rbi/increase/models.rbi | 14 +-- ... => card_create_details_iframe_params.rbi} | 10 ++- rbi/increase/models/card_details.rbi | 18 ++-- ...ils_params.rbi => card_details_params.rbi} | 4 +- rbi/increase/models/card_update_params.rbi | 11 --- ..._params.rbi => card_update_pin_params.rbi} | 4 +- rbi/increase/resources/card_details.rbi | 63 -------------- rbi/increase/resources/cards.rbi | 55 +++++++++++- sig/increase/client.rbs | 2 - sig/increase/models.rbs | 12 +-- ... => card_create_details_iframe_params.rbs} | 4 +- sig/increase/models/card_details.rbs | 14 +-- ...ils_params.rbs => card_details_params.rbs} | 4 +- sig/increase/models/card_update_params.rbs | 7 -- ..._params.rbs => card_update_pin_params.rbs} | 4 +- sig/increase/resources/card_details.rbs | 24 ------ sig/increase/resources/cards.rbs | 18 +++- test/increase/resources/card_details_test.rb | 61 ------------- test/increase/resources/cards_test.rb | 56 ++++++++++++ 32 files changed, 277 insertions(+), 349 deletions(-) rename lib/increase/models/{card_detail_create_details_iframe_params.rb => card_create_details_iframe_params.rb} (52%) rename lib/increase/models/{card_detail_details_params.rb => card_details_params.rb} (73%) rename lib/increase/models/{card_detail_update_params.rb => card_update_pin_params.rb} (82%) delete mode 100644 lib/increase/resources/card_details.rb rename rbi/increase/models/{card_detail_create_details_iframe_params.rbi => card_create_details_iframe_params.rbi} (69%) rename rbi/increase/models/{card_detail_details_params.rbi => card_details_params.rbi} (77%) rename rbi/increase/models/{card_detail_update_params.rbi => card_update_pin_params.rbi} (84%) delete mode 100644 rbi/increase/resources/card_details.rbi rename sig/increase/models/{card_detail_create_details_iframe_params.rbs => card_create_details_iframe_params.rbs} (81%) rename sig/increase/models/{card_detail_details_params.rbs => card_details_params.rbs} (77%) rename sig/increase/models/{card_detail_update_params.rbs => card_update_pin_params.rbs} (81%) delete mode 100644 sig/increase/resources/card_details.rbs delete mode 100644 test/increase/resources/card_details_test.rb diff --git a/.stats.yml b/.stats.yml index afc57da05..5a7b82c92 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 214 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-4c440e14682c4e4c886da6d05b2f5ff539a3aadc6906bb4069a5df45e0d3cae9.yml -openapi_spec_hash: e400be1da67cec4ce706eda1868dd86b -config_hash: 8dadd60eab7ab858cf06c6a8633ed9f3 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-e0a19c46b65842ff370613aac24ba8777d7b961bd46a20e936e878386e048852.yml +openapi_spec_hash: 0f635610cedd9a0aacc6d5b347c3cccf +config_hash: a143293c5450ae8f52acad08f3102575 diff --git a/lib/increase.rb b/lib/increase.rb index e16ac2d3a..aeb02d5c7 100644 --- a/lib/increase.rb +++ b/lib/increase.rb @@ -97,11 +97,10 @@ require_relative "increase/models/bookkeeping_entry_set_list_params" require_relative "increase/models/bookkeeping_entry_set_retrieve_params" require_relative "increase/models/card" +require_relative "increase/models/card_create_details_iframe_params" require_relative "increase/models/card_create_params" -require_relative "increase/models/card_detail_create_details_iframe_params" -require_relative "increase/models/card_detail_details_params" require_relative "increase/models/card_details" -require_relative "increase/models/card_detail_update_params" +require_relative "increase/models/card_details_params" require_relative "increase/models/card_iframe_url" require_relative "increase/models/card_list_params" require_relative "increase/models/card_payment" @@ -123,6 +122,7 @@ require_relative "increase/models/card_token_list_params" require_relative "increase/models/card_token_retrieve_params" require_relative "increase/models/card_update_params" +require_relative "increase/models/card_update_pin_params" require_relative "increase/models/card_validation" require_relative "increase/models/card_validation_create_params" require_relative "increase/models/card_validation_list_params" @@ -335,7 +335,6 @@ require_relative "increase/resources/bookkeeping_accounts" require_relative "increase/resources/bookkeeping_entries" require_relative "increase/resources/bookkeeping_entry_sets" -require_relative "increase/resources/card_details" require_relative "increase/resources/card_payments" require_relative "increase/resources/card_purchase_supplements" require_relative "increase/resources/card_push_transfers" diff --git a/lib/increase/client.rb b/lib/increase/client.rb index 5301447d2..87262758d 100644 --- a/lib/increase/client.rb +++ b/lib/increase/client.rb @@ -35,9 +35,6 @@ class Client < Increase::Internal::Transport::BaseClient # @return [Increase::Resources::Cards] attr_reader :cards - # @return [Increase::Resources::CardDetails] - attr_reader :card_details - # @return [Increase::Resources::CardPayments] attr_reader :card_payments @@ -254,7 +251,6 @@ def initialize( @account_numbers = Increase::Resources::AccountNumbers.new(client: self) @account_transfers = Increase::Resources::AccountTransfers.new(client: self) @cards = Increase::Resources::Cards.new(client: self) - @card_details = Increase::Resources::CardDetails.new(client: self) @card_payments = Increase::Resources::CardPayments.new(client: self) @card_purchase_supplements = Increase::Resources::CardPurchaseSupplements.new(client: self) @physical_cards = Increase::Resources::PhysicalCards.new(client: self) diff --git a/lib/increase/models.rb b/lib/increase/models.rb index b31311ad9..d5137099f 100644 --- a/lib/increase/models.rb +++ b/lib/increase/models.rb @@ -131,15 +131,13 @@ module Increase Card = Increase::Models::Card - CardCreateParams = Increase::Models::CardCreateParams - - CardDetailCreateDetailsIframeParams = Increase::Models::CardDetailCreateDetailsIframeParams + CardCreateDetailsIframeParams = Increase::Models::CardCreateDetailsIframeParams - CardDetailDetailsParams = Increase::Models::CardDetailDetailsParams + CardCreateParams = Increase::Models::CardCreateParams - CardDetailsAPI = Increase::Models::CardDetailsAPI + CardDetails = Increase::Models::CardDetails - CardDetailUpdateParams = Increase::Models::CardDetailUpdateParams + CardDetailsParams = Increase::Models::CardDetailsParams CardIframeURL = Increase::Models::CardIframeURL @@ -183,6 +181,8 @@ module Increase CardUpdateParams = Increase::Models::CardUpdateParams + CardUpdatePinParams = Increase::Models::CardUpdatePinParams + CardValidation = Increase::Models::CardValidation CardValidationCreateParams = Increase::Models::CardValidationCreateParams diff --git a/lib/increase/models/card_detail_create_details_iframe_params.rb b/lib/increase/models/card_create_details_iframe_params.rb similarity index 52% rename from lib/increase/models/card_detail_create_details_iframe_params.rb rename to lib/increase/models/card_create_details_iframe_params.rb index a3fe3badf..af1a2e809 100644 --- a/lib/increase/models/card_detail_create_details_iframe_params.rb +++ b/lib/increase/models/card_create_details_iframe_params.rb @@ -2,19 +2,23 @@ module Increase module Models - # @see Increase::Resources::CardDetails#create_details_iframe - class CardDetailCreateDetailsIframeParams < Increase::Internal::Type::BaseModel + # @see Increase::Resources::Cards#create_details_iframe + class CardCreateDetailsIframeParams < Increase::Internal::Type::BaseModel extend Increase::Internal::Type::RequestParameters::Converter include Increase::Internal::Type::RequestParameters # @!attribute physical_card_id - # The identifier of the Physical Card to retrieve details for. + # The identifier of the Physical Card to create an iframe for. This will inform + # the appearance of the card rendered in the iframe. # # @return [String, nil] optional :physical_card_id, String # @!method initialize(physical_card_id: nil, request_options: {}) - # @param physical_card_id [String] The identifier of the Physical Card to retrieve details for. + # Some parameter documentations has been truncated, see + # {Increase::Models::CardCreateDetailsIframeParams} for more details. + # + # @param physical_card_id [String] The identifier of the Physical Card to create an iframe for. This will inform th # # @param request_options [Increase::RequestOptions, Hash{Symbol=>Object}] end diff --git a/lib/increase/models/card_details.rb b/lib/increase/models/card_details.rb index 395e5c946..762315d73 100644 --- a/lib/increase/models/card_details.rb +++ b/lib/increase/models/card_details.rb @@ -2,8 +2,8 @@ module Increase module Models - # @see Increase::Resources::CardDetails#update - class CardDetailsAPI < Increase::Internal::Type::BaseModel + # @see Increase::Resources::Cards#details + class CardDetails < Increase::Internal::Type::BaseModel # @!attribute card_id # The identifier for the Card for which sensitive details have been returned. # @@ -38,8 +38,8 @@ class CardDetailsAPI < Increase::Internal::Type::BaseModel # A constant representing the object's type. For this resource it will always be # `card_details`. # - # @return [Symbol, Increase::Models::CardDetailsAPI::Type] - required :type, enum: -> { Increase::CardDetailsAPI::Type } + # @return [Symbol, Increase::Models::CardDetails::Type] + required :type, enum: -> { Increase::CardDetails::Type } # @!attribute verification_code # The three-digit verification code for the card. It's also known as the Card @@ -51,7 +51,7 @@ class CardDetailsAPI < Increase::Internal::Type::BaseModel # @!method initialize(card_id:, expiration_month:, expiration_year:, pin:, primary_account_number:, type:, verification_code:) # Some parameter documentations has been truncated, see - # {Increase::Models::CardDetailsAPI} for more details. + # {Increase::Models::CardDetails} for more details. # # An object containing the sensitive details (card number, CVC, PIN, etc) for a # Card. These details are not included in the Card object. If you'd prefer to @@ -69,14 +69,14 @@ class CardDetailsAPI < Increase::Internal::Type::BaseModel # # @param primary_account_number [String] The card number. # - # @param type [Symbol, Increase::Models::CardDetailsAPI::Type] A constant representing the object's type. For this resource it will always be ` + # @param type [Symbol, Increase::Models::CardDetails::Type] A constant representing the object's type. For this resource it will always be ` # # @param verification_code [String] The three-digit verification code for the card. It's also known as the Card Veri # A constant representing the object's type. For this resource it will always be # `card_details`. # - # @see Increase::Models::CardDetailsAPI#type + # @see Increase::Models::CardDetails#type module Type extend Increase::Internal::Type::Enum diff --git a/lib/increase/models/card_detail_details_params.rb b/lib/increase/models/card_details_params.rb similarity index 73% rename from lib/increase/models/card_detail_details_params.rb rename to lib/increase/models/card_details_params.rb index 0b9401995..cee0ffd0d 100644 --- a/lib/increase/models/card_detail_details_params.rb +++ b/lib/increase/models/card_details_params.rb @@ -2,8 +2,8 @@ module Increase module Models - # @see Increase::Resources::CardDetails#details - class CardDetailDetailsParams < Increase::Internal::Type::BaseModel + # @see Increase::Resources::Cards#details + class CardDetailsParams < Increase::Internal::Type::BaseModel extend Increase::Internal::Type::RequestParameters::Converter include Increase::Internal::Type::RequestParameters diff --git a/lib/increase/models/card_iframe_url.rb b/lib/increase/models/card_iframe_url.rb index 688a08ec7..a0a258c26 100644 --- a/lib/increase/models/card_iframe_url.rb +++ b/lib/increase/models/card_iframe_url.rb @@ -2,7 +2,7 @@ module Increase module Models - # @see Increase::Resources::CardDetails#create_details_iframe + # @see Increase::Resources::Cards#create_details_iframe class CardIframeURL < Increase::Internal::Type::BaseModel # @!attribute expires_at # The time the iframe URL will expire. diff --git a/lib/increase/models/card_update_params.rb b/lib/increase/models/card_update_params.rb index a49bb6976..ce98cf8db 100644 --- a/lib/increase/models/card_update_params.rb +++ b/lib/increase/models/card_update_params.rb @@ -34,19 +34,13 @@ class CardUpdateParams < Increase::Internal::Type::BaseModel # @return [String, nil] optional :entity_id, String - # @!attribute pin - # The 4-digit PIN for the card, for use with ATMs. - # - # @return [String, nil] - optional :pin, String - # @!attribute status # The status to update the Card with. # # @return [Symbol, Increase::Models::CardUpdateParams::Status, nil] optional :status, enum: -> { Increase::CardUpdateParams::Status } - # @!method initialize(billing_address: nil, description: nil, digital_wallet: nil, entity_id: nil, pin: nil, status: nil, request_options: {}) + # @!method initialize(billing_address: nil, description: nil, digital_wallet: nil, entity_id: nil, status: nil, request_options: {}) # Some parameter documentations has been truncated, see # {Increase::Models::CardUpdateParams} for more details. # @@ -58,8 +52,6 @@ class CardUpdateParams < Increase::Internal::Type::BaseModel # # @param entity_id [String] The Entity the card belongs to. You only need to supply this in rare situations # - # @param pin [String] The 4-digit PIN for the card, for use with ATMs. - # # @param status [Symbol, Increase::Models::CardUpdateParams::Status] The status to update the Card with. # # @param request_options [Increase::RequestOptions, Hash{Symbol=>Object}] diff --git a/lib/increase/models/card_detail_update_params.rb b/lib/increase/models/card_update_pin_params.rb similarity index 82% rename from lib/increase/models/card_detail_update_params.rb rename to lib/increase/models/card_update_pin_params.rb index c3006159e..65f321092 100644 --- a/lib/increase/models/card_detail_update_params.rb +++ b/lib/increase/models/card_update_pin_params.rb @@ -2,8 +2,8 @@ module Increase module Models - # @see Increase::Resources::CardDetails#update - class CardDetailUpdateParams < Increase::Internal::Type::BaseModel + # @see Increase::Resources::Cards#update_pin + class CardUpdatePinParams < Increase::Internal::Type::BaseModel extend Increase::Internal::Type::RequestParameters::Converter include Increase::Internal::Type::RequestParameters diff --git a/lib/increase/resources/card_details.rb b/lib/increase/resources/card_details.rb deleted file mode 100644 index db7d9d197..000000000 --- a/lib/increase/resources/card_details.rb +++ /dev/null @@ -1,85 +0,0 @@ -# frozen_string_literal: true - -module Increase - module Resources - class CardDetails - # Update a Card's PIN - # - # @overload update(card_id, pin:, request_options: {}) - # - # @param card_id [String] The card identifier. - # - # @param pin [String] The 4-digit PIN for the card, for use with ATMs. - # - # @param request_options [Increase::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Increase::Models::CardDetailsAPI] - # - # @see Increase::Models::CardDetailUpdateParams - def update(card_id, params) - parsed, options = Increase::CardDetailUpdateParams.dump_request(params) - @client.request( - method: :patch, - path: ["cards/%1$s/details", card_id], - body: parsed, - model: Increase::CardDetailsAPI, - options: options - ) - end - - # Create an iframe URL for a Card to display the card details. More details about - # styling and usage can be found in the - # [documentation](/documentation/embedded-card-component). - # - # @overload create_details_iframe(card_id, physical_card_id: nil, request_options: {}) - # - # @param card_id [String] The identifier of the Card to retrieve details for. - # - # @param physical_card_id [String] The identifier of the Physical Card to retrieve details for. - # - # @param request_options [Increase::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Increase::Models::CardIframeURL] - # - # @see Increase::Models::CardDetailCreateDetailsIframeParams - def create_details_iframe(card_id, params = {}) - parsed, options = Increase::CardDetailCreateDetailsIframeParams.dump_request(params) - @client.request( - method: :post, - path: ["cards/%1$s/create_details_iframe", card_id], - body: parsed, - model: Increase::CardIframeURL, - options: options - ) - end - - # Sensitive details for a Card include the primary account number, expiry, card - # verification code, and PIN. - # - # @overload details(card_id, request_options: {}) - # - # @param card_id [String] The identifier of the Card to retrieve details for. - # - # @param request_options [Increase::RequestOptions, Hash{Symbol=>Object}, nil] - # - # @return [Increase::Models::CardDetailsAPI] - # - # @see Increase::Models::CardDetailDetailsParams - def details(card_id, params = {}) - @client.request( - method: :get, - path: ["cards/%1$s/details", card_id], - model: Increase::CardDetailsAPI, - options: params[:request_options] - ) - end - - # @api private - # - # @param client [Increase::Client] - def initialize(client:) - @client = client - end - end - end -end diff --git a/lib/increase/resources/cards.rb b/lib/increase/resources/cards.rb index 07ce4967d..c1e8da83b 100644 --- a/lib/increase/resources/cards.rb +++ b/lib/increase/resources/cards.rb @@ -55,7 +55,7 @@ def retrieve(card_id, params = {}) # # Update a Card # - # @overload update(card_id, billing_address: nil, description: nil, digital_wallet: nil, entity_id: nil, pin: nil, status: nil, request_options: {}) + # @overload update(card_id, billing_address: nil, description: nil, digital_wallet: nil, entity_id: nil, status: nil, request_options: {}) # # @param card_id [String] The card identifier. # @@ -67,8 +67,6 @@ def retrieve(card_id, params = {}) # # @param entity_id [String] The Entity the card belongs to. You only need to supply this in rare situations # - # @param pin [String] The 4-digit PIN for the card, for use with ATMs. - # # @param status [Symbol, Increase::Models::CardUpdateParams::Status] The status to update the Card with. # # @param request_options [Increase::RequestOptions, Hash{Symbol=>Object}, nil] @@ -123,6 +121,80 @@ def list(params = {}) ) end + # Some parameter documentations has been truncated, see + # {Increase::Models::CardCreateDetailsIframeParams} for more details. + # + # Create an iframe URL for a Card to display the card details. More details about + # styling and usage can be found in the + # [documentation](/documentation/embedded-card-component). + # + # @overload create_details_iframe(card_id, physical_card_id: nil, request_options: {}) + # + # @param card_id [String] The identifier of the Card to create an iframe for. + # + # @param physical_card_id [String] The identifier of the Physical Card to create an iframe for. This will inform th + # + # @param request_options [Increase::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Increase::Models::CardIframeURL] + # + # @see Increase::Models::CardCreateDetailsIframeParams + def create_details_iframe(card_id, params = {}) + parsed, options = Increase::CardCreateDetailsIframeParams.dump_request(params) + @client.request( + method: :post, + path: ["cards/%1$s/create_details_iframe", card_id], + body: parsed, + model: Increase::CardIframeURL, + options: options + ) + end + + # Sensitive details for a Card include the primary account number, expiry, card + # verification code, and PIN. + # + # @overload details(card_id, request_options: {}) + # + # @param card_id [String] The identifier of the Card to retrieve details for. + # + # @param request_options [Increase::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Increase::Models::CardDetails] + # + # @see Increase::Models::CardDetailsParams + def details(card_id, params = {}) + @client.request( + method: :get, + path: ["cards/%1$s/details", card_id], + model: Increase::CardDetails, + options: params[:request_options] + ) + end + + # Update a Card's PIN + # + # @overload update_pin(card_id, pin:, request_options: {}) + # + # @param card_id [String] The identifier of the Card to update the PIN for. + # + # @param pin [String] The 4-digit PIN for the card, for use with ATMs. + # + # @param request_options [Increase::RequestOptions, Hash{Symbol=>Object}, nil] + # + # @return [Increase::Models::CardDetails] + # + # @see Increase::Models::CardUpdatePinParams + def update_pin(card_id, params) + parsed, options = Increase::CardUpdatePinParams.dump_request(params) + @client.request( + method: :post, + path: ["cards/%1$s/update_pin", card_id], + body: parsed, + model: Increase::CardDetails, + options: options + ) + end + # @api private # # @param client [Increase::Client] diff --git a/rbi/increase/client.rbi b/rbi/increase/client.rbi index 538a281f6..31d6396b0 100644 --- a/rbi/increase/client.rbi +++ b/rbi/increase/client.rbi @@ -34,9 +34,6 @@ module Increase sig { returns(Increase::Resources::Cards) } attr_reader :cards - sig { returns(Increase::Resources::CardDetails) } - attr_reader :card_details - sig { returns(Increase::Resources::CardPayments) } attr_reader :card_payments diff --git a/rbi/increase/models.rbi b/rbi/increase/models.rbi index c2670ac4b..5542c8d6c 100644 --- a/rbi/increase/models.rbi +++ b/rbi/increase/models.rbi @@ -104,16 +104,14 @@ module Increase Card = Increase::Models::Card - CardCreateParams = Increase::Models::CardCreateParams - - CardDetailCreateDetailsIframeParams = - Increase::Models::CardDetailCreateDetailsIframeParams + CardCreateDetailsIframeParams = + Increase::Models::CardCreateDetailsIframeParams - CardDetailDetailsParams = Increase::Models::CardDetailDetailsParams + CardCreateParams = Increase::Models::CardCreateParams - CardDetailsAPI = Increase::Models::CardDetailsAPI + CardDetails = Increase::Models::CardDetails - CardDetailUpdateParams = Increase::Models::CardDetailUpdateParams + CardDetailsParams = Increase::Models::CardDetailsParams CardIframeURL = Increase::Models::CardIframeURL @@ -161,6 +159,8 @@ module Increase CardUpdateParams = Increase::Models::CardUpdateParams + CardUpdatePinParams = Increase::Models::CardUpdatePinParams + CardValidation = Increase::Models::CardValidation CardValidationCreateParams = Increase::Models::CardValidationCreateParams diff --git a/rbi/increase/models/card_detail_create_details_iframe_params.rbi b/rbi/increase/models/card_create_details_iframe_params.rbi similarity index 69% rename from rbi/increase/models/card_detail_create_details_iframe_params.rbi rename to rbi/increase/models/card_create_details_iframe_params.rbi index ec6378596..865a6ab19 100644 --- a/rbi/increase/models/card_detail_create_details_iframe_params.rbi +++ b/rbi/increase/models/card_create_details_iframe_params.rbi @@ -2,19 +2,20 @@ module Increase module Models - class CardDetailCreateDetailsIframeParams < Increase::Internal::Type::BaseModel + class CardCreateDetailsIframeParams < Increase::Internal::Type::BaseModel extend Increase::Internal::Type::RequestParameters::Converter include Increase::Internal::Type::RequestParameters OrHash = T.type_alias do T.any( - Increase::CardDetailCreateDetailsIframeParams, + Increase::CardCreateDetailsIframeParams, Increase::Internal::AnyHash ) end - # The identifier of the Physical Card to retrieve details for. + # The identifier of the Physical Card to create an iframe for. This will inform + # the appearance of the card rendered in the iframe. sig { returns(T.nilable(String)) } attr_reader :physical_card_id @@ -28,7 +29,8 @@ module Increase ).returns(T.attached_class) end def self.new( - # The identifier of the Physical Card to retrieve details for. + # The identifier of the Physical Card to create an iframe for. This will inform + # the appearance of the card rendered in the iframe. physical_card_id: nil, request_options: {} ) diff --git a/rbi/increase/models/card_details.rbi b/rbi/increase/models/card_details.rbi index 5da185d06..d45cdbca5 100644 --- a/rbi/increase/models/card_details.rbi +++ b/rbi/increase/models/card_details.rbi @@ -2,10 +2,10 @@ module Increase module Models - class CardDetailsAPI < Increase::Internal::Type::BaseModel + class CardDetails < Increase::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(Increase::CardDetailsAPI, Increase::Internal::AnyHash) + T.any(Increase::CardDetails, Increase::Internal::AnyHash) end # The identifier for the Card for which sensitive details have been returned. @@ -30,7 +30,7 @@ module Increase # A constant representing the object's type. For this resource it will always be # `card_details`. - sig { returns(Increase::CardDetailsAPI::Type::TaggedSymbol) } + sig { returns(Increase::CardDetails::Type::TaggedSymbol) } attr_accessor :type # The three-digit verification code for the card. It's also known as the Card @@ -51,7 +51,7 @@ module Increase expiration_year: Integer, pin: String, primary_account_number: String, - type: Increase::CardDetailsAPI::Type::OrSymbol, + type: Increase::CardDetails::Type::OrSymbol, verification_code: String ).returns(T.attached_class) end @@ -84,7 +84,7 @@ module Increase expiration_year: Integer, pin: String, primary_account_number: String, - type: Increase::CardDetailsAPI::Type::TaggedSymbol, + type: Increase::CardDetails::Type::TaggedSymbol, verification_code: String } ) @@ -98,16 +98,14 @@ module Increase extend Increase::Internal::Type::Enum TaggedSymbol = - T.type_alias { T.all(Symbol, Increase::CardDetailsAPI::Type) } + T.type_alias { T.all(Symbol, Increase::CardDetails::Type) } OrSymbol = T.type_alias { T.any(Symbol, String) } CARD_DETAILS = - T.let(:card_details, Increase::CardDetailsAPI::Type::TaggedSymbol) + T.let(:card_details, Increase::CardDetails::Type::TaggedSymbol) sig do - override.returns( - T::Array[Increase::CardDetailsAPI::Type::TaggedSymbol] - ) + override.returns(T::Array[Increase::CardDetails::Type::TaggedSymbol]) end def self.values end diff --git a/rbi/increase/models/card_detail_details_params.rbi b/rbi/increase/models/card_details_params.rbi similarity index 77% rename from rbi/increase/models/card_detail_details_params.rbi rename to rbi/increase/models/card_details_params.rbi index 1eb36cdad..079e961b6 100644 --- a/rbi/increase/models/card_detail_details_params.rbi +++ b/rbi/increase/models/card_details_params.rbi @@ -2,13 +2,13 @@ module Increase module Models - class CardDetailDetailsParams < Increase::Internal::Type::BaseModel + class CardDetailsParams < Increase::Internal::Type::BaseModel extend Increase::Internal::Type::RequestParameters::Converter include Increase::Internal::Type::RequestParameters OrHash = T.type_alias do - T.any(Increase::CardDetailDetailsParams, Increase::Internal::AnyHash) + T.any(Increase::CardDetailsParams, Increase::Internal::AnyHash) end sig do diff --git a/rbi/increase/models/card_update_params.rbi b/rbi/increase/models/card_update_params.rbi index aad098afc..8bf82ac40 100644 --- a/rbi/increase/models/card_update_params.rbi +++ b/rbi/increase/models/card_update_params.rbi @@ -50,13 +50,6 @@ module Increase sig { params(entity_id: String).void } attr_writer :entity_id - # The 4-digit PIN for the card, for use with ATMs. - sig { returns(T.nilable(String)) } - attr_reader :pin - - sig { params(pin: String).void } - attr_writer :pin - # The status to update the Card with. sig { returns(T.nilable(Increase::CardUpdateParams::Status::OrSymbol)) } attr_reader :status @@ -70,7 +63,6 @@ module Increase description: String, digital_wallet: Increase::CardUpdateParams::DigitalWallet::OrHash, entity_id: String, - pin: String, status: Increase::CardUpdateParams::Status::OrSymbol, request_options: Increase::RequestOptions::OrHash ).returns(T.attached_class) @@ -87,8 +79,6 @@ module Increase # The Entity the card belongs to. You only need to supply this in rare situations # when the card is not for the Account holder. entity_id: nil, - # The 4-digit PIN for the card, for use with ATMs. - pin: nil, # The status to update the Card with. status: nil, request_options: {} @@ -102,7 +92,6 @@ module Increase description: String, digital_wallet: Increase::CardUpdateParams::DigitalWallet, entity_id: String, - pin: String, status: Increase::CardUpdateParams::Status::OrSymbol, request_options: Increase::RequestOptions } diff --git a/rbi/increase/models/card_detail_update_params.rbi b/rbi/increase/models/card_update_pin_params.rbi similarity index 84% rename from rbi/increase/models/card_detail_update_params.rbi rename to rbi/increase/models/card_update_pin_params.rbi index 27b9513d2..eb84ed66d 100644 --- a/rbi/increase/models/card_detail_update_params.rbi +++ b/rbi/increase/models/card_update_pin_params.rbi @@ -2,13 +2,13 @@ module Increase module Models - class CardDetailUpdateParams < Increase::Internal::Type::BaseModel + class CardUpdatePinParams < Increase::Internal::Type::BaseModel extend Increase::Internal::Type::RequestParameters::Converter include Increase::Internal::Type::RequestParameters OrHash = T.type_alias do - T.any(Increase::CardDetailUpdateParams, Increase::Internal::AnyHash) + T.any(Increase::CardUpdatePinParams, Increase::Internal::AnyHash) end # The 4-digit PIN for the card, for use with ATMs. diff --git a/rbi/increase/resources/card_details.rbi b/rbi/increase/resources/card_details.rbi deleted file mode 100644 index e94f41ee2..000000000 --- a/rbi/increase/resources/card_details.rbi +++ /dev/null @@ -1,63 +0,0 @@ -# typed: strong - -module Increase - module Resources - class CardDetails - # Update a Card's PIN - sig do - params( - card_id: String, - pin: String, - request_options: Increase::RequestOptions::OrHash - ).returns(Increase::CardDetailsAPI) - end - def update( - # The card identifier. - card_id, - # The 4-digit PIN for the card, for use with ATMs. - pin:, - request_options: {} - ) - end - - # Create an iframe URL for a Card to display the card details. More details about - # styling and usage can be found in the - # [documentation](/documentation/embedded-card-component). - sig do - params( - card_id: String, - physical_card_id: String, - request_options: Increase::RequestOptions::OrHash - ).returns(Increase::CardIframeURL) - end - def create_details_iframe( - # The identifier of the Card to retrieve details for. - card_id, - # The identifier of the Physical Card to retrieve details for. - physical_card_id: nil, - request_options: {} - ) - end - - # Sensitive details for a Card include the primary account number, expiry, card - # verification code, and PIN. - sig do - params( - card_id: String, - request_options: Increase::RequestOptions::OrHash - ).returns(Increase::CardDetailsAPI) - end - def details( - # The identifier of the Card to retrieve details for. - card_id, - request_options: {} - ) - end - - # @api private - sig { params(client: Increase::Client).returns(T.attached_class) } - def self.new(client:) - end - end - end -end diff --git a/rbi/increase/resources/cards.rbi b/rbi/increase/resources/cards.rbi index 7dbfe861e..f054661ce 100644 --- a/rbi/increase/resources/cards.rbi +++ b/rbi/increase/resources/cards.rbi @@ -56,7 +56,6 @@ module Increase description: String, digital_wallet: Increase::CardUpdateParams::DigitalWallet::OrHash, entity_id: String, - pin: String, status: Increase::CardUpdateParams::Status::OrSymbol, request_options: Increase::RequestOptions::OrHash ).returns(Increase::Card) @@ -75,8 +74,6 @@ module Increase # The Entity the card belongs to. You only need to supply this in rare situations # when the card is not for the Account holder. entity_id: nil, - # The 4-digit PIN for the card, for use with ATMs. - pin: nil, # The status to update the Card with. status: nil, request_options: {} @@ -114,6 +111,58 @@ module Increase ) end + # Create an iframe URL for a Card to display the card details. More details about + # styling and usage can be found in the + # [documentation](/documentation/embedded-card-component). + sig do + params( + card_id: String, + physical_card_id: String, + request_options: Increase::RequestOptions::OrHash + ).returns(Increase::CardIframeURL) + end + def create_details_iframe( + # The identifier of the Card to create an iframe for. + card_id, + # The identifier of the Physical Card to create an iframe for. This will inform + # the appearance of the card rendered in the iframe. + physical_card_id: nil, + request_options: {} + ) + end + + # Sensitive details for a Card include the primary account number, expiry, card + # verification code, and PIN. + sig do + params( + card_id: String, + request_options: Increase::RequestOptions::OrHash + ).returns(Increase::CardDetails) + end + def details( + # The identifier of the Card to retrieve details for. + card_id, + request_options: {} + ) + end + + # Update a Card's PIN + sig do + params( + card_id: String, + pin: String, + request_options: Increase::RequestOptions::OrHash + ).returns(Increase::CardDetails) + end + def update_pin( + # The identifier of the Card to update the PIN for. + card_id, + # The 4-digit PIN for the card, for use with ATMs. + pin:, + request_options: {} + ) + end + # @api private sig { params(client: Increase::Client).returns(T.attached_class) } def self.new(client:) diff --git a/sig/increase/client.rbs b/sig/increase/client.rbs index 3cea9736f..e0757c7c3 100644 --- a/sig/increase/client.rbs +++ b/sig/increase/client.rbs @@ -23,8 +23,6 @@ module Increase attr_reader cards: Increase::Resources::Cards - attr_reader card_details: Increase::Resources::CardDetails - attr_reader card_payments: Increase::Resources::CardPayments attr_reader card_purchase_supplements: Increase::Resources::CardPurchaseSupplements diff --git a/sig/increase/models.rbs b/sig/increase/models.rbs index cd30381fb..0d83427b6 100644 --- a/sig/increase/models.rbs +++ b/sig/increase/models.rbs @@ -91,15 +91,13 @@ module Increase class Card = Increase::Models::Card - class CardCreateParams = Increase::Models::CardCreateParams - - class CardDetailCreateDetailsIframeParams = Increase::Models::CardDetailCreateDetailsIframeParams + class CardCreateDetailsIframeParams = Increase::Models::CardCreateDetailsIframeParams - class CardDetailDetailsParams = Increase::Models::CardDetailDetailsParams + class CardCreateParams = Increase::Models::CardCreateParams - class CardDetailsAPI = Increase::Models::CardDetailsAPI + class CardDetails = Increase::Models::CardDetails - class CardDetailUpdateParams = Increase::Models::CardDetailUpdateParams + class CardDetailsParams = Increase::Models::CardDetailsParams class CardIframeURL = Increase::Models::CardIframeURL @@ -143,6 +141,8 @@ module Increase class CardUpdateParams = Increase::Models::CardUpdateParams + class CardUpdatePinParams = Increase::Models::CardUpdatePinParams + class CardValidation = Increase::Models::CardValidation class CardValidationCreateParams = Increase::Models::CardValidationCreateParams diff --git a/sig/increase/models/card_detail_create_details_iframe_params.rbs b/sig/increase/models/card_create_details_iframe_params.rbs similarity index 81% rename from sig/increase/models/card_detail_create_details_iframe_params.rbs rename to sig/increase/models/card_create_details_iframe_params.rbs index ad87894e3..f8c4ff779 100644 --- a/sig/increase/models/card_detail_create_details_iframe_params.rbs +++ b/sig/increase/models/card_create_details_iframe_params.rbs @@ -1,10 +1,10 @@ module Increase module Models - type card_detail_create_details_iframe_params = + type card_create_details_iframe_params = { physical_card_id: String } & Increase::Internal::Type::request_parameters - class CardDetailCreateDetailsIframeParams < Increase::Internal::Type::BaseModel + class CardCreateDetailsIframeParams < Increase::Internal::Type::BaseModel extend Increase::Internal::Type::RequestParameters::Converter include Increase::Internal::Type::RequestParameters diff --git a/sig/increase/models/card_details.rbs b/sig/increase/models/card_details.rbs index 3f5620457..34e0e59df 100644 --- a/sig/increase/models/card_details.rbs +++ b/sig/increase/models/card_details.rbs @@ -1,17 +1,17 @@ module Increase module Models - type card_details_api = + type card_details = { card_id: String, expiration_month: Integer, expiration_year: Integer, pin: String, primary_account_number: String, - type: Increase::Models::CardDetailsAPI::type_, + type: Increase::Models::CardDetails::type_, verification_code: String } - class CardDetailsAPI < Increase::Internal::Type::BaseModel + class CardDetails < Increase::Internal::Type::BaseModel attr_accessor card_id: String attr_accessor expiration_month: Integer @@ -22,7 +22,7 @@ module Increase attr_accessor primary_account_number: String - attr_accessor type: Increase::Models::CardDetailsAPI::type_ + attr_accessor type: Increase::Models::CardDetails::type_ attr_accessor verification_code: String @@ -32,7 +32,7 @@ module Increase expiration_year: Integer, pin: String, primary_account_number: String, - type: Increase::Models::CardDetailsAPI::type_, + type: Increase::Models::CardDetails::type_, verification_code: String ) -> void @@ -42,7 +42,7 @@ module Increase expiration_year: Integer, pin: String, primary_account_number: String, - type: Increase::Models::CardDetailsAPI::type_, + type: Increase::Models::CardDetails::type_, verification_code: String } @@ -53,7 +53,7 @@ module Increase CARD_DETAILS: :card_details - def self?.values: -> ::Array[Increase::Models::CardDetailsAPI::type_] + def self?.values: -> ::Array[Increase::Models::CardDetails::type_] end end end diff --git a/sig/increase/models/card_detail_details_params.rbs b/sig/increase/models/card_details_params.rbs similarity index 77% rename from sig/increase/models/card_detail_details_params.rbs rename to sig/increase/models/card_details_params.rbs index 6bd1b015f..cd5a5e7ee 100644 --- a/sig/increase/models/card_detail_details_params.rbs +++ b/sig/increase/models/card_details_params.rbs @@ -1,9 +1,9 @@ module Increase module Models - type card_detail_details_params = + type card_details_params = { } & Increase::Internal::Type::request_parameters - class CardDetailDetailsParams < Increase::Internal::Type::BaseModel + class CardDetailsParams < Increase::Internal::Type::BaseModel extend Increase::Internal::Type::RequestParameters::Converter include Increase::Internal::Type::RequestParameters diff --git a/sig/increase/models/card_update_params.rbs b/sig/increase/models/card_update_params.rbs index ca90afb13..1f3a5f342 100644 --- a/sig/increase/models/card_update_params.rbs +++ b/sig/increase/models/card_update_params.rbs @@ -6,7 +6,6 @@ module Increase description: String, digital_wallet: Increase::CardUpdateParams::DigitalWallet, entity_id: String, - pin: String, status: Increase::Models::CardUpdateParams::status } & Increase::Internal::Type::request_parameters @@ -35,10 +34,6 @@ module Increase def entity_id=: (String) -> String - attr_reader pin: String? - - def pin=: (String) -> String - attr_reader status: Increase::Models::CardUpdateParams::status? def status=: ( @@ -50,7 +45,6 @@ module Increase ?description: String, ?digital_wallet: Increase::CardUpdateParams::DigitalWallet, ?entity_id: String, - ?pin: String, ?status: Increase::Models::CardUpdateParams::status, ?request_options: Increase::request_opts ) -> void @@ -60,7 +54,6 @@ module Increase description: String, digital_wallet: Increase::CardUpdateParams::DigitalWallet, entity_id: String, - pin: String, status: Increase::Models::CardUpdateParams::status, request_options: Increase::RequestOptions } diff --git a/sig/increase/models/card_detail_update_params.rbs b/sig/increase/models/card_update_pin_params.rbs similarity index 81% rename from sig/increase/models/card_detail_update_params.rbs rename to sig/increase/models/card_update_pin_params.rbs index c81d00bcb..14803f563 100644 --- a/sig/increase/models/card_detail_update_params.rbs +++ b/sig/increase/models/card_update_pin_params.rbs @@ -1,9 +1,9 @@ module Increase module Models - type card_detail_update_params = + type card_update_pin_params = { pin: String } & Increase::Internal::Type::request_parameters - class CardDetailUpdateParams < Increase::Internal::Type::BaseModel + class CardUpdatePinParams < Increase::Internal::Type::BaseModel extend Increase::Internal::Type::RequestParameters::Converter include Increase::Internal::Type::RequestParameters diff --git a/sig/increase/resources/card_details.rbs b/sig/increase/resources/card_details.rbs deleted file mode 100644 index 4b42136e0..000000000 --- a/sig/increase/resources/card_details.rbs +++ /dev/null @@ -1,24 +0,0 @@ -module Increase - module Resources - class CardDetails - def update: ( - String card_id, - pin: String, - ?request_options: Increase::request_opts - ) -> Increase::CardDetailsAPI - - def create_details_iframe: ( - String card_id, - ?physical_card_id: String, - ?request_options: Increase::request_opts - ) -> Increase::CardIframeURL - - def details: ( - String card_id, - ?request_options: Increase::request_opts - ) -> Increase::CardDetailsAPI - - def initialize: (client: Increase::Client) -> void - end - end -end diff --git a/sig/increase/resources/cards.rbs b/sig/increase/resources/cards.rbs index a56570978..050be8d8c 100644 --- a/sig/increase/resources/cards.rbs +++ b/sig/increase/resources/cards.rbs @@ -21,7 +21,6 @@ module Increase ?description: String, ?digital_wallet: Increase::CardUpdateParams::DigitalWallet, ?entity_id: String, - ?pin: String, ?status: Increase::Models::CardUpdateParams::status, ?request_options: Increase::request_opts ) -> Increase::Card @@ -36,6 +35,23 @@ module Increase ?request_options: Increase::request_opts ) -> Increase::Internal::Page[Increase::Card] + def create_details_iframe: ( + String card_id, + ?physical_card_id: String, + ?request_options: Increase::request_opts + ) -> Increase::CardIframeURL + + def details: ( + String card_id, + ?request_options: Increase::request_opts + ) -> Increase::CardDetails + + def update_pin: ( + String card_id, + pin: String, + ?request_options: Increase::request_opts + ) -> Increase::CardDetails + def initialize: (client: Increase::Client) -> void end end diff --git a/test/increase/resources/card_details_test.rb b/test/increase/resources/card_details_test.rb deleted file mode 100644 index 571e4004d..000000000 --- a/test/increase/resources/card_details_test.rb +++ /dev/null @@ -1,61 +0,0 @@ -# frozen_string_literal: true - -require_relative "../test_helper" - -class Increase::Test::Resources::CardDetailsTest < Increase::Test::ResourceTest - def test_update_required_params - response = @increase.card_details.update("card_oubs0hwk5rn6knuecxg2", pin: "1234") - - assert_pattern do - response => Increase::CardDetailsAPI - end - - assert_pattern do - response => { - card_id: String, - expiration_month: Integer, - expiration_year: Integer, - pin: String, - primary_account_number: String, - type: Increase::CardDetailsAPI::Type, - verification_code: String - } - end - end - - def test_create_details_iframe - response = @increase.card_details.create_details_iframe("card_oubs0hwk5rn6knuecxg2") - - assert_pattern do - response => Increase::CardIframeURL - end - - assert_pattern do - response => { - expires_at: Time, - iframe_url: String, - type: Increase::CardIframeURL::Type - } - end - end - - def test_details - response = @increase.card_details.details("card_oubs0hwk5rn6knuecxg2") - - assert_pattern do - response => Increase::CardDetailsAPI - end - - assert_pattern do - response => { - card_id: String, - expiration_month: Integer, - expiration_year: Integer, - pin: String, - primary_account_number: String, - type: Increase::CardDetailsAPI::Type, - verification_code: String - } - end - end -end diff --git a/test/increase/resources/cards_test.rb b/test/increase/resources/cards_test.rb index ea2d7414c..d194f530e 100644 --- a/test/increase/resources/cards_test.rb +++ b/test/increase/resources/cards_test.rb @@ -113,4 +113,60 @@ def test_list } end end + + def test_create_details_iframe + response = @increase.cards.create_details_iframe("card_oubs0hwk5rn6knuecxg2") + + assert_pattern do + response => Increase::CardIframeURL + end + + assert_pattern do + response => { + expires_at: Time, + iframe_url: String, + type: Increase::CardIframeURL::Type + } + end + end + + def test_details + response = @increase.cards.details("card_oubs0hwk5rn6knuecxg2") + + assert_pattern do + response => Increase::CardDetails + end + + assert_pattern do + response => { + card_id: String, + expiration_month: Integer, + expiration_year: Integer, + pin: String, + primary_account_number: String, + type: Increase::CardDetails::Type, + verification_code: String + } + end + end + + def test_update_pin_required_params + response = @increase.cards.update_pin("card_oubs0hwk5rn6knuecxg2", pin: "1234") + + assert_pattern do + response => Increase::CardDetails + end + + assert_pattern do + response => { + card_id: String, + expiration_month: Integer, + expiration_year: Integer, + pin: String, + primary_account_number: String, + type: Increase::CardDetails::Type, + verification_code: String + } + end + end end From 0c50363a405f46e125d2b8cc1c43955942ecbea6 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 24 Sep 2025 00:55:12 +0000 Subject: [PATCH 2/2] release: 1.89.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 8 ++++++++ Gemfile.lock | 2 +- README.md | 2 +- lib/increase/version.rb | 2 +- 5 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 5ae95686a..e0b8841fb 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.88.0" + ".": "1.89.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b2cc5221..d0d5c4bcd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 1.89.0 (2025-09-24) + +Full Changelog: [v1.88.0...v1.89.0](https://github.com/Increase/increase-ruby/compare/v1.88.0...v1.89.0) + +### Features + +* **api:** api update ([603e760](https://github.com/Increase/increase-ruby/commit/603e760be76b7ef00f4f13c32e4f79b33a1753e2)) + ## 1.88.0 (2025-09-24) Full Changelog: [v1.87.0...v1.88.0](https://github.com/Increase/increase-ruby/compare/v1.87.0...v1.88.0) diff --git a/Gemfile.lock b/Gemfile.lock index b41cd97ae..d3a9ebeae 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - increase (1.88.0) + increase (1.89.0) connection_pool GEM diff --git a/README.md b/README.md index 552d0b82d..17503c411 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "increase", "~> 1.88.0" +gem "increase", "~> 1.89.0" ``` diff --git a/lib/increase/version.rb b/lib/increase/version.rb index 73fe77d18..4f6f2d4b9 100644 --- a/lib/increase/version.rb +++ b/lib/increase/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Increase - VERSION = "1.88.0" + VERSION = "1.89.0" end