terminal-shop 1.7.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +17 -1
- data/lib/terminal-shop/base_client.rb +47 -56
- data/lib/terminal-shop/base_model.rb +300 -352
- data/lib/terminal-shop/base_page.rb +30 -31
- data/lib/terminal-shop/client.rb +2 -3
- data/lib/terminal-shop/errors.rb +12 -17
- data/lib/terminal-shop/extern.rb +1 -4
- data/lib/terminal-shop/models/product.rb +7 -3
- data/lib/terminal-shop/models/region.rb +7 -3
- data/lib/terminal-shop/models/subscription.rb +7 -3
- data/lib/terminal-shop/pooled_net_requester.rb +30 -21
- data/lib/terminal-shop/request_options.rb +5 -12
- data/lib/terminal-shop/resources/address.rb +0 -5
- data/lib/terminal-shop/resources/app.rb +0 -5
- data/lib/terminal-shop/resources/card.rb +0 -6
- data/lib/terminal-shop/resources/cart.rb +0 -7
- data/lib/terminal-shop/resources/email.rb +0 -2
- data/lib/terminal-shop/resources/order.rb +0 -4
- data/lib/terminal-shop/resources/product.rb +0 -3
- data/lib/terminal-shop/resources/profile.rb +0 -3
- data/lib/terminal-shop/resources/subscription.rb +0 -5
- data/lib/terminal-shop/resources/token.rb +0 -5
- data/lib/terminal-shop/resources/view.rb +0 -2
- data/lib/terminal-shop/util.rb +59 -77
- data/lib/terminal-shop/version.rb +1 -1
- data/lib/terminal-shop.rb +16 -0
- data/manifest.yaml +1 -0
- data/rbi/lib/terminal-shop/base_client.rbi +63 -41
- data/rbi/lib/terminal-shop/base_model.rbi +278 -129
- data/rbi/lib/terminal-shop/base_page.rbi +1 -4
- data/rbi/lib/terminal-shop/client.rbi +29 -30
- data/rbi/lib/terminal-shop/errors.rbi +12 -14
- data/rbi/lib/terminal-shop/extern.rbi +1 -1
- data/rbi/lib/terminal-shop/models/address.rbi +25 -51
- data/rbi/lib/terminal-shop/models/address_create_params.rbi +23 -46
- data/rbi/lib/terminal-shop/models/address_create_response.rbi +2 -6
- data/rbi/lib/terminal-shop/models/address_delete_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/address_delete_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/address_get_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/address_get_response.rbi +8 -6
- data/rbi/lib/terminal-shop/models/address_list_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/address_list_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/app.rbi +9 -24
- data/rbi/lib/terminal-shop/models/app_create_params.rbi +3 -13
- data/rbi/lib/terminal-shop/models/app_create_response.rbi +10 -20
- data/rbi/lib/terminal-shop/models/app_delete_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/app_delete_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/app_get_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/app_get_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/app_list_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/app_list_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/card.rbi +22 -36
- data/rbi/lib/terminal-shop/models/card_collect_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/card_collect_response.rbi +11 -14
- data/rbi/lib/terminal-shop/models/card_create_params.rbi +4 -7
- data/rbi/lib/terminal-shop/models/card_create_response.rbi +2 -6
- data/rbi/lib/terminal-shop/models/card_delete_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/card_delete_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/card_get_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/card_get_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/card_list_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/card_list_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/cart.rbi +53 -88
- data/rbi/lib/terminal-shop/models/cart_clear_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/cart_clear_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/cart_convert_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/cart_convert_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/cart_get_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/cart_get_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/cart_set_address_params.rbi +3 -7
- data/rbi/lib/terminal-shop/models/cart_set_address_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/cart_set_card_params.rbi +3 -7
- data/rbi/lib/terminal-shop/models/cart_set_card_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/cart_set_item_params.rbi +5 -13
- data/rbi/lib/terminal-shop/models/cart_set_item_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/email_create_params.rbi +3 -7
- data/rbi/lib/terminal-shop/models/email_create_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/order.rbi +80 -139
- data/rbi/lib/terminal-shop/models/order_create_params.rbi +7 -19
- data/rbi/lib/terminal-shop/models/order_create_response.rbi +2 -6
- data/rbi/lib/terminal-shop/models/order_get_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/order_get_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/order_list_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/order_list_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/product.rbi +52 -80
- data/rbi/lib/terminal-shop/models/product_get_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/product_get_response.rbi +8 -6
- data/rbi/lib/terminal-shop/models/product_list_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/product_list_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/product_variant.rbi +7 -18
- data/rbi/lib/terminal-shop/models/profile.rbi +20 -36
- data/rbi/lib/terminal-shop/models/profile_me_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/profile_me_response.rbi +8 -6
- data/rbi/lib/terminal-shop/models/profile_update_params.rbi +3 -13
- data/rbi/lib/terminal-shop/models/profile_update_response.rbi +8 -6
- data/rbi/lib/terminal-shop/models/region.rbi +10 -8
- data/rbi/lib/terminal-shop/models/subscription.rbi +35 -75
- data/rbi/lib/terminal-shop/models/subscription_create_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/subscription_create_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/subscription_delete_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/subscription_delete_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/subscription_get_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/subscription_get_response.rbi +8 -6
- data/rbi/lib/terminal-shop/models/subscription_list_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/subscription_list_response.rbi +4 -8
- data/rbi/lib/terminal-shop/models/token.rbi +8 -18
- data/rbi/lib/terminal-shop/models/token_create_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/token_create_response.rbi +11 -20
- data/rbi/lib/terminal-shop/models/token_delete_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/token_delete_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/token_get_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/token_get_response.rbi +6 -6
- data/rbi/lib/terminal-shop/models/token_list_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/token_list_response.rbi +5 -6
- data/rbi/lib/terminal-shop/models/view_init_params.rbi +1 -1
- data/rbi/lib/terminal-shop/models/view_init_response.rbi +37 -81
- data/rbi/lib/terminal-shop/pooled_net_requester.rbi +24 -6
- data/rbi/lib/terminal-shop/request_options.rbi +32 -57
- data/rbi/lib/terminal-shop/resources/address.rbi +26 -6
- data/rbi/lib/terminal-shop/resources/app.rbi +18 -6
- data/rbi/lib/terminal-shop/resources/card.rbi +27 -8
- data/rbi/lib/terminal-shop/resources/cart.rbi +29 -9
- data/rbi/lib/terminal-shop/resources/email.rbi +7 -2
- data/rbi/lib/terminal-shop/resources/order.rbi +20 -5
- data/rbi/lib/terminal-shop/resources/product.rbi +9 -3
- data/rbi/lib/terminal-shop/resources/profile.rbi +4 -2
- data/rbi/lib/terminal-shop/resources/subscription.rbi +26 -6
- data/rbi/lib/terminal-shop/resources/token.rbi +18 -6
- data/rbi/lib/terminal-shop/resources/view.rbi +3 -1
- data/rbi/lib/terminal-shop/util.rbi +78 -20
- data/rbi/lib/terminal-shop/version.rbi +1 -1
- data/sig/terminal-shop/base_client.rbs +20 -15
- data/sig/terminal-shop/base_model.rbs +36 -18
- data/sig/terminal-shop/client.rbs +8 -8
- data/sig/terminal-shop/errors.rbs +21 -21
- data/sig/terminal-shop/models/address.rbs +11 -15
- data/sig/terminal-shop/models/address_create_params.rbs +11 -16
- data/sig/terminal-shop/models/address_create_response.rbs +1 -6
- data/sig/terminal-shop/models/address_delete_params.rbs +1 -6
- data/sig/terminal-shop/models/address_delete_response.rbs +1 -6
- data/sig/terminal-shop/models/address_get_params.rbs +1 -6
- data/sig/terminal-shop/models/address_get_response.rbs +1 -6
- data/sig/terminal-shop/models/address_list_params.rbs +1 -6
- data/sig/terminal-shop/models/address_list_response.rbs +1 -6
- data/sig/terminal-shop/models/app.rbs +6 -5
- data/sig/terminal-shop/models/app_create_params.rbs +5 -10
- data/sig/terminal-shop/models/app_create_response.rbs +4 -12
- data/sig/terminal-shop/models/app_delete_params.rbs +1 -6
- data/sig/terminal-shop/models/app_delete_response.rbs +1 -6
- data/sig/terminal-shop/models/app_get_params.rbs +1 -5
- data/sig/terminal-shop/models/app_get_response.rbs +1 -5
- data/sig/terminal-shop/models/app_list_params.rbs +1 -5
- data/sig/terminal-shop/models/app_list_response.rbs +1 -6
- data/sig/terminal-shop/models/card.rbs +7 -16
- data/sig/terminal-shop/models/card_collect_params.rbs +1 -6
- data/sig/terminal-shop/models/card_collect_response.rbs +4 -12
- data/sig/terminal-shop/models/card_create_params.rbs +4 -6
- data/sig/terminal-shop/models/card_create_response.rbs +1 -6
- data/sig/terminal-shop/models/card_delete_params.rbs +1 -6
- data/sig/terminal-shop/models/card_delete_response.rbs +1 -6
- data/sig/terminal-shop/models/card_get_params.rbs +1 -5
- data/sig/terminal-shop/models/card_get_response.rbs +1 -6
- data/sig/terminal-shop/models/card_list_params.rbs +1 -5
- data/sig/terminal-shop/models/card_list_response.rbs +1 -6
- data/sig/terminal-shop/models/cart.rbs +20 -34
- data/sig/terminal-shop/models/cart_clear_params.rbs +1 -6
- data/sig/terminal-shop/models/cart_clear_response.rbs +1 -6
- data/sig/terminal-shop/models/cart_convert_params.rbs +1 -6
- data/sig/terminal-shop/models/cart_convert_response.rbs +1 -6
- data/sig/terminal-shop/models/cart_get_params.rbs +1 -5
- data/sig/terminal-shop/models/cart_get_response.rbs +1 -6
- data/sig/terminal-shop/models/cart_set_address_params.rbs +4 -9
- data/sig/terminal-shop/models/cart_set_address_response.rbs +1 -6
- data/sig/terminal-shop/models/cart_set_card_params.rbs +4 -6
- data/sig/terminal-shop/models/cart_set_card_response.rbs +1 -6
- data/sig/terminal-shop/models/cart_set_item_params.rbs +5 -10
- data/sig/terminal-shop/models/cart_set_item_response.rbs +1 -6
- data/sig/terminal-shop/models/email_create_params.rbs +4 -6
- data/sig/terminal-shop/models/email_create_response.rbs +1 -6
- data/sig/terminal-shop/models/order.rbs +31 -50
- data/sig/terminal-shop/models/order_create_params.rbs +6 -11
- data/sig/terminal-shop/models/order_create_response.rbs +1 -6
- data/sig/terminal-shop/models/order_get_params.rbs +1 -5
- data/sig/terminal-shop/models/order_get_response.rbs +1 -6
- data/sig/terminal-shop/models/order_list_params.rbs +1 -6
- data/sig/terminal-shop/models/order_list_response.rbs +1 -6
- data/sig/terminal-shop/models/product.rbs +20 -27
- data/sig/terminal-shop/models/product_get_params.rbs +1 -6
- data/sig/terminal-shop/models/product_get_response.rbs +1 -6
- data/sig/terminal-shop/models/product_list_params.rbs +1 -6
- data/sig/terminal-shop/models/product_list_response.rbs +1 -6
- data/sig/terminal-shop/models/product_variant.rbs +1 -5
- data/sig/terminal-shop/models/profile.rbs +8 -17
- data/sig/terminal-shop/models/profile_me_params.rbs +1 -6
- data/sig/terminal-shop/models/profile_me_response.rbs +1 -6
- data/sig/terminal-shop/models/profile_update_params.rbs +5 -10
- data/sig/terminal-shop/models/profile_update_response.rbs +1 -6
- data/sig/terminal-shop/models/region.rbs +4 -2
- data/sig/terminal-shop/models/subscription.rbs +15 -27
- data/sig/terminal-shop/models/subscription_create_params.rbs +1 -6
- data/sig/terminal-shop/models/subscription_create_response.rbs +1 -6
- data/sig/terminal-shop/models/subscription_delete_params.rbs +1 -6
- data/sig/terminal-shop/models/subscription_delete_response.rbs +1 -6
- data/sig/terminal-shop/models/subscription_get_params.rbs +1 -6
- data/sig/terminal-shop/models/subscription_get_response.rbs +1 -6
- data/sig/terminal-shop/models/subscription_list_params.rbs +1 -6
- data/sig/terminal-shop/models/subscription_list_response.rbs +3 -6
- data/sig/terminal-shop/models/token.rbs +1 -5
- data/sig/terminal-shop/models/token_create_params.rbs +1 -6
- data/sig/terminal-shop/models/token_create_response.rbs +4 -12
- data/sig/terminal-shop/models/token_delete_params.rbs +1 -6
- data/sig/terminal-shop/models/token_delete_response.rbs +1 -6
- data/sig/terminal-shop/models/token_get_params.rbs +1 -5
- data/sig/terminal-shop/models/token_get_response.rbs +1 -6
- data/sig/terminal-shop/models/token_list_params.rbs +1 -6
- data/sig/terminal-shop/models/token_list_response.rbs +1 -6
- data/sig/terminal-shop/models/view_init_params.rbs +1 -5
- data/sig/terminal-shop/models/view_init_response.rbs +15 -23
- data/sig/terminal-shop/pooled_net_requester.rbs +10 -3
- data/sig/terminal-shop/request_options.rbs +2 -2
- data/sig/terminal-shop/resources/address.rbs +22 -41
- data/sig/terminal-shop/resources/app.rbs +16 -34
- data/sig/terminal-shop/resources/card.rbs +18 -40
- data/sig/terminal-shop/resources/cart.rbs +22 -47
- data/sig/terminal-shop/resources/email.rbs +4 -8
- data/sig/terminal-shop/resources/order.rbs +13 -26
- data/sig/terminal-shop/resources/product.rbs +7 -16
- data/sig/terminal-shop/resources/profile.rbs +8 -16
- data/sig/terminal-shop/resources/subscription.rbs +21 -43
- data/sig/terminal-shop/resources/token.rbs +14 -32
- data/sig/terminal-shop/resources/view.rbs +3 -7
- data/sig/terminal-shop/util.rbs +9 -9
- data/sig/terminal-shop/version.rbs +1 -1
- metadata +4 -4
@@ -7,7 +7,7 @@ module TerminalShop
|
|
7
7
|
include TerminalShop::RequestParameters
|
8
8
|
|
9
9
|
sig do
|
10
|
-
params(request_options: T.any(TerminalShop::RequestOptions,
|
10
|
+
params(request_options: T.any(TerminalShop::RequestOptions, TerminalShop::Util::AnyHash))
|
11
11
|
.returns(T.attached_class)
|
12
12
|
end
|
13
13
|
def self.new(request_options: {})
|
@@ -4,12 +4,7 @@ module TerminalShop
|
|
4
4
|
module Models
|
5
5
|
class SubscriptionCreateResponse < TerminalShop::BaseModel
|
6
6
|
sig { returns(Symbol) }
|
7
|
-
|
8
|
-
end
|
9
|
-
|
10
|
-
sig { params(_: Symbol).returns(Symbol) }
|
11
|
-
def data=(_)
|
12
|
-
end
|
7
|
+
attr_accessor :data
|
13
8
|
|
14
9
|
sig { params(data: Symbol).returns(T.attached_class) }
|
15
10
|
def self.new(data: :ok)
|
@@ -7,7 +7,7 @@ module TerminalShop
|
|
7
7
|
include TerminalShop::RequestParameters
|
8
8
|
|
9
9
|
sig do
|
10
|
-
params(request_options: T.any(TerminalShop::RequestOptions,
|
10
|
+
params(request_options: T.any(TerminalShop::RequestOptions, TerminalShop::Util::AnyHash))
|
11
11
|
.returns(T.attached_class)
|
12
12
|
end
|
13
13
|
def self.new(request_options: {})
|
@@ -4,12 +4,7 @@ module TerminalShop
|
|
4
4
|
module Models
|
5
5
|
class SubscriptionDeleteResponse < TerminalShop::BaseModel
|
6
6
|
sig { returns(Symbol) }
|
7
|
-
|
8
|
-
end
|
9
|
-
|
10
|
-
sig { params(_: Symbol).returns(Symbol) }
|
11
|
-
def data=(_)
|
12
|
-
end
|
7
|
+
attr_accessor :data
|
13
8
|
|
14
9
|
sig { params(data: Symbol).returns(T.attached_class) }
|
15
10
|
def self.new(data: :ok)
|
@@ -7,7 +7,7 @@ module TerminalShop
|
|
7
7
|
include TerminalShop::RequestParameters
|
8
8
|
|
9
9
|
sig do
|
10
|
-
params(request_options: T.any(TerminalShop::RequestOptions,
|
10
|
+
params(request_options: T.any(TerminalShop::RequestOptions, TerminalShop::Util::AnyHash))
|
11
11
|
.returns(T.attached_class)
|
12
12
|
end
|
13
13
|
def self.new(request_options: {})
|
@@ -3,15 +3,17 @@
|
|
3
3
|
module TerminalShop
|
4
4
|
module Models
|
5
5
|
class SubscriptionGetResponse < TerminalShop::BaseModel
|
6
|
+
# Subscription to a Terminal shop product.
|
6
7
|
sig { returns(TerminalShop::Models::SubscriptionAPI) }
|
7
|
-
|
8
|
-
end
|
8
|
+
attr_reader :data
|
9
9
|
|
10
|
-
sig { params(
|
11
|
-
|
12
|
-
end
|
10
|
+
sig { params(data: T.any(TerminalShop::Models::SubscriptionAPI, TerminalShop::Util::AnyHash)).void }
|
11
|
+
attr_writer :data
|
13
12
|
|
14
|
-
sig
|
13
|
+
sig do
|
14
|
+
params(data: T.any(TerminalShop::Models::SubscriptionAPI, TerminalShop::Util::AnyHash))
|
15
|
+
.returns(T.attached_class)
|
16
|
+
end
|
15
17
|
def self.new(data:)
|
16
18
|
end
|
17
19
|
|
@@ -7,7 +7,7 @@ module TerminalShop
|
|
7
7
|
include TerminalShop::RequestParameters
|
8
8
|
|
9
9
|
sig do
|
10
|
-
params(request_options: T.any(TerminalShop::RequestOptions,
|
10
|
+
params(request_options: T.any(TerminalShop::RequestOptions, TerminalShop::Util::AnyHash))
|
11
11
|
.returns(T.attached_class)
|
12
12
|
end
|
13
13
|
def self.new(request_options: {})
|
@@ -3,18 +3,14 @@
|
|
3
3
|
module TerminalShop
|
4
4
|
module Models
|
5
5
|
class SubscriptionListResponse < TerminalShop::BaseModel
|
6
|
+
# List of subscriptions.
|
6
7
|
sig { returns(T::Array[TerminalShop::Models::SubscriptionAPI]) }
|
7
|
-
|
8
|
-
end
|
8
|
+
attr_accessor :data
|
9
9
|
|
10
10
|
sig do
|
11
|
-
params(
|
12
|
-
.returns(T
|
13
|
-
end
|
14
|
-
def data=(_)
|
11
|
+
params(data: T::Array[T.any(TerminalShop::Models::SubscriptionAPI, TerminalShop::Util::AnyHash)])
|
12
|
+
.returns(T.attached_class)
|
15
13
|
end
|
16
|
-
|
17
|
-
sig { params(data: T::Array[TerminalShop::Models::SubscriptionAPI]).returns(T.attached_class) }
|
18
14
|
def self.new(data:)
|
19
15
|
end
|
20
16
|
|
@@ -3,30 +3,20 @@
|
|
3
3
|
module TerminalShop
|
4
4
|
module Models
|
5
5
|
class TokenAPI < TerminalShop::BaseModel
|
6
|
+
# Unique object identifier. The format and length of IDs may change over time.
|
6
7
|
sig { returns(String) }
|
7
|
-
|
8
|
-
end
|
9
|
-
|
10
|
-
sig { params(_: String).returns(String) }
|
11
|
-
def id=(_)
|
12
|
-
end
|
8
|
+
attr_accessor :id
|
13
9
|
|
10
|
+
# Personal access token (obfuscated).
|
14
11
|
sig { returns(String) }
|
15
|
-
|
16
|
-
end
|
17
|
-
|
18
|
-
sig { params(_: String).returns(String) }
|
19
|
-
def token=(_)
|
20
|
-
end
|
12
|
+
attr_accessor :token
|
21
13
|
|
14
|
+
# The created time for the token.
|
22
15
|
sig { returns(String) }
|
23
|
-
|
24
|
-
end
|
25
|
-
|
26
|
-
sig { params(_: String).returns(String) }
|
27
|
-
def created=(_)
|
28
|
-
end
|
16
|
+
attr_accessor :created
|
29
17
|
|
18
|
+
# A personal access token used to access the Terminal API. If you leak this,
|
19
|
+
# expect large sums of coffee to be ordered on your credit card.
|
30
20
|
sig { params(id: String, token: String, created: String).returns(T.attached_class) }
|
31
21
|
def self.new(id:, token:, created:)
|
32
22
|
end
|
@@ -7,7 +7,7 @@ module TerminalShop
|
|
7
7
|
include TerminalShop::RequestParameters
|
8
8
|
|
9
9
|
sig do
|
10
|
-
params(request_options: T.any(TerminalShop::RequestOptions,
|
10
|
+
params(request_options: T.any(TerminalShop::RequestOptions, TerminalShop::Util::AnyHash))
|
11
11
|
.returns(T.attached_class)
|
12
12
|
end
|
13
13
|
def self.new(request_options: {})
|
@@ -4,17 +4,15 @@ module TerminalShop
|
|
4
4
|
module Models
|
5
5
|
class TokenCreateResponse < TerminalShop::BaseModel
|
6
6
|
sig { returns(TerminalShop::Models::TokenCreateResponse::Data) }
|
7
|
-
|
8
|
-
|
7
|
+
attr_reader :data
|
8
|
+
|
9
|
+
sig { params(data: T.any(TerminalShop::Models::TokenCreateResponse::Data, TerminalShop::Util::AnyHash)).void }
|
10
|
+
attr_writer :data
|
9
11
|
|
10
12
|
sig do
|
11
|
-
params(
|
12
|
-
.returns(
|
13
|
-
end
|
14
|
-
def data=(_)
|
13
|
+
params(data: T.any(TerminalShop::Models::TokenCreateResponse::Data, TerminalShop::Util::AnyHash))
|
14
|
+
.returns(T.attached_class)
|
15
15
|
end
|
16
|
-
|
17
|
-
sig { params(data: TerminalShop::Models::TokenCreateResponse::Data).returns(T.attached_class) }
|
18
16
|
def self.new(data:)
|
19
17
|
end
|
20
18
|
|
@@ -23,21 +21,14 @@ module TerminalShop
|
|
23
21
|
end
|
24
22
|
|
25
23
|
class Data < TerminalShop::BaseModel
|
24
|
+
# Personal token ID.
|
26
25
|
sig { returns(String) }
|
27
|
-
|
28
|
-
end
|
29
|
-
|
30
|
-
sig { params(_: String).returns(String) }
|
31
|
-
def id=(_)
|
32
|
-
end
|
26
|
+
attr_accessor :id
|
33
27
|
|
28
|
+
# Personal access token. Include this in the Authorization header
|
29
|
+
# (`Bearer <token>`) when accessing the Terminal API.
|
34
30
|
sig { returns(String) }
|
35
|
-
|
36
|
-
end
|
37
|
-
|
38
|
-
sig { params(_: String).returns(String) }
|
39
|
-
def token=(_)
|
40
|
-
end
|
31
|
+
attr_accessor :token
|
41
32
|
|
42
33
|
sig { params(id: String, token: String).returns(T.attached_class) }
|
43
34
|
def self.new(id:, token:)
|
@@ -7,7 +7,7 @@ module TerminalShop
|
|
7
7
|
include TerminalShop::RequestParameters
|
8
8
|
|
9
9
|
sig do
|
10
|
-
params(request_options: T.any(TerminalShop::RequestOptions,
|
10
|
+
params(request_options: T.any(TerminalShop::RequestOptions, TerminalShop::Util::AnyHash))
|
11
11
|
.returns(T.attached_class)
|
12
12
|
end
|
13
13
|
def self.new(request_options: {})
|
@@ -4,12 +4,7 @@ module TerminalShop
|
|
4
4
|
module Models
|
5
5
|
class TokenDeleteResponse < TerminalShop::BaseModel
|
6
6
|
sig { returns(Symbol) }
|
7
|
-
|
8
|
-
end
|
9
|
-
|
10
|
-
sig { params(_: Symbol).returns(Symbol) }
|
11
|
-
def data=(_)
|
12
|
-
end
|
7
|
+
attr_accessor :data
|
13
8
|
|
14
9
|
sig { params(data: Symbol).returns(T.attached_class) }
|
15
10
|
def self.new(data: :ok)
|
@@ -7,7 +7,7 @@ module TerminalShop
|
|
7
7
|
include TerminalShop::RequestParameters
|
8
8
|
|
9
9
|
sig do
|
10
|
-
params(request_options: T.any(TerminalShop::RequestOptions,
|
10
|
+
params(request_options: T.any(TerminalShop::RequestOptions, TerminalShop::Util::AnyHash))
|
11
11
|
.returns(T.attached_class)
|
12
12
|
end
|
13
13
|
def self.new(request_options: {})
|
@@ -3,15 +3,15 @@
|
|
3
3
|
module TerminalShop
|
4
4
|
module Models
|
5
5
|
class TokenGetResponse < TerminalShop::BaseModel
|
6
|
+
# A personal access token used to access the Terminal API. If you leak this,
|
7
|
+
# expect large sums of coffee to be ordered on your credit card.
|
6
8
|
sig { returns(TerminalShop::Models::TokenAPI) }
|
7
|
-
|
8
|
-
end
|
9
|
+
attr_reader :data
|
9
10
|
|
10
|
-
sig { params(
|
11
|
-
|
12
|
-
end
|
11
|
+
sig { params(data: T.any(TerminalShop::Models::TokenAPI, TerminalShop::Util::AnyHash)).void }
|
12
|
+
attr_writer :data
|
13
13
|
|
14
|
-
sig { params(data: TerminalShop::Models::TokenAPI).returns(T.attached_class) }
|
14
|
+
sig { params(data: T.any(TerminalShop::Models::TokenAPI, TerminalShop::Util::AnyHash)).returns(T.attached_class) }
|
15
15
|
def self.new(data:)
|
16
16
|
end
|
17
17
|
|
@@ -7,7 +7,7 @@ module TerminalShop
|
|
7
7
|
include TerminalShop::RequestParameters
|
8
8
|
|
9
9
|
sig do
|
10
|
-
params(request_options: T.any(TerminalShop::RequestOptions,
|
10
|
+
params(request_options: T.any(TerminalShop::RequestOptions, TerminalShop::Util::AnyHash))
|
11
11
|
.returns(T.attached_class)
|
12
12
|
end
|
13
13
|
def self.new(request_options: {})
|
@@ -3,15 +3,14 @@
|
|
3
3
|
module TerminalShop
|
4
4
|
module Models
|
5
5
|
class TokenListResponse < TerminalShop::BaseModel
|
6
|
+
# List of personal access tokens.
|
6
7
|
sig { returns(T::Array[TerminalShop::Models::TokenAPI]) }
|
7
|
-
|
8
|
-
end
|
8
|
+
attr_accessor :data
|
9
9
|
|
10
|
-
sig
|
11
|
-
|
10
|
+
sig do
|
11
|
+
params(data: T::Array[T.any(TerminalShop::Models::TokenAPI, TerminalShop::Util::AnyHash)])
|
12
|
+
.returns(T.attached_class)
|
12
13
|
end
|
13
|
-
|
14
|
-
sig { params(data: T::Array[TerminalShop::Models::TokenAPI]).returns(T.attached_class) }
|
15
14
|
def self.new(data:)
|
16
15
|
end
|
17
16
|
|
@@ -7,7 +7,7 @@ module TerminalShop
|
|
7
7
|
include TerminalShop::RequestParameters
|
8
8
|
|
9
9
|
sig do
|
10
|
-
params(request_options: T.any(TerminalShop::RequestOptions,
|
10
|
+
params(request_options: T.any(TerminalShop::RequestOptions, TerminalShop::Util::AnyHash))
|
11
11
|
.returns(T.attached_class)
|
12
12
|
end
|
13
13
|
def self.new(request_options: {})
|
@@ -3,18 +3,17 @@
|
|
3
3
|
module TerminalShop
|
4
4
|
module Models
|
5
5
|
class ViewInitResponse < TerminalShop::BaseModel
|
6
|
+
# Initial app data.
|
6
7
|
sig { returns(TerminalShop::Models::ViewInitResponse::Data) }
|
7
|
-
|
8
|
-
|
8
|
+
attr_reader :data
|
9
|
+
|
10
|
+
sig { params(data: T.any(TerminalShop::Models::ViewInitResponse::Data, TerminalShop::Util::AnyHash)).void }
|
11
|
+
attr_writer :data
|
9
12
|
|
10
13
|
sig do
|
11
|
-
params(
|
12
|
-
.returns(
|
13
|
-
end
|
14
|
-
def data=(_)
|
14
|
+
params(data: T.any(TerminalShop::Models::ViewInitResponse::Data, TerminalShop::Util::AnyHash))
|
15
|
+
.returns(T.attached_class)
|
15
16
|
end
|
16
|
-
|
17
|
-
sig { params(data: TerminalShop::Models::ViewInitResponse::Data).returns(T.attached_class) }
|
18
17
|
def self.new(data:)
|
19
18
|
end
|
20
19
|
|
@@ -24,100 +23,57 @@ module TerminalShop
|
|
24
23
|
|
25
24
|
class Data < TerminalShop::BaseModel
|
26
25
|
sig { returns(T::Array[TerminalShop::Models::AddressAPI]) }
|
27
|
-
|
28
|
-
end
|
29
|
-
|
30
|
-
sig { params(_: T::Array[TerminalShop::Models::AddressAPI]).returns(T::Array[TerminalShop::Models::AddressAPI]) }
|
31
|
-
def addresses=(_)
|
32
|
-
end
|
26
|
+
attr_accessor :addresses
|
33
27
|
|
34
28
|
sig { returns(T::Array[TerminalShop::Models::AppAPI]) }
|
35
|
-
|
36
|
-
end
|
37
|
-
|
38
|
-
sig { params(_: T::Array[TerminalShop::Models::AppAPI]).returns(T::Array[TerminalShop::Models::AppAPI]) }
|
39
|
-
def apps=(_)
|
40
|
-
end
|
29
|
+
attr_accessor :apps
|
41
30
|
|
42
31
|
sig { returns(T::Array[TerminalShop::Models::CardAPI]) }
|
43
|
-
|
44
|
-
end
|
45
|
-
|
46
|
-
sig { params(_: T::Array[TerminalShop::Models::CardAPI]).returns(T::Array[TerminalShop::Models::CardAPI]) }
|
47
|
-
def cards=(_)
|
48
|
-
end
|
32
|
+
attr_accessor :cards
|
49
33
|
|
34
|
+
# The current Terminal shop user's cart.
|
50
35
|
sig { returns(TerminalShop::Models::CartAPI) }
|
51
|
-
|
52
|
-
end
|
36
|
+
attr_reader :cart
|
53
37
|
|
54
|
-
sig { params(
|
55
|
-
|
56
|
-
end
|
38
|
+
sig { params(cart: T.any(TerminalShop::Models::CartAPI, TerminalShop::Util::AnyHash)).void }
|
39
|
+
attr_writer :cart
|
57
40
|
|
58
41
|
sig { returns(T::Array[TerminalShop::Models::OrderAPI]) }
|
59
|
-
|
60
|
-
end
|
61
|
-
|
62
|
-
sig { params(_: T::Array[TerminalShop::Models::OrderAPI]).returns(T::Array[TerminalShop::Models::OrderAPI]) }
|
63
|
-
def orders=(_)
|
64
|
-
end
|
42
|
+
attr_accessor :orders
|
65
43
|
|
66
44
|
sig { returns(T::Array[TerminalShop::Models::ProductAPI]) }
|
67
|
-
|
68
|
-
end
|
69
|
-
|
70
|
-
sig { params(_: T::Array[TerminalShop::Models::ProductAPI]).returns(T::Array[TerminalShop::Models::ProductAPI]) }
|
71
|
-
def products=(_)
|
72
|
-
end
|
45
|
+
attr_accessor :products
|
73
46
|
|
47
|
+
# A Terminal shop user's profile. (We have users, btw.)
|
74
48
|
sig { returns(TerminalShop::Models::ProfileAPI) }
|
75
|
-
|
76
|
-
end
|
49
|
+
attr_reader :profile
|
77
50
|
|
78
|
-
sig { params(
|
79
|
-
|
80
|
-
end
|
81
|
-
|
82
|
-
sig { returns(Symbol) }
|
83
|
-
def region
|
84
|
-
end
|
51
|
+
sig { params(profile: T.any(TerminalShop::Models::ProfileAPI, TerminalShop::Util::AnyHash)).void }
|
52
|
+
attr_writer :profile
|
85
53
|
|
86
|
-
|
87
|
-
|
88
|
-
|
54
|
+
# A Terminal shop user's region.
|
55
|
+
sig { returns(TerminalShop::Models::Region::TaggedSymbol) }
|
56
|
+
attr_accessor :region
|
89
57
|
|
90
58
|
sig { returns(T::Array[TerminalShop::Models::SubscriptionAPI]) }
|
91
|
-
|
92
|
-
end
|
93
|
-
|
94
|
-
sig do
|
95
|
-
params(_: T::Array[TerminalShop::Models::SubscriptionAPI])
|
96
|
-
.returns(T::Array[TerminalShop::Models::SubscriptionAPI])
|
97
|
-
end
|
98
|
-
def subscriptions=(_)
|
99
|
-
end
|
59
|
+
attr_accessor :subscriptions
|
100
60
|
|
101
61
|
sig { returns(T::Array[TerminalShop::Models::TokenAPI]) }
|
102
|
-
|
103
|
-
end
|
104
|
-
|
105
|
-
sig { params(_: T::Array[TerminalShop::Models::TokenAPI]).returns(T::Array[TerminalShop::Models::TokenAPI]) }
|
106
|
-
def tokens=(_)
|
107
|
-
end
|
62
|
+
attr_accessor :tokens
|
108
63
|
|
64
|
+
# Initial app data.
|
109
65
|
sig do
|
110
66
|
params(
|
111
|
-
addresses: T::Array[TerminalShop::Models::AddressAPI],
|
112
|
-
apps: T::Array[TerminalShop::Models::AppAPI],
|
113
|
-
cards: T::Array[TerminalShop::Models::CardAPI],
|
114
|
-
cart: TerminalShop::Models::CartAPI,
|
115
|
-
orders: T::Array[TerminalShop::Models::OrderAPI],
|
116
|
-
products: T::Array[TerminalShop::Models::ProductAPI],
|
117
|
-
profile: TerminalShop::Models::ProfileAPI,
|
118
|
-
region:
|
119
|
-
subscriptions: T::Array[TerminalShop::Models::SubscriptionAPI],
|
120
|
-
tokens: T::Array[TerminalShop::Models::TokenAPI]
|
67
|
+
addresses: T::Array[T.any(TerminalShop::Models::AddressAPI, TerminalShop::Util::AnyHash)],
|
68
|
+
apps: T::Array[T.any(TerminalShop::Models::AppAPI, TerminalShop::Util::AnyHash)],
|
69
|
+
cards: T::Array[T.any(TerminalShop::Models::CardAPI, TerminalShop::Util::AnyHash)],
|
70
|
+
cart: T.any(TerminalShop::Models::CartAPI, TerminalShop::Util::AnyHash),
|
71
|
+
orders: T::Array[T.any(TerminalShop::Models::OrderAPI, TerminalShop::Util::AnyHash)],
|
72
|
+
products: T::Array[T.any(TerminalShop::Models::ProductAPI, TerminalShop::Util::AnyHash)],
|
73
|
+
profile: T.any(TerminalShop::Models::ProfileAPI, TerminalShop::Util::AnyHash),
|
74
|
+
region: TerminalShop::Models::Region::OrSymbol,
|
75
|
+
subscriptions: T::Array[T.any(TerminalShop::Models::SubscriptionAPI, TerminalShop::Util::AnyHash)],
|
76
|
+
tokens: T::Array[T.any(TerminalShop::Models::TokenAPI, TerminalShop::Util::AnyHash)]
|
121
77
|
)
|
122
78
|
.returns(T.attached_class)
|
123
79
|
end
|
@@ -135,7 +91,7 @@ module TerminalShop
|
|
135
91
|
orders: T::Array[TerminalShop::Models::OrderAPI],
|
136
92
|
products: T::Array[TerminalShop::Models::ProductAPI],
|
137
93
|
profile: TerminalShop::Models::ProfileAPI,
|
138
|
-
region:
|
94
|
+
region: TerminalShop::Models::Region::TaggedSymbol,
|
139
95
|
subscriptions: T::Array[TerminalShop::Models::SubscriptionAPI],
|
140
96
|
tokens: T::Array[TerminalShop::Models::TokenAPI]
|
141
97
|
}
|
@@ -1,20 +1,35 @@
|
|
1
1
|
# typed: strong
|
2
2
|
|
3
3
|
module TerminalShop
|
4
|
+
# @api private
|
4
5
|
class PooledNetRequester
|
5
|
-
RequestShape =
|
6
|
-
|
7
|
-
|
6
|
+
RequestShape =
|
7
|
+
T.type_alias do
|
8
|
+
{
|
9
|
+
method: Symbol,
|
10
|
+
url: URI::Generic,
|
11
|
+
headers: T::Hash[String, String],
|
12
|
+
body: T.anything,
|
13
|
+
deadline: Float
|
14
|
+
}
|
15
|
+
end
|
16
|
+
|
17
|
+
# from the golang stdlib
|
18
|
+
# https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49
|
19
|
+
KEEP_ALIVE_TIMEOUT = 30
|
8
20
|
|
9
21
|
class << self
|
22
|
+
# @api private
|
10
23
|
sig { params(url: URI::Generic).returns(Net::HTTP) }
|
11
24
|
def connect(url)
|
12
25
|
end
|
13
26
|
|
27
|
+
# @api private
|
14
28
|
sig { params(conn: Net::HTTP, deadline: Float).void }
|
15
29
|
def calibrate_socket_timeout(conn, deadline)
|
16
30
|
end
|
17
31
|
|
32
|
+
# @api private
|
18
33
|
sig do
|
19
34
|
params(request: TerminalShop::PooledNetRequester::RequestShape, blk: T.proc.params(arg0: String).void)
|
20
35
|
.returns(Net::HTTPGenericRequest)
|
@@ -23,17 +38,20 @@ module TerminalShop
|
|
23
38
|
end
|
24
39
|
end
|
25
40
|
|
26
|
-
|
27
|
-
|
41
|
+
# @api private
|
42
|
+
sig { params(url: URI::Generic, deadline: Float, blk: T.proc.params(arg0: Net::HTTP).void).void }
|
43
|
+
private def with_pool(url, deadline:, &blk)
|
28
44
|
end
|
29
45
|
|
46
|
+
# @api private
|
30
47
|
sig do
|
31
48
|
params(request: TerminalShop::PooledNetRequester::RequestShape)
|
32
|
-
.returns([Net::HTTPResponse, T::Enumerable[String]])
|
49
|
+
.returns([Integer, Net::HTTPResponse, T::Enumerable[String]])
|
33
50
|
end
|
34
51
|
def execute(request)
|
35
52
|
end
|
36
53
|
|
54
|
+
# @api private
|
37
55
|
sig { params(size: Integer).returns(T.attached_class) }
|
38
56
|
def self.new(size: Etc.nprocessors)
|
39
57
|
end
|
@@ -1,87 +1,62 @@
|
|
1
1
|
# typed: strong
|
2
2
|
|
3
3
|
module TerminalShop
|
4
|
+
# @api private
|
4
5
|
module RequestParameters
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
def request_options
|
9
|
-
end
|
10
|
-
|
11
|
-
sig do
|
12
|
-
params(_: T.any(TerminalShop::RequestOptions, T::Hash[Symbol, T.anything]))
|
13
|
-
.returns(T.any(TerminalShop::RequestOptions, T::Hash[Symbol, T.anything]))
|
14
|
-
end
|
15
|
-
def request_options=(_)
|
16
|
-
end
|
6
|
+
# Options to specify HTTP behaviour for this request.
|
7
|
+
sig { returns(T.any(TerminalShop::RequestOptions, TerminalShop::Util::AnyHash)) }
|
8
|
+
attr_accessor :request_options
|
17
9
|
|
10
|
+
# @api private
|
18
11
|
module Converter
|
19
|
-
|
12
|
+
# @api private
|
13
|
+
sig { params(params: T.anything).returns([T.anything, TerminalShop::Util::AnyHash]) }
|
20
14
|
def dump_request(params)
|
21
15
|
end
|
22
16
|
end
|
23
17
|
end
|
24
18
|
|
19
|
+
# Specify HTTP behaviour to use for a specific request. These options supplement
|
20
|
+
# or override those provided at the client level.
|
21
|
+
#
|
22
|
+
# When making a request, you can pass an actual {RequestOptions} instance, or
|
23
|
+
# simply pass a Hash with symbol keys matching the attributes on this class.
|
25
24
|
class RequestOptions < TerminalShop::BaseModel
|
25
|
+
# @api private
|
26
26
|
sig { params(opts: T.any(T.self_type, T::Hash[Symbol, T.anything])).void }
|
27
27
|
def self.validate!(opts)
|
28
28
|
end
|
29
29
|
|
30
|
+
# Idempotency key to send with request and all associated retries. Will only be
|
31
|
+
# sent for write requests.
|
30
32
|
sig { returns(T.nilable(String)) }
|
31
|
-
|
32
|
-
end
|
33
|
-
|
34
|
-
sig { params(_: T.nilable(String)).returns(T.nilable(String)) }
|
35
|
-
def idempotency_key=(_)
|
36
|
-
end
|
33
|
+
attr_accessor :idempotency_key
|
37
34
|
|
35
|
+
# Extra query params to send with the request. These are `.merge`’d into any
|
36
|
+
# `query` given at the client level.
|
38
37
|
sig { returns(T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))])) }
|
39
|
-
|
40
|
-
end
|
41
|
-
|
42
|
-
sig do
|
43
|
-
params(_: T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))]))
|
44
|
-
.returns(T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))]))
|
45
|
-
end
|
46
|
-
def extra_query=(_)
|
47
|
-
end
|
38
|
+
attr_accessor :extra_query
|
48
39
|
|
40
|
+
# Extra headers to send with the request. These are `.merged`’d into any
|
41
|
+
# `extra_headers` given at the client level.
|
49
42
|
sig { returns(T.nilable(T::Hash[String, T.nilable(String)])) }
|
50
|
-
|
51
|
-
end
|
43
|
+
attr_accessor :extra_headers
|
52
44
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
def extra_headers=(_)
|
58
|
-
end
|
59
|
-
|
60
|
-
sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
61
|
-
def extra_body
|
62
|
-
end
|
63
|
-
|
64
|
-
sig { params(_: T.nilable(T::Hash[Symbol, T.anything])).returns(T.nilable(T::Hash[Symbol, T.anything])) }
|
65
|
-
def extra_body=(_)
|
66
|
-
end
|
45
|
+
# Extra data to send with the request. These are deep merged into any data
|
46
|
+
# generated as part of the normal request.
|
47
|
+
sig { returns(T.nilable(T.anything)) }
|
48
|
+
attr_accessor :extra_body
|
67
49
|
|
50
|
+
# Maximum number of retries to attempt after a failed initial request.
|
68
51
|
sig { returns(T.nilable(Integer)) }
|
69
|
-
|
70
|
-
end
|
71
|
-
|
72
|
-
sig { params(_: T.nilable(Integer)).returns(T.nilable(Integer)) }
|
73
|
-
def max_retries=(_)
|
74
|
-
end
|
52
|
+
attr_accessor :max_retries
|
75
53
|
|
54
|
+
# Request timeout in seconds.
|
76
55
|
sig { returns(T.nilable(Float)) }
|
77
|
-
|
78
|
-
end
|
79
|
-
|
80
|
-
sig { params(_: T.nilable(Float)).returns(T.nilable(Float)) }
|
81
|
-
def timeout=(_)
|
82
|
-
end
|
56
|
+
attr_accessor :timeout
|
83
57
|
|
84
|
-
|
58
|
+
# Returns a new instance of RequestOptions.
|
59
|
+
sig { params(values: TerminalShop::Util::AnyHash).returns(T.attached_class) }
|
85
60
|
def self.new(values = {})
|
86
61
|
end
|
87
62
|
end
|