From 0173be95cdbd2321196c60b385970c9b2520bcd8 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 19 Sep 2025 17:42:46 +0000 Subject: [PATCH 1/3] chore: do not install brew dependencies in ./scripts/bootstrap by default --- scripts/bootstrap | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/scripts/bootstrap b/scripts/bootstrap index cc31aa851..348786428 100755 --- a/scripts/bootstrap +++ b/scripts/bootstrap @@ -4,10 +4,18 @@ set -e cd -- "$(dirname -- "$0")/.." -if [ -f "Brewfile" ] && [ "$(uname -s)" = "Darwin" ] && [ "$SKIP_BREW" != "1" ]; then +if [ -f "Brewfile" ] && [ "$(uname -s)" = "Darwin" ] && [ "$SKIP_BREW" != "1" ] && [ -t 0 ]; then brew bundle check >/dev/null 2>&1 || { - echo "==> Installing Homebrew dependencies…" - brew bundle + echo -n "==> Install Homebrew dependencies? (y/N): " + read -r response + case "$response" in + [yY][eE][sS]|[yY]) + brew bundle + ;; + *) + ;; + esac + echo } fi From e4382bb2fad1d76e20ff852aa75d8d819bd13d01 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 19 Sep 2025 20:17:51 +0000 Subject: [PATCH 2/3] feat(api): api update --- .stats.yml | 8 +- lib/increase.rb | 8 +- lib/increase/client.rb | 4 + lib/increase/models.rb | 10 ++- ...rd_detail_create_details_iframe_params.rb} | 4 +- ...arams.rb => card_detail_details_params.rb} | 4 +- .../models/card_detail_update_params.rb | 22 +++++ lib/increase/models/card_details.rb | 16 ++-- lib/increase/models/card_iframe_url.rb | 2 +- lib/increase/models/card_update_params.rb | 10 ++- ...rams.rb => physical_card_create_params.rb} | 13 ++- lib/increase/resources/card_details.rb | 85 +++++++++++++++++++ lib/increase/resources/cards.rb | 51 +---------- .../resources/simulations/physical_cards.rb | 57 ++++++------- rbi/increase/client.rbi | 3 + rbi/increase/models.rbi | 12 +-- ...d_detail_create_details_iframe_params.rbi} | 4 +- ...ams.rbi => card_detail_details_params.rbi} | 4 +- .../models/card_detail_update_params.rbi | 40 +++++++++ rbi/increase/models/card_details.rbi | 20 +++-- rbi/increase/models/card_update_params.rbi | 11 +++ ...ms.rbi => physical_card_create_params.rbi} | 22 ++--- rbi/increase/resources/card_details.rbi | 63 ++++++++++++++ rbi/increase/resources/cards.rbi | 37 +------- .../resources/simulations/physical_cards.rbi | 44 +++++----- sig/increase/client.rbs | 2 + sig/increase/models.rbs | 10 ++- ...d_detail_create_details_iframe_params.rbs} | 4 +- ...ams.rbs => card_detail_details_params.rbs} | 4 +- .../models/card_detail_update_params.rbs | 20 +++++ sig/increase/models/card_details.rbs | 14 +-- sig/increase/models/card_update_params.rbs | 7 ++ ...ms.rbs => physical_card_create_params.rbs} | 14 +-- sig/increase/resources/card_details.rbs | 24 ++++++ sig/increase/resources/cards.rbs | 12 +-- .../resources/simulations/physical_cards.rbs | 16 ++-- test/increase/resources/card_details_test.rb | 61 +++++++++++++ test/increase/resources/cards_test.rb | 36 -------- .../simulations/physical_cards_test.rb | 9 +- 39 files changed, 511 insertions(+), 276 deletions(-) rename lib/increase/models/{card_create_details_iframe_params.rb => card_detail_create_details_iframe_params.rb} (81%) rename lib/increase/models/{card_details_params.rb => card_detail_details_params.rb} (73%) create mode 100644 lib/increase/models/card_detail_update_params.rb rename lib/increase/models/simulations/{physical_card_tracking_updates_params.rb => physical_card_create_params.rb} (85%) create mode 100644 lib/increase/resources/card_details.rb rename rbi/increase/models/{card_create_details_iframe_params.rbi => card_detail_create_details_iframe_params.rbi} (88%) rename rbi/increase/models/{card_details_params.rbi => card_detail_details_params.rbi} (77%) create mode 100644 rbi/increase/models/card_detail_update_params.rbi rename rbi/increase/models/simulations/{physical_card_tracking_updates_params.rbi => physical_card_create_params.rbi} (78%) create mode 100644 rbi/increase/resources/card_details.rbi rename sig/increase/models/{card_create_details_iframe_params.rbs => card_detail_create_details_iframe_params.rbs} (81%) rename sig/increase/models/{card_details_params.rbs => card_detail_details_params.rbs} (77%) create mode 100644 sig/increase/models/card_detail_update_params.rbs rename sig/increase/models/simulations/{physical_card_tracking_updates_params.rbs => physical_card_create_params.rbs} (79%) create mode 100644 sig/increase/resources/card_details.rbs create mode 100644 test/increase/resources/card_details_test.rb diff --git a/.stats.yml b/.stats.yml index d5dac36dd..876bf2616 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ -configured_endpoints: 213 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-8d71e78a4afd7e1ce2436bf2428777d623f468bb3b6c37c36ed8ed3155fe6c77.yml -openapi_spec_hash: 3064d7c7468a53e4797ef16b648fd06d -config_hash: e1e8bc2138a13f290956ae6687f099cd +configured_endpoints: 214 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-6241d4f5ad4269845e96fe2c674d19f586894ca27456095fee5a70dede9ea19c.yml +openapi_spec_hash: 81e8f749b8ca89085b599b2c346a773d +config_hash: 8dadd60eab7ab858cf06c6a8633ed9f3 diff --git a/lib/increase.rb b/lib/increase.rb index a0b564884..e16ac2d3a 100644 --- a/lib/increase.rb +++ b/lib/increase.rb @@ -97,10 +97,11 @@ 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_details_params" +require_relative "increase/models/card_detail_update_params" require_relative "increase/models/card_iframe_url" require_relative "increase/models/card_list_params" require_relative "increase/models/card_payment" @@ -302,7 +303,7 @@ require_relative "increase/models/simulations/interest_payment_create_params" require_relative "increase/models/simulations/pending_transaction_release_inbound_funds_hold_params" require_relative "increase/models/simulations/physical_card_advance_shipment_params" -require_relative "increase/models/simulations/physical_card_tracking_updates_params" +require_relative "increase/models/simulations/physical_card_create_params" require_relative "increase/models/simulations/program_create_params" require_relative "increase/models/simulations/real_time_payments_transfer_complete_params" require_relative "increase/models/simulations/wire_drawdown_request_refuse_params" @@ -334,6 +335,7 @@ 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 87262758d..5301447d2 100644 --- a/lib/increase/client.rb +++ b/lib/increase/client.rb @@ -35,6 +35,9 @@ 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 @@ -251,6 +254,7 @@ 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 bf804f132..b31311ad9 100644 --- a/lib/increase/models.rb +++ b/lib/increase/models.rb @@ -131,13 +131,15 @@ module Increase Card = Increase::Models::Card - CardCreateDetailsIframeParams = Increase::Models::CardCreateDetailsIframeParams - CardCreateParams = Increase::Models::CardCreateParams - CardDetails = Increase::Models::CardDetails + CardDetailCreateDetailsIframeParams = Increase::Models::CardDetailCreateDetailsIframeParams + + CardDetailDetailsParams = Increase::Models::CardDetailDetailsParams + + CardDetailsAPI = Increase::Models::CardDetailsAPI - CardDetailsParams = Increase::Models::CardDetailsParams + CardDetailUpdateParams = Increase::Models::CardDetailUpdateParams CardIframeURL = Increase::Models::CardIframeURL diff --git a/lib/increase/models/card_create_details_iframe_params.rb b/lib/increase/models/card_detail_create_details_iframe_params.rb similarity index 81% rename from lib/increase/models/card_create_details_iframe_params.rb rename to lib/increase/models/card_detail_create_details_iframe_params.rb index fe35548e0..a3fe3badf 100644 --- a/lib/increase/models/card_create_details_iframe_params.rb +++ b/lib/increase/models/card_detail_create_details_iframe_params.rb @@ -2,8 +2,8 @@ module Increase module Models - # @see Increase::Resources::Cards#create_details_iframe - class CardCreateDetailsIframeParams < Increase::Internal::Type::BaseModel + # @see Increase::Resources::CardDetails#create_details_iframe + class CardDetailCreateDetailsIframeParams < Increase::Internal::Type::BaseModel extend Increase::Internal::Type::RequestParameters::Converter include Increase::Internal::Type::RequestParameters diff --git a/lib/increase/models/card_details_params.rb b/lib/increase/models/card_detail_details_params.rb similarity index 73% rename from lib/increase/models/card_details_params.rb rename to lib/increase/models/card_detail_details_params.rb index cee0ffd0d..0b9401995 100644 --- a/lib/increase/models/card_details_params.rb +++ b/lib/increase/models/card_detail_details_params.rb @@ -2,8 +2,8 @@ module Increase module Models - # @see Increase::Resources::Cards#details - class CardDetailsParams < Increase::Internal::Type::BaseModel + # @see Increase::Resources::CardDetails#details + class CardDetailDetailsParams < Increase::Internal::Type::BaseModel extend Increase::Internal::Type::RequestParameters::Converter include Increase::Internal::Type::RequestParameters diff --git a/lib/increase/models/card_detail_update_params.rb b/lib/increase/models/card_detail_update_params.rb new file mode 100644 index 000000000..c3006159e --- /dev/null +++ b/lib/increase/models/card_detail_update_params.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Increase + module Models + # @see Increase::Resources::CardDetails#update + class CardDetailUpdateParams < Increase::Internal::Type::BaseModel + extend Increase::Internal::Type::RequestParameters::Converter + include Increase::Internal::Type::RequestParameters + + # @!attribute pin + # The 4-digit PIN for the card, for use with ATMs. + # + # @return [String] + required :pin, String + + # @!method initialize(pin:, request_options: {}) + # @param pin [String] The 4-digit PIN for the card, for use with ATMs. + # + # @param request_options [Increase::RequestOptions, Hash{Symbol=>Object}] + end + end +end diff --git a/lib/increase/models/card_details.rb b/lib/increase/models/card_details.rb index 39c18fb4b..85d440e39 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::Cards#details - class CardDetails < Increase::Internal::Type::BaseModel + # @see Increase::Resources::CardDetails#update + class CardDetailsAPI < Increase::Internal::Type::BaseModel # @!attribute card_id # The identifier for the Card for which sensitive details have been returned. # @@ -38,8 +38,8 @@ class CardDetails < Increase::Internal::Type::BaseModel # A constant representing the object's type. For this resource it will always be # `card_details`. # - # @return [Symbol, Increase::Models::CardDetails::Type] - required :type, enum: -> { Increase::CardDetails::Type } + # @return [Symbol, Increase::Models::CardDetailsAPI::Type] + required :type, enum: -> { Increase::CardDetailsAPI::Type } # @!attribute verification_code # The three-digit verification code for the card. It's also known as the Card @@ -51,9 +51,9 @@ class CardDetails < 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::CardDetails} for more details. + # {Increase::Models::CardDetailsAPI} for more details. # - # An object containing the sensitive details (card number, cvc, etc) for a Card. + # An object containing the sensitive details (card number, CVC, etc) for a Card. # # @param card_id [String] The identifier for the Card for which sensitive details have been returned. # @@ -65,14 +65,14 @@ class CardDetails < Increase::Internal::Type::BaseModel # # @param primary_account_number [String] The card number. # - # @param type [Symbol, Increase::Models::CardDetails::Type] A constant representing the object's type. For this resource it will always be ` + # @param type [Symbol, Increase::Models::CardDetailsAPI::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::CardDetails#type + # @see Increase::Models::CardDetailsAPI#type module Type extend Increase::Internal::Type::Enum diff --git a/lib/increase/models/card_iframe_url.rb b/lib/increase/models/card_iframe_url.rb index a0a258c26..688a08ec7 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::Cards#create_details_iframe + # @see Increase::Resources::CardDetails#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 ce98cf8db..a49bb6976 100644 --- a/lib/increase/models/card_update_params.rb +++ b/lib/increase/models/card_update_params.rb @@ -34,13 +34,19 @@ 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, status: nil, request_options: {}) + # @!method initialize(billing_address: nil, description: nil, digital_wallet: nil, entity_id: nil, pin: nil, status: nil, request_options: {}) # Some parameter documentations has been truncated, see # {Increase::Models::CardUpdateParams} for more details. # @@ -52,6 +58,8 @@ 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/simulations/physical_card_tracking_updates_params.rb b/lib/increase/models/simulations/physical_card_create_params.rb similarity index 85% rename from lib/increase/models/simulations/physical_card_tracking_updates_params.rb rename to lib/increase/models/simulations/physical_card_create_params.rb index 6a69c0287..d5c56bf3c 100644 --- a/lib/increase/models/simulations/physical_card_tracking_updates_params.rb +++ b/lib/increase/models/simulations/physical_card_create_params.rb @@ -3,16 +3,16 @@ module Increase module Models module Simulations - # @see Increase::Resources::Simulations::PhysicalCards#tracking_updates - class PhysicalCardTrackingUpdatesParams < Increase::Internal::Type::BaseModel + # @see Increase::Resources::Simulations::PhysicalCards#create + class PhysicalCardCreateParams < Increase::Internal::Type::BaseModel extend Increase::Internal::Type::RequestParameters::Converter include Increase::Internal::Type::RequestParameters # @!attribute category # The type of tracking event. # - # @return [Symbol, Increase::Models::Simulations::PhysicalCardTrackingUpdatesParams::Category] - required :category, enum: -> { Increase::Simulations::PhysicalCardTrackingUpdatesParams::Category } + # @return [Symbol, Increase::Models::Simulations::PhysicalCardCreateParams::Category] + required :category, enum: -> { Increase::Simulations::PhysicalCardCreateParams::Category } # @!attribute carrier_estimated_delivery_at # The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time when the @@ -41,10 +41,9 @@ class PhysicalCardTrackingUpdatesParams < Increase::Internal::Type::BaseModel # @!method initialize(category:, carrier_estimated_delivery_at: nil, city: nil, postal_code: nil, state: nil, request_options: {}) # Some parameter documentations has been truncated, see - # {Increase::Models::Simulations::PhysicalCardTrackingUpdatesParams} for more - # details. + # {Increase::Models::Simulations::PhysicalCardCreateParams} for more details. # - # @param category [Symbol, Increase::Models::Simulations::PhysicalCardTrackingUpdatesParams::Category] The type of tracking event. + # @param category [Symbol, Increase::Models::Simulations::PhysicalCardCreateParams::Category] The type of tracking event. # # @param carrier_estimated_delivery_at [Time] The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time when the ca # diff --git a/lib/increase/resources/card_details.rb b/lib/increase/resources/card_details.rb new file mode 100644 index 000000000..d00cdd0f0 --- /dev/null +++ b/lib/increase/resources/card_details.rb @@ -0,0 +1,85 @@ +# frozen_string_literal: true + +module Increase + module Resources + class CardDetails + # Update a Card's Details + # + # @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 7b34034f0..07ce4967d 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, status: nil, request_options: {}) + # @overload update(card_id, billing_address: nil, description: nil, digital_wallet: nil, entity_id: nil, pin: nil, status: nil, request_options: {}) # # @param card_id [String] The card identifier. # @@ -67,6 +67,8 @@ 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] @@ -121,53 +123,6 @@ def list(params = {}) ) 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::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 - # @api private # # @param client [Increase::Client] diff --git a/lib/increase/resources/simulations/physical_cards.rb b/lib/increase/resources/simulations/physical_cards.rb index 9734edc01..02c0c847c 100644 --- a/lib/increase/resources/simulations/physical_cards.rb +++ b/lib/increase/resources/simulations/physical_cards.rb @@ -4,63 +4,62 @@ module Increase module Resources class Simulations class PhysicalCards - # This endpoint allows you to simulate advancing the shipment status of a Physical - # Card, to simulate e.g., that a physical card was attempted shipped but then - # failed delivery. + # Some parameter documentations has been truncated, see + # {Increase::Models::Simulations::PhysicalCardCreateParams} for more details. # - # @overload advance_shipment(physical_card_id, shipment_status:, request_options: {}) + # This endpoint allows you to simulate receiving a tracking update for a Physical + # Card, to simulate the progress of a shipment. + # + # @overload create(physical_card_id, category:, carrier_estimated_delivery_at: nil, city: nil, postal_code: nil, state: nil, request_options: {}) # # @param physical_card_id [String] The Physical Card you would like to action. # - # @param shipment_status [Symbol, Increase::Models::Simulations::PhysicalCardAdvanceShipmentParams::ShipmentStatus] The shipment status to move the Physical Card to. + # @param category [Symbol, Increase::Models::Simulations::PhysicalCardCreateParams::Category] The type of tracking event. + # + # @param carrier_estimated_delivery_at [Time] The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time when the ca + # + # @param city [String] The city where the event took place. + # + # @param postal_code [String] The postal code where the event took place. + # + # @param state [String] The state where the event took place. # # @param request_options [Increase::RequestOptions, Hash{Symbol=>Object}, nil] # # @return [Increase::Models::PhysicalCard] # - # @see Increase::Models::Simulations::PhysicalCardAdvanceShipmentParams - def advance_shipment(physical_card_id, params) - parsed, options = Increase::Simulations::PhysicalCardAdvanceShipmentParams.dump_request(params) + # @see Increase::Models::Simulations::PhysicalCardCreateParams + def create(physical_card_id, params) + parsed, options = Increase::Simulations::PhysicalCardCreateParams.dump_request(params) @client.request( method: :post, - path: ["simulations/physical_cards/%1$s/advance_shipment", physical_card_id], + path: ["simulations/physical_cards/%1$s/tracking_updates", physical_card_id], body: parsed, model: Increase::PhysicalCard, options: options ) end - # Some parameter documentations has been truncated, see - # {Increase::Models::Simulations::PhysicalCardTrackingUpdatesParams} for more - # details. - # - # This endpoint allows you to simulate receiving a tracking update for a Physical - # Card, to simulate the progress of a shipment. + # This endpoint allows you to simulate advancing the shipment status of a Physical + # Card, to simulate e.g., that a physical card was attempted shipped but then + # failed delivery. # - # @overload tracking_updates(physical_card_id, category:, carrier_estimated_delivery_at: nil, city: nil, postal_code: nil, state: nil, request_options: {}) + # @overload advance_shipment(physical_card_id, shipment_status:, request_options: {}) # # @param physical_card_id [String] The Physical Card you would like to action. # - # @param category [Symbol, Increase::Models::Simulations::PhysicalCardTrackingUpdatesParams::Category] The type of tracking event. - # - # @param carrier_estimated_delivery_at [Time] The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time when the ca - # - # @param city [String] The city where the event took place. - # - # @param postal_code [String] The postal code where the event took place. - # - # @param state [String] The state where the event took place. + # @param shipment_status [Symbol, Increase::Models::Simulations::PhysicalCardAdvanceShipmentParams::ShipmentStatus] The shipment status to move the Physical Card to. # # @param request_options [Increase::RequestOptions, Hash{Symbol=>Object}, nil] # # @return [Increase::Models::PhysicalCard] # - # @see Increase::Models::Simulations::PhysicalCardTrackingUpdatesParams - def tracking_updates(physical_card_id, params) - parsed, options = Increase::Simulations::PhysicalCardTrackingUpdatesParams.dump_request(params) + # @see Increase::Models::Simulations::PhysicalCardAdvanceShipmentParams + def advance_shipment(physical_card_id, params) + parsed, options = Increase::Simulations::PhysicalCardAdvanceShipmentParams.dump_request(params) @client.request( method: :post, - path: ["simulations/physical_cards/%1$s/tracking_updates", physical_card_id], + path: ["simulations/physical_cards/%1$s/advance_shipment", physical_card_id], body: parsed, model: Increase::PhysicalCard, options: options diff --git a/rbi/increase/client.rbi b/rbi/increase/client.rbi index 31d6396b0..538a281f6 100644 --- a/rbi/increase/client.rbi +++ b/rbi/increase/client.rbi @@ -34,6 +34,9 @@ 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 12c246608..c2670ac4b 100644 --- a/rbi/increase/models.rbi +++ b/rbi/increase/models.rbi @@ -104,14 +104,16 @@ module Increase Card = Increase::Models::Card - CardCreateDetailsIframeParams = - Increase::Models::CardCreateDetailsIframeParams - CardCreateParams = Increase::Models::CardCreateParams - CardDetails = Increase::Models::CardDetails + CardDetailCreateDetailsIframeParams = + Increase::Models::CardDetailCreateDetailsIframeParams + + CardDetailDetailsParams = Increase::Models::CardDetailDetailsParams + + CardDetailsAPI = Increase::Models::CardDetailsAPI - CardDetailsParams = Increase::Models::CardDetailsParams + CardDetailUpdateParams = Increase::Models::CardDetailUpdateParams CardIframeURL = Increase::Models::CardIframeURL diff --git a/rbi/increase/models/card_create_details_iframe_params.rbi b/rbi/increase/models/card_detail_create_details_iframe_params.rbi similarity index 88% rename from rbi/increase/models/card_create_details_iframe_params.rbi rename to rbi/increase/models/card_detail_create_details_iframe_params.rbi index 2ce37ac4b..ec6378596 100644 --- a/rbi/increase/models/card_create_details_iframe_params.rbi +++ b/rbi/increase/models/card_detail_create_details_iframe_params.rbi @@ -2,14 +2,14 @@ module Increase module Models - class CardCreateDetailsIframeParams < Increase::Internal::Type::BaseModel + class CardDetailCreateDetailsIframeParams < Increase::Internal::Type::BaseModel extend Increase::Internal::Type::RequestParameters::Converter include Increase::Internal::Type::RequestParameters OrHash = T.type_alias do T.any( - Increase::CardCreateDetailsIframeParams, + Increase::CardDetailCreateDetailsIframeParams, Increase::Internal::AnyHash ) end diff --git a/rbi/increase/models/card_details_params.rbi b/rbi/increase/models/card_detail_details_params.rbi similarity index 77% rename from rbi/increase/models/card_details_params.rbi rename to rbi/increase/models/card_detail_details_params.rbi index 079e961b6..1eb36cdad 100644 --- a/rbi/increase/models/card_details_params.rbi +++ b/rbi/increase/models/card_detail_details_params.rbi @@ -2,13 +2,13 @@ module Increase module Models - class CardDetailsParams < Increase::Internal::Type::BaseModel + class CardDetailDetailsParams < Increase::Internal::Type::BaseModel extend Increase::Internal::Type::RequestParameters::Converter include Increase::Internal::Type::RequestParameters OrHash = T.type_alias do - T.any(Increase::CardDetailsParams, Increase::Internal::AnyHash) + T.any(Increase::CardDetailDetailsParams, Increase::Internal::AnyHash) end sig do diff --git a/rbi/increase/models/card_detail_update_params.rbi b/rbi/increase/models/card_detail_update_params.rbi new file mode 100644 index 000000000..27b9513d2 --- /dev/null +++ b/rbi/increase/models/card_detail_update_params.rbi @@ -0,0 +1,40 @@ +# typed: strong + +module Increase + module Models + class CardDetailUpdateParams < 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) + end + + # The 4-digit PIN for the card, for use with ATMs. + sig { returns(String) } + attr_accessor :pin + + sig do + params( + pin: String, + request_options: Increase::RequestOptions::OrHash + ).returns(T.attached_class) + end + def self.new( + # The 4-digit PIN for the card, for use with ATMs. + pin:, + request_options: {} + ) + end + + sig do + override.returns( + { pin: String, request_options: Increase::RequestOptions } + ) + end + def to_hash + end + end + end +end diff --git a/rbi/increase/models/card_details.rbi b/rbi/increase/models/card_details.rbi index 2af54190a..8adedc447 100644 --- a/rbi/increase/models/card_details.rbi +++ b/rbi/increase/models/card_details.rbi @@ -2,10 +2,10 @@ module Increase module Models - class CardDetails < Increase::Internal::Type::BaseModel + class CardDetailsAPI < Increase::Internal::Type::BaseModel OrHash = T.type_alias do - T.any(Increase::CardDetails, Increase::Internal::AnyHash) + T.any(Increase::CardDetailsAPI, 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::CardDetails::Type::TaggedSymbol) } + sig { returns(Increase::CardDetailsAPI::Type::TaggedSymbol) } attr_accessor :type # The three-digit verification code for the card. It's also known as the Card @@ -39,7 +39,7 @@ module Increase sig { returns(String) } attr_accessor :verification_code - # An object containing the sensitive details (card number, cvc, etc) for a Card. + # An object containing the sensitive details (card number, CVC, etc) for a Card. sig do params( card_id: String, @@ -47,7 +47,7 @@ module Increase expiration_year: Integer, pin: String, primary_account_number: String, - type: Increase::CardDetails::Type::OrSymbol, + type: Increase::CardDetailsAPI::Type::OrSymbol, verification_code: String ).returns(T.attached_class) end @@ -80,7 +80,7 @@ module Increase expiration_year: Integer, pin: String, primary_account_number: String, - type: Increase::CardDetails::Type::TaggedSymbol, + type: Increase::CardDetailsAPI::Type::TaggedSymbol, verification_code: String } ) @@ -94,14 +94,16 @@ module Increase extend Increase::Internal::Type::Enum TaggedSymbol = - T.type_alias { T.all(Symbol, Increase::CardDetails::Type) } + T.type_alias { T.all(Symbol, Increase::CardDetailsAPI::Type) } OrSymbol = T.type_alias { T.any(Symbol, String) } CARD_DETAILS = - T.let(:card_details, Increase::CardDetails::Type::TaggedSymbol) + T.let(:card_details, Increase::CardDetailsAPI::Type::TaggedSymbol) sig do - override.returns(T::Array[Increase::CardDetails::Type::TaggedSymbol]) + override.returns( + T::Array[Increase::CardDetailsAPI::Type::TaggedSymbol] + ) end def self.values end diff --git a/rbi/increase/models/card_update_params.rbi b/rbi/increase/models/card_update_params.rbi index 8bf82ac40..aad098afc 100644 --- a/rbi/increase/models/card_update_params.rbi +++ b/rbi/increase/models/card_update_params.rbi @@ -50,6 +50,13 @@ 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 @@ -63,6 +70,7 @@ 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) @@ -79,6 +87,8 @@ 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: {} @@ -92,6 +102,7 @@ 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/simulations/physical_card_tracking_updates_params.rbi b/rbi/increase/models/simulations/physical_card_create_params.rbi similarity index 78% rename from rbi/increase/models/simulations/physical_card_tracking_updates_params.rbi rename to rbi/increase/models/simulations/physical_card_create_params.rbi index 5829812ef..6c1f8e57d 100644 --- a/rbi/increase/models/simulations/physical_card_tracking_updates_params.rbi +++ b/rbi/increase/models/simulations/physical_card_create_params.rbi @@ -3,14 +3,14 @@ module Increase module Models module Simulations - class PhysicalCardTrackingUpdatesParams < Increase::Internal::Type::BaseModel + class PhysicalCardCreateParams < Increase::Internal::Type::BaseModel extend Increase::Internal::Type::RequestParameters::Converter include Increase::Internal::Type::RequestParameters OrHash = T.type_alias do T.any( - Increase::Simulations::PhysicalCardTrackingUpdatesParams, + Increase::Simulations::PhysicalCardCreateParams, Increase::Internal::AnyHash ) end @@ -18,7 +18,7 @@ module Increase # The type of tracking event. sig do returns( - Increase::Simulations::PhysicalCardTrackingUpdatesParams::Category::OrSymbol + Increase::Simulations::PhysicalCardCreateParams::Category::OrSymbol ) end attr_accessor :category @@ -55,7 +55,7 @@ module Increase sig do params( category: - Increase::Simulations::PhysicalCardTrackingUpdatesParams::Category::OrSymbol, + Increase::Simulations::PhysicalCardCreateParams::Category::OrSymbol, carrier_estimated_delivery_at: Time, city: String, postal_code: String, @@ -83,7 +83,7 @@ module Increase override.returns( { category: - Increase::Simulations::PhysicalCardTrackingUpdatesParams::Category::OrSymbol, + Increase::Simulations::PhysicalCardCreateParams::Category::OrSymbol, carrier_estimated_delivery_at: Time, city: String, postal_code: String, @@ -103,7 +103,7 @@ module Increase T.type_alias do T.all( Symbol, - Increase::Simulations::PhysicalCardTrackingUpdatesParams::Category + Increase::Simulations::PhysicalCardCreateParams::Category ) end OrSymbol = T.type_alias { T.any(Symbol, String) } @@ -112,34 +112,34 @@ module Increase IN_TRANSIT = T.let( :in_transit, - Increase::Simulations::PhysicalCardTrackingUpdatesParams::Category::TaggedSymbol + Increase::Simulations::PhysicalCardCreateParams::Category::TaggedSymbol ) # The physical card has been processed for delivery. PROCESSED_FOR_DELIVERY = T.let( :processed_for_delivery, - Increase::Simulations::PhysicalCardTrackingUpdatesParams::Category::TaggedSymbol + Increase::Simulations::PhysicalCardCreateParams::Category::TaggedSymbol ) # The physical card has been delivered. DELIVERED = T.let( :delivered, - Increase::Simulations::PhysicalCardTrackingUpdatesParams::Category::TaggedSymbol + Increase::Simulations::PhysicalCardCreateParams::Category::TaggedSymbol ) # Delivery failed and the physical card was returned to sender. RETURNED_TO_SENDER = T.let( :returned_to_sender, - Increase::Simulations::PhysicalCardTrackingUpdatesParams::Category::TaggedSymbol + Increase::Simulations::PhysicalCardCreateParams::Category::TaggedSymbol ) sig do override.returns( T::Array[ - Increase::Simulations::PhysicalCardTrackingUpdatesParams::Category::TaggedSymbol + Increase::Simulations::PhysicalCardCreateParams::Category::TaggedSymbol ] ) end diff --git a/rbi/increase/resources/card_details.rbi b/rbi/increase/resources/card_details.rbi new file mode 100644 index 000000000..f4c47ac50 --- /dev/null +++ b/rbi/increase/resources/card_details.rbi @@ -0,0 +1,63 @@ +# typed: strong + +module Increase + module Resources + class CardDetails + # Update a Card's Details + 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 b91f9b061..7dbfe861e 100644 --- a/rbi/increase/resources/cards.rbi +++ b/rbi/increase/resources/cards.rbi @@ -56,6 +56,7 @@ 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) @@ -74,6 +75,8 @@ 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: {} @@ -111,40 +114,6 @@ 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 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::CardDetails) - 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:) diff --git a/rbi/increase/resources/simulations/physical_cards.rbi b/rbi/increase/resources/simulations/physical_cards.rbi index de149ea88..9d0049c5f 100644 --- a/rbi/increase/resources/simulations/physical_cards.rbi +++ b/rbi/increase/resources/simulations/physical_cards.rbi @@ -4,33 +4,13 @@ module Increase module Resources class Simulations class PhysicalCards - # This endpoint allows you to simulate advancing the shipment status of a Physical - # Card, to simulate e.g., that a physical card was attempted shipped but then - # failed delivery. - sig do - params( - physical_card_id: String, - shipment_status: - Increase::Simulations::PhysicalCardAdvanceShipmentParams::ShipmentStatus::OrSymbol, - request_options: Increase::RequestOptions::OrHash - ).returns(Increase::PhysicalCard) - end - def advance_shipment( - # The Physical Card you would like to action. - physical_card_id, - # The shipment status to move the Physical Card to. - shipment_status:, - request_options: {} - ) - end - # This endpoint allows you to simulate receiving a tracking update for a Physical # Card, to simulate the progress of a shipment. sig do params( physical_card_id: String, category: - Increase::Simulations::PhysicalCardTrackingUpdatesParams::Category::OrSymbol, + Increase::Simulations::PhysicalCardCreateParams::Category::OrSymbol, carrier_estimated_delivery_at: Time, city: String, postal_code: String, @@ -38,7 +18,7 @@ module Increase request_options: Increase::RequestOptions::OrHash ).returns(Increase::PhysicalCard) end - def tracking_updates( + def create( # The Physical Card you would like to action. physical_card_id, # The type of tracking event. @@ -56,6 +36,26 @@ module Increase ) end + # This endpoint allows you to simulate advancing the shipment status of a Physical + # Card, to simulate e.g., that a physical card was attempted shipped but then + # failed delivery. + sig do + params( + physical_card_id: String, + shipment_status: + Increase::Simulations::PhysicalCardAdvanceShipmentParams::ShipmentStatus::OrSymbol, + request_options: Increase::RequestOptions::OrHash + ).returns(Increase::PhysicalCard) + end + def advance_shipment( + # The Physical Card you would like to action. + physical_card_id, + # The shipment status to move the Physical Card to. + shipment_status:, + 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 e0757c7c3..3cea9736f 100644 --- a/sig/increase/client.rbs +++ b/sig/increase/client.rbs @@ -23,6 +23,8 @@ 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 7b27a9bba..cd30381fb 100644 --- a/sig/increase/models.rbs +++ b/sig/increase/models.rbs @@ -91,13 +91,15 @@ module Increase class Card = Increase::Models::Card - class CardCreateDetailsIframeParams = Increase::Models::CardCreateDetailsIframeParams - class CardCreateParams = Increase::Models::CardCreateParams - class CardDetails = Increase::Models::CardDetails + class CardDetailCreateDetailsIframeParams = Increase::Models::CardDetailCreateDetailsIframeParams + + class CardDetailDetailsParams = Increase::Models::CardDetailDetailsParams + + class CardDetailsAPI = Increase::Models::CardDetailsAPI - class CardDetailsParams = Increase::Models::CardDetailsParams + class CardDetailUpdateParams = Increase::Models::CardDetailUpdateParams class CardIframeURL = Increase::Models::CardIframeURL diff --git a/sig/increase/models/card_create_details_iframe_params.rbs b/sig/increase/models/card_detail_create_details_iframe_params.rbs similarity index 81% rename from sig/increase/models/card_create_details_iframe_params.rbs rename to sig/increase/models/card_detail_create_details_iframe_params.rbs index f8c4ff779..ad87894e3 100644 --- a/sig/increase/models/card_create_details_iframe_params.rbs +++ b/sig/increase/models/card_detail_create_details_iframe_params.rbs @@ -1,10 +1,10 @@ module Increase module Models - type card_create_details_iframe_params = + type card_detail_create_details_iframe_params = { physical_card_id: String } & Increase::Internal::Type::request_parameters - class CardCreateDetailsIframeParams < Increase::Internal::Type::BaseModel + class CardDetailCreateDetailsIframeParams < Increase::Internal::Type::BaseModel extend Increase::Internal::Type::RequestParameters::Converter include Increase::Internal::Type::RequestParameters diff --git a/sig/increase/models/card_details_params.rbs b/sig/increase/models/card_detail_details_params.rbs similarity index 77% rename from sig/increase/models/card_details_params.rbs rename to sig/increase/models/card_detail_details_params.rbs index cd5a5e7ee..6bd1b015f 100644 --- a/sig/increase/models/card_details_params.rbs +++ b/sig/increase/models/card_detail_details_params.rbs @@ -1,9 +1,9 @@ module Increase module Models - type card_details_params = + type card_detail_details_params = { } & Increase::Internal::Type::request_parameters - class CardDetailsParams < Increase::Internal::Type::BaseModel + class CardDetailDetailsParams < Increase::Internal::Type::BaseModel extend Increase::Internal::Type::RequestParameters::Converter include Increase::Internal::Type::RequestParameters diff --git a/sig/increase/models/card_detail_update_params.rbs b/sig/increase/models/card_detail_update_params.rbs new file mode 100644 index 000000000..c81d00bcb --- /dev/null +++ b/sig/increase/models/card_detail_update_params.rbs @@ -0,0 +1,20 @@ +module Increase + module Models + type card_detail_update_params = + { pin: String } & Increase::Internal::Type::request_parameters + + class CardDetailUpdateParams < Increase::Internal::Type::BaseModel + extend Increase::Internal::Type::RequestParameters::Converter + include Increase::Internal::Type::RequestParameters + + attr_accessor pin: String + + def initialize: ( + pin: String, + ?request_options: Increase::request_opts + ) -> void + + def to_hash: -> { pin: String, request_options: Increase::RequestOptions } + end + end +end diff --git a/sig/increase/models/card_details.rbs b/sig/increase/models/card_details.rbs index 34e0e59df..3f5620457 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 = + type card_details_api = { card_id: String, expiration_month: Integer, expiration_year: Integer, pin: String, primary_account_number: String, - type: Increase::Models::CardDetails::type_, + type: Increase::Models::CardDetailsAPI::type_, verification_code: String } - class CardDetails < Increase::Internal::Type::BaseModel + class CardDetailsAPI < 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::CardDetails::type_ + attr_accessor type: Increase::Models::CardDetailsAPI::type_ attr_accessor verification_code: String @@ -32,7 +32,7 @@ module Increase expiration_year: Integer, pin: String, primary_account_number: String, - type: Increase::Models::CardDetails::type_, + type: Increase::Models::CardDetailsAPI::type_, verification_code: String ) -> void @@ -42,7 +42,7 @@ module Increase expiration_year: Integer, pin: String, primary_account_number: String, - type: Increase::Models::CardDetails::type_, + type: Increase::Models::CardDetailsAPI::type_, verification_code: String } @@ -53,7 +53,7 @@ module Increase CARD_DETAILS: :card_details - def self?.values: -> ::Array[Increase::Models::CardDetails::type_] + def self?.values: -> ::Array[Increase::Models::CardDetailsAPI::type_] end end end diff --git a/sig/increase/models/card_update_params.rbs b/sig/increase/models/card_update_params.rbs index 1f3a5f342..ca90afb13 100644 --- a/sig/increase/models/card_update_params.rbs +++ b/sig/increase/models/card_update_params.rbs @@ -6,6 +6,7 @@ module Increase description: String, digital_wallet: Increase::CardUpdateParams::DigitalWallet, entity_id: String, + pin: String, status: Increase::Models::CardUpdateParams::status } & Increase::Internal::Type::request_parameters @@ -34,6 +35,10 @@ module Increase def entity_id=: (String) -> String + attr_reader pin: String? + + def pin=: (String) -> String + attr_reader status: Increase::Models::CardUpdateParams::status? def status=: ( @@ -45,6 +50,7 @@ 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 @@ -54,6 +60,7 @@ 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/simulations/physical_card_tracking_updates_params.rbs b/sig/increase/models/simulations/physical_card_create_params.rbs similarity index 79% rename from sig/increase/models/simulations/physical_card_tracking_updates_params.rbs rename to sig/increase/models/simulations/physical_card_create_params.rbs index 2c1badae0..924ac1500 100644 --- a/sig/increase/models/simulations/physical_card_tracking_updates_params.rbs +++ b/sig/increase/models/simulations/physical_card_create_params.rbs @@ -1,9 +1,9 @@ module Increase module Models module Simulations - type physical_card_tracking_updates_params = + type physical_card_create_params = { - category: Increase::Models::Simulations::PhysicalCardTrackingUpdatesParams::category, + category: Increase::Models::Simulations::PhysicalCardCreateParams::category, carrier_estimated_delivery_at: Time, city: String, postal_code: String, @@ -11,11 +11,11 @@ module Increase } & Increase::Internal::Type::request_parameters - class PhysicalCardTrackingUpdatesParams < Increase::Internal::Type::BaseModel + class PhysicalCardCreateParams < Increase::Internal::Type::BaseModel extend Increase::Internal::Type::RequestParameters::Converter include Increase::Internal::Type::RequestParameters - attr_accessor category: Increase::Models::Simulations::PhysicalCardTrackingUpdatesParams::category + attr_accessor category: Increase::Models::Simulations::PhysicalCardCreateParams::category attr_reader carrier_estimated_delivery_at: Time? @@ -34,7 +34,7 @@ module Increase def state=: (String) -> String def initialize: ( - category: Increase::Models::Simulations::PhysicalCardTrackingUpdatesParams::category, + category: Increase::Models::Simulations::PhysicalCardCreateParams::category, ?carrier_estimated_delivery_at: Time, ?city: String, ?postal_code: String, @@ -43,7 +43,7 @@ module Increase ) -> void def to_hash: -> { - category: Increase::Models::Simulations::PhysicalCardTrackingUpdatesParams::category, + category: Increase::Models::Simulations::PhysicalCardCreateParams::category, carrier_estimated_delivery_at: Time, city: String, postal_code: String, @@ -72,7 +72,7 @@ module Increase # Delivery failed and the physical card was returned to sender. RETURNED_TO_SENDER: :returned_to_sender - def self?.values: -> ::Array[Increase::Models::Simulations::PhysicalCardTrackingUpdatesParams::category] + def self?.values: -> ::Array[Increase::Models::Simulations::PhysicalCardCreateParams::category] end end end diff --git a/sig/increase/resources/card_details.rbs b/sig/increase/resources/card_details.rbs new file mode 100644 index 000000000..4b42136e0 --- /dev/null +++ b/sig/increase/resources/card_details.rbs @@ -0,0 +1,24 @@ +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 c73923f3a..a56570978 100644 --- a/sig/increase/resources/cards.rbs +++ b/sig/increase/resources/cards.rbs @@ -21,6 +21,7 @@ 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 @@ -35,17 +36,6 @@ 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 initialize: (client: Increase::Client) -> void end end diff --git a/sig/increase/resources/simulations/physical_cards.rbs b/sig/increase/resources/simulations/physical_cards.rbs index 34523d58e..a70586dfb 100644 --- a/sig/increase/resources/simulations/physical_cards.rbs +++ b/sig/increase/resources/simulations/physical_cards.rbs @@ -2,15 +2,9 @@ module Increase module Resources class Simulations class PhysicalCards - def advance_shipment: ( - String physical_card_id, - shipment_status: Increase::Models::Simulations::PhysicalCardAdvanceShipmentParams::shipment_status, - ?request_options: Increase::request_opts - ) -> Increase::PhysicalCard - - def tracking_updates: ( + def create: ( String physical_card_id, - category: Increase::Models::Simulations::PhysicalCardTrackingUpdatesParams::category, + category: Increase::Models::Simulations::PhysicalCardCreateParams::category, ?carrier_estimated_delivery_at: Time, ?city: String, ?postal_code: String, @@ -18,6 +12,12 @@ module Increase ?request_options: Increase::request_opts ) -> Increase::PhysicalCard + def advance_shipment: ( + String physical_card_id, + shipment_status: Increase::Models::Simulations::PhysicalCardAdvanceShipmentParams::shipment_status, + ?request_options: Increase::request_opts + ) -> Increase::PhysicalCard + 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 new file mode 100644 index 000000000..1e01d8a9e --- /dev/null +++ b/test/increase/resources/card_details_test.rb @@ -0,0 +1,61 @@ +# 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_id", 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_id") + + 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_id") + + 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 efb2d45be..6c14c7bbd 100644 --- a/test/increase/resources/cards_test.rb +++ b/test/increase/resources/cards_test.rb @@ -113,40 +113,4 @@ def test_list } end end - - def test_create_details_iframe - response = @increase.cards.create_details_iframe("card_id") - - 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_id") - - 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 diff --git a/test/increase/resources/simulations/physical_cards_test.rb b/test/increase/resources/simulations/physical_cards_test.rb index 15a68fd7a..3d780042a 100644 --- a/test/increase/resources/simulations/physical_cards_test.rb +++ b/test/increase/resources/simulations/physical_cards_test.rb @@ -3,9 +3,8 @@ require_relative "../../test_helper" class Increase::Test::Resources::Simulations::PhysicalCardsTest < Increase::Test::ResourceTest - def test_advance_shipment_required_params - response = - @increase.simulations.physical_cards.advance_shipment("physical_card_id", shipment_status: :shipped) + def test_create_required_params + response = @increase.simulations.physical_cards.create("physical_card_id", category: :delivered) assert_pattern do response => Increase::PhysicalCard @@ -26,9 +25,9 @@ def test_advance_shipment_required_params end end - def test_tracking_updates_required_params + def test_advance_shipment_required_params response = - @increase.simulations.physical_cards.tracking_updates("physical_card_id", category: :delivered) + @increase.simulations.physical_cards.advance_shipment("physical_card_id", shipment_status: :shipped) assert_pattern do response => Increase::PhysicalCard From f3c415d6fa0822c7c6af650c30d69df665299eb8 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 19 Sep 2025 20:18:13 +0000 Subject: [PATCH 3/3] release: 1.83.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 13 +++++++++++++ Gemfile.lock | 2 +- README.md | 2 +- lib/increase/version.rb | 2 +- 5 files changed, 17 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index fc2c3ec04..0453d70e4 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.82.0" + ".": "1.83.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index b733521b2..f894f365b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## 1.83.0 (2025-09-19) + +Full Changelog: [v1.82.0...v1.83.0](https://github.com/Increase/increase-ruby/compare/v1.82.0...v1.83.0) + +### Features + +* **api:** api update ([e4382bb](https://github.com/Increase/increase-ruby/commit/e4382bb2fad1d76e20ff852aa75d8d819bd13d01)) + + +### Chores + +* do not install brew dependencies in ./scripts/bootstrap by default ([0173be9](https://github.com/Increase/increase-ruby/commit/0173be95cdbd2321196c60b385970c9b2520bcd8)) + ## 1.82.0 (2025-09-19) Full Changelog: [v1.81.0...v1.82.0](https://github.com/Increase/increase-ruby/compare/v1.81.0...v1.82.0) diff --git a/Gemfile.lock b/Gemfile.lock index 1fb561785..243487311 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - increase (1.82.0) + increase (1.83.0) connection_pool GEM diff --git a/README.md b/README.md index ebcd56c79..a63c5608b 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.82.0" +gem "increase", "~> 1.83.0" ``` diff --git a/lib/increase/version.rb b/lib/increase/version.rb index 7a56ca78a..ad21451b1 100644 --- a/lib/increase/version.rb +++ b/lib/increase/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Increase - VERSION = "1.82.0" + VERSION = "1.83.0" end