terminal-shop 1.8.0 → 2.1.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 +16 -8
- data/lib/terminal-shop/client.rb +2 -1
- data/lib/terminal-shop/models/address_create_params.rb +1 -1
- data/lib/terminal-shop/models/address_delete_params.rb +1 -1
- data/lib/terminal-shop/models/address_get_params.rb +1 -1
- data/lib/terminal-shop/models/address_list_params.rb +1 -1
- data/lib/terminal-shop/models/app_create_params.rb +1 -1
- data/lib/terminal-shop/models/app_delete_params.rb +1 -1
- data/lib/terminal-shop/models/app_get_params.rb +1 -1
- data/lib/terminal-shop/models/app_list_params.rb +1 -1
- data/lib/terminal-shop/models/card_collect_params.rb +1 -1
- data/lib/terminal-shop/models/card_create_params.rb +1 -1
- data/lib/terminal-shop/models/card_delete_params.rb +1 -1
- data/lib/terminal-shop/models/card_get_params.rb +1 -1
- data/lib/terminal-shop/models/card_list_params.rb +1 -1
- data/lib/terminal-shop/models/cart_clear_params.rb +1 -1
- data/lib/terminal-shop/models/cart_convert_params.rb +1 -1
- data/lib/terminal-shop/models/cart_get_params.rb +1 -1
- data/lib/terminal-shop/models/cart_set_address_params.rb +1 -1
- data/lib/terminal-shop/models/cart_set_card_params.rb +1 -1
- data/lib/terminal-shop/models/cart_set_item_params.rb +1 -1
- data/lib/terminal-shop/models/email_create_params.rb +1 -1
- data/lib/terminal-shop/models/order_create_params.rb +1 -1
- data/lib/terminal-shop/models/order_get_params.rb +1 -1
- data/lib/terminal-shop/models/order_list_params.rb +1 -1
- data/lib/terminal-shop/models/product.rb +7 -3
- data/lib/terminal-shop/models/product_get_params.rb +1 -1
- data/lib/terminal-shop/models/product_list_params.rb +1 -1
- data/lib/terminal-shop/models/profile_me_params.rb +1 -1
- data/lib/terminal-shop/models/profile_update_params.rb +1 -1
- data/lib/terminal-shop/models/region.rb +7 -3
- data/lib/terminal-shop/models/subscription.rb +5 -7
- data/lib/terminal-shop/models/subscription_create_params.rb +1 -1
- data/lib/terminal-shop/models/subscription_delete_params.rb +1 -1
- data/lib/terminal-shop/models/subscription_get_params.rb +1 -1
- data/lib/terminal-shop/models/subscription_list_params.rb +1 -1
- data/lib/terminal-shop/models/token_create_params.rb +1 -1
- data/lib/terminal-shop/models/token_delete_params.rb +1 -1
- data/lib/terminal-shop/models/token_get_params.rb +1 -1
- data/lib/terminal-shop/models/token_list_params.rb +1 -1
- data/lib/terminal-shop/models/view_init_params.rb +1 -1
- data/lib/terminal-shop/request_options.rb +1 -34
- data/lib/terminal-shop/transport/base_client.rb +459 -0
- data/lib/terminal-shop/transport/pooled_net_requester.rb +182 -0
- data/lib/terminal-shop/type/array_of.rb +110 -0
- data/lib/terminal-shop/type/base_model.rb +362 -0
- data/lib/terminal-shop/type/base_page.rb +61 -0
- data/lib/terminal-shop/type/boolean_model.rb +52 -0
- data/lib/terminal-shop/type/converter.rb +217 -0
- data/lib/terminal-shop/type/enum.rb +101 -0
- data/lib/terminal-shop/type/hash_of.rb +136 -0
- data/lib/terminal-shop/type/request_parameters.rb +38 -0
- data/lib/terminal-shop/type/union.rb +183 -0
- data/lib/terminal-shop/type/unknown.rb +56 -0
- data/lib/terminal-shop/type.rb +23 -0
- data/lib/terminal-shop/util.rb +19 -12
- data/lib/terminal-shop/version.rb +1 -1
- data/lib/terminal-shop.rb +28 -5
- data/rbi/lib/terminal-shop/client.rbi +19 -31
- data/rbi/lib/terminal-shop/errors.rbi +7 -42
- data/rbi/lib/terminal-shop/models/address.rbi +15 -51
- data/rbi/lib/terminal-shop/models/address_create_params.rbi +27 -48
- data/rbi/lib/terminal-shop/models/address_create_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/address_delete_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/address_delete_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/address_get_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/address_get_response.rbi +7 -6
- data/rbi/lib/terminal-shop/models/address_list_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/address_list_response.rbi +4 -6
- data/rbi/lib/terminal-shop/models/app.rbi +4 -24
- data/rbi/lib/terminal-shop/models/app_create_params.rbi +4 -14
- data/rbi/lib/terminal-shop/models/app_create_response.rbi +8 -20
- data/rbi/lib/terminal-shop/models/app_delete_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/app_delete_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/app_get_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/app_get_response.rbi +4 -6
- data/rbi/lib/terminal-shop/models/app_list_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/app_list_response.rbi +4 -6
- data/rbi/lib/terminal-shop/models/card.rbi +14 -36
- data/rbi/lib/terminal-shop/models/card_collect_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/card_collect_response.rbi +7 -14
- data/rbi/lib/terminal-shop/models/card_create_params.rbi +3 -8
- data/rbi/lib/terminal-shop/models/card_create_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/card_delete_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/card_delete_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/card_get_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/card_get_response.rbi +4 -6
- data/rbi/lib/terminal-shop/models/card_list_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/card_list_response.rbi +4 -6
- data/rbi/lib/terminal-shop/models/cart.rbi +34 -88
- data/rbi/lib/terminal-shop/models/cart_clear_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/cart_clear_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/cart_convert_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/cart_convert_response.rbi +4 -6
- data/rbi/lib/terminal-shop/models/cart_get_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/cart_get_response.rbi +4 -6
- data/rbi/lib/terminal-shop/models/cart_set_address_params.rbi +3 -8
- 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 -8
- data/rbi/lib/terminal-shop/models/cart_set_card_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/cart_set_item_params.rbi +4 -14
- data/rbi/lib/terminal-shop/models/cart_set_item_response.rbi +4 -6
- data/rbi/lib/terminal-shop/models/email_create_params.rbi +3 -8
- data/rbi/lib/terminal-shop/models/email_create_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/order.rbi +52 -139
- data/rbi/lib/terminal-shop/models/order_create_params.rbi +5 -20
- data/rbi/lib/terminal-shop/models/order_create_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/order_get_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/order_get_response.rbi +4 -6
- data/rbi/lib/terminal-shop/models/order_list_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/order_list_response.rbi +4 -6
- data/rbi/lib/terminal-shop/models/product.rbi +43 -77
- data/rbi/lib/terminal-shop/models/product_get_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/product_get_response.rbi +7 -6
- data/rbi/lib/terminal-shop/models/product_list_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/product_list_response.rbi +4 -6
- data/rbi/lib/terminal-shop/models/product_variant.rbi +3 -18
- data/rbi/lib/terminal-shop/models/profile.rbi +12 -36
- data/rbi/lib/terminal-shop/models/profile_me_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/profile_me_response.rbi +7 -6
- data/rbi/lib/terminal-shop/models/profile_update_params.rbi +4 -14
- data/rbi/lib/terminal-shop/models/profile_update_response.rbi +7 -6
- data/rbi/lib/terminal-shop/models/region.rbi +10 -5
- data/rbi/lib/terminal-shop/models/subscription.rbi +28 -75
- data/rbi/lib/terminal-shop/models/subscription_create_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/subscription_create_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/subscription_delete_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/subscription_delete_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/subscription_get_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/subscription_get_response.rbi +7 -6
- data/rbi/lib/terminal-shop/models/subscription_list_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/subscription_list_response.rbi +3 -8
- data/rbi/lib/terminal-shop/models/token.rbi +3 -18
- data/rbi/lib/terminal-shop/models/token_create_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/token_create_response.rbi +8 -20
- data/rbi/lib/terminal-shop/models/token_delete_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/token_delete_response.rbi +1 -6
- data/rbi/lib/terminal-shop/models/token_get_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/token_get_response.rbi +4 -6
- data/rbi/lib/terminal-shop/models/token_list_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/token_list_response.rbi +4 -6
- data/rbi/lib/terminal-shop/models/view_init_params.rbi +2 -2
- data/rbi/lib/terminal-shop/models/view_init_response.rbi +44 -82
- data/rbi/lib/terminal-shop/request_options.rbi +8 -67
- data/rbi/lib/terminal-shop/resources/address.rbi +4 -4
- data/rbi/lib/terminal-shop/resources/app.rbi +4 -4
- data/rbi/lib/terminal-shop/resources/card.rbi +5 -5
- data/rbi/lib/terminal-shop/resources/cart.rbi +6 -6
- data/rbi/lib/terminal-shop/resources/email.rbi +1 -1
- data/rbi/lib/terminal-shop/resources/order.rbi +3 -3
- data/rbi/lib/terminal-shop/resources/product.rbi +2 -2
- data/rbi/lib/terminal-shop/resources/profile.rbi +2 -2
- data/rbi/lib/terminal-shop/resources/subscription.rbi +5 -4
- data/rbi/lib/terminal-shop/resources/token.rbi +4 -4
- data/rbi/lib/terminal-shop/resources/view.rbi +1 -1
- data/rbi/lib/terminal-shop/transport/base_client.rbi +208 -0
- data/rbi/lib/terminal-shop/transport/pooled_net_requester.rbi +64 -0
- data/rbi/lib/terminal-shop/type/array_of.rbi +82 -0
- data/rbi/lib/terminal-shop/type/base_model.rbi +194 -0
- data/rbi/lib/terminal-shop/type/base_page.rbi +38 -0
- data/rbi/lib/terminal-shop/type/boolean_model.rbi +41 -0
- data/rbi/lib/terminal-shop/type/converter.rbi +101 -0
- data/rbi/lib/terminal-shop/type/enum.rbi +58 -0
- data/rbi/lib/terminal-shop/type/hash_of.rbi +85 -0
- data/rbi/lib/terminal-shop/type/request_parameters.rbi +20 -0
- data/rbi/lib/terminal-shop/type/union.rbi +68 -0
- data/rbi/lib/terminal-shop/type/unknown.rbi +37 -0
- data/rbi/lib/terminal-shop/type.rbi +23 -0
- data/rbi/lib/terminal-shop/util.rbi +24 -13
- data/rbi/lib/terminal-shop/version.rbi +1 -1
- data/sig/terminal-shop/client.rbs +9 -9
- data/sig/terminal-shop/errors.rbs +17 -17
- data/sig/terminal-shop/models/address.rbs +11 -15
- data/sig/terminal-shop/models/address_create_params.rbs +12 -17
- data/sig/terminal-shop/models/address_create_response.rbs +1 -6
- data/sig/terminal-shop/models/address_delete_params.rbs +2 -7
- data/sig/terminal-shop/models/address_delete_response.rbs +1 -6
- data/sig/terminal-shop/models/address_get_params.rbs +2 -7
- data/sig/terminal-shop/models/address_get_response.rbs +1 -6
- data/sig/terminal-shop/models/address_list_params.rbs +2 -7
- 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 +6 -11
- data/sig/terminal-shop/models/app_create_response.rbs +4 -12
- data/sig/terminal-shop/models/app_delete_params.rbs +2 -7
- data/sig/terminal-shop/models/app_delete_response.rbs +1 -6
- data/sig/terminal-shop/models/app_get_params.rbs +2 -6
- data/sig/terminal-shop/models/app_get_response.rbs +1 -5
- data/sig/terminal-shop/models/app_list_params.rbs +2 -6
- 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 +2 -7
- data/sig/terminal-shop/models/card_collect_response.rbs +4 -12
- data/sig/terminal-shop/models/card_create_params.rbs +5 -7
- data/sig/terminal-shop/models/card_create_response.rbs +1 -6
- data/sig/terminal-shop/models/card_delete_params.rbs +2 -7
- data/sig/terminal-shop/models/card_delete_response.rbs +1 -6
- data/sig/terminal-shop/models/card_get_params.rbs +2 -6
- data/sig/terminal-shop/models/card_get_response.rbs +1 -6
- data/sig/terminal-shop/models/card_list_params.rbs +2 -6
- 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 +2 -7
- data/sig/terminal-shop/models/cart_clear_response.rbs +1 -6
- data/sig/terminal-shop/models/cart_convert_params.rbs +2 -7
- data/sig/terminal-shop/models/cart_convert_response.rbs +1 -6
- data/sig/terminal-shop/models/cart_get_params.rbs +2 -6
- data/sig/terminal-shop/models/cart_get_response.rbs +1 -6
- data/sig/terminal-shop/models/cart_set_address_params.rbs +5 -10
- data/sig/terminal-shop/models/cart_set_address_response.rbs +1 -6
- data/sig/terminal-shop/models/cart_set_card_params.rbs +5 -7
- data/sig/terminal-shop/models/cart_set_card_response.rbs +1 -6
- data/sig/terminal-shop/models/cart_set_item_params.rbs +6 -11
- data/sig/terminal-shop/models/cart_set_item_response.rbs +1 -6
- data/sig/terminal-shop/models/email_create_params.rbs +5 -7
- 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 +7 -12
- data/sig/terminal-shop/models/order_create_response.rbs +1 -6
- data/sig/terminal-shop/models/order_get_params.rbs +2 -6
- data/sig/terminal-shop/models/order_get_response.rbs +1 -6
- data/sig/terminal-shop/models/order_list_params.rbs +2 -7
- 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 +2 -7
- data/sig/terminal-shop/models/product_get_response.rbs +1 -6
- data/sig/terminal-shop/models/product_list_params.rbs +2 -7
- 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 +2 -7
- data/sig/terminal-shop/models/profile_me_response.rbs +1 -6
- data/sig/terminal-shop/models/profile_update_params.rbs +6 -11
- 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 +2 -7
- data/sig/terminal-shop/models/subscription_create_response.rbs +1 -6
- data/sig/terminal-shop/models/subscription_delete_params.rbs +2 -7
- data/sig/terminal-shop/models/subscription_delete_response.rbs +1 -6
- data/sig/terminal-shop/models/subscription_get_params.rbs +2 -7
- data/sig/terminal-shop/models/subscription_get_response.rbs +1 -6
- data/sig/terminal-shop/models/subscription_list_params.rbs +2 -7
- 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 +2 -7
- data/sig/terminal-shop/models/token_create_response.rbs +4 -12
- data/sig/terminal-shop/models/token_delete_params.rbs +2 -7
- data/sig/terminal-shop/models/token_delete_response.rbs +1 -6
- data/sig/terminal-shop/models/token_get_params.rbs +2 -6
- data/sig/terminal-shop/models/token_get_response.rbs +1 -6
- data/sig/terminal-shop/models/token_list_params.rbs +2 -7
- data/sig/terminal-shop/models/token_list_response.rbs +1 -6
- data/sig/terminal-shop/models/view_init_params.rbs +2 -6
- data/sig/terminal-shop/models/view_init_response.rbs +15 -23
- data/sig/terminal-shop/request_options.rbs +2 -12
- 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/transport/base_client.rbs +110 -0
- data/sig/terminal-shop/transport/pooled_net_requester.rbs +39 -0
- data/sig/terminal-shop/type/array_of.rbs +36 -0
- data/sig/terminal-shop/type/base_model.rbs +73 -0
- data/sig/terminal-shop/type/base_page.rbs +22 -0
- data/sig/terminal-shop/type/boolean_model.rbs +18 -0
- data/sig/terminal-shop/type/converter.rbs +42 -0
- data/sig/terminal-shop/type/enum.rbs +22 -0
- data/sig/terminal-shop/type/hash_of.rbs +36 -0
- data/sig/terminal-shop/type/request_parameters.rbs +13 -0
- data/sig/terminal-shop/type/union.rbs +40 -0
- data/sig/terminal-shop/type/unknown.rbs +18 -0
- data/sig/terminal-shop/type.rbs +22 -0
- data/sig/terminal-shop/util.rbs +5 -5
- data/sig/terminal-shop/version.rbs +1 -1
- metadata +41 -17
- data/lib/terminal-shop/base_client.rb +0 -456
- data/lib/terminal-shop/base_model.rb +0 -1188
- data/lib/terminal-shop/base_page.rb +0 -60
- data/lib/terminal-shop/extern.rb +0 -7
- data/lib/terminal-shop/pooled_net_requester.rb +0 -169
- data/rbi/lib/terminal-shop/base_client.rbi +0 -198
- data/rbi/lib/terminal-shop/base_model.rbi +0 -622
- data/rbi/lib/terminal-shop/base_page.rbi +0 -38
- data/rbi/lib/terminal-shop/extern.rbi +0 -7
- data/rbi/lib/terminal-shop/pooled_net_requester.rbi +0 -48
- data/sig/terminal-shop/base_client.rbs +0 -108
- data/sig/terminal-shop/base_model.rbs +0 -246
- data/sig/terminal-shop/base_page.rbs +0 -20
- data/sig/terminal-shop/extern.rbs +0 -4
- data/sig/terminal-shop/pooled_net_requester.rbs +0 -35
@@ -0,0 +1,56 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module TerminalShop
|
4
|
+
module Type
|
5
|
+
# @api private
|
6
|
+
#
|
7
|
+
# @abstract
|
8
|
+
#
|
9
|
+
# When we don't know what to expect for the value.
|
10
|
+
class Unknown
|
11
|
+
extend TerminalShop::Type::Converter
|
12
|
+
|
13
|
+
# rubocop:disable Lint/UnusedMethodArgument
|
14
|
+
|
15
|
+
# @param other [Object]
|
16
|
+
#
|
17
|
+
# @return [Boolean]
|
18
|
+
def self.===(other) = true
|
19
|
+
|
20
|
+
# @param other [Object]
|
21
|
+
#
|
22
|
+
# @return [Boolean]
|
23
|
+
def self.==(other) = other.is_a?(Class) && other <= TerminalShop::Unknown
|
24
|
+
|
25
|
+
class << self
|
26
|
+
# @api private
|
27
|
+
#
|
28
|
+
# @param value [Object]
|
29
|
+
#
|
30
|
+
# @param state [Hash{Symbol=>Object}] .
|
31
|
+
#
|
32
|
+
# @option state [Boolean, :strong] :strictness
|
33
|
+
#
|
34
|
+
# @option state [Hash{Symbol=>Object}] :exactness
|
35
|
+
#
|
36
|
+
# @option state [Integer] :branched
|
37
|
+
#
|
38
|
+
# @return [Object]
|
39
|
+
def coerce(value, state:)
|
40
|
+
state.fetch(:exactness)[:yes] += 1
|
41
|
+
value
|
42
|
+
end
|
43
|
+
|
44
|
+
# @!parse
|
45
|
+
# # @api private
|
46
|
+
# #
|
47
|
+
# # @param value [Object]
|
48
|
+
# #
|
49
|
+
# # @return [Object]
|
50
|
+
# def dump(value) = super
|
51
|
+
end
|
52
|
+
|
53
|
+
# rubocop:enable Lint/UnusedMethodArgument
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module TerminalShop
|
4
|
+
Unknown = TerminalShop::Type::Unknown
|
5
|
+
|
6
|
+
BooleanModel = TerminalShop::Type::BooleanModel
|
7
|
+
|
8
|
+
Enum = TerminalShop::Type::Enum
|
9
|
+
|
10
|
+
Union = TerminalShop::Type::Union
|
11
|
+
|
12
|
+
ArrayOf = TerminalShop::Type::ArrayOf
|
13
|
+
|
14
|
+
HashOf = TerminalShop::Type::HashOf
|
15
|
+
|
16
|
+
BaseModel = TerminalShop::Type::BaseModel
|
17
|
+
|
18
|
+
RequestParameters = TerminalShop::Type::RequestParameters
|
19
|
+
|
20
|
+
# This module contains various type declarations.
|
21
|
+
module Type
|
22
|
+
end
|
23
|
+
end
|
data/lib/terminal-shop/util.rb
CHANGED
@@ -75,7 +75,7 @@ module TerminalShop
|
|
75
75
|
def coerce_boolean(input)
|
76
76
|
case input.is_a?(String) ? input.downcase : input
|
77
77
|
in Numeric
|
78
|
-
|
78
|
+
input.nonzero?
|
79
79
|
in "true"
|
80
80
|
true
|
81
81
|
in "false"
|
@@ -165,14 +165,12 @@ module TerminalShop
|
|
165
165
|
private def deep_merge_lr(lhs, rhs, concat: false)
|
166
166
|
case [lhs, rhs, concat]
|
167
167
|
in [Hash, Hash, _]
|
168
|
-
|
169
|
-
rhs_cleaned = rhs.reject { |_, val| OMIT == val }
|
168
|
+
rhs_cleaned = rhs.reject { _2 == TerminalShop::Util::OMIT }
|
170
169
|
lhs
|
171
|
-
.reject { |key, _|
|
170
|
+
.reject { |key, _| rhs[key] == TerminalShop::Util::OMIT }
|
172
171
|
.merge(rhs_cleaned) do |_, old_val, new_val|
|
173
172
|
deep_merge_lr(old_val, new_val, concat: concat)
|
174
173
|
end
|
175
|
-
# rubocop:enable Style/YodaCondition
|
176
174
|
in [Array, Array, true]
|
177
175
|
lhs.concat(rhs)
|
178
176
|
else
|
@@ -367,13 +365,14 @@ module TerminalShop
|
|
367
365
|
# @return [Hash{String=>String}]
|
368
366
|
def normalized_headers(*headers)
|
369
367
|
{}.merge(*headers.compact).to_h do |key, val|
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
368
|
+
value =
|
369
|
+
case val
|
370
|
+
in Array
|
371
|
+
val.map { _1.to_s.strip }.join(", ")
|
372
|
+
else
|
373
|
+
val&.to_s&.strip
|
374
|
+
end
|
375
|
+
[key.downcase, value]
|
377
376
|
end
|
378
377
|
end
|
379
378
|
end
|
@@ -428,6 +427,8 @@ module TerminalShop
|
|
428
427
|
#
|
429
428
|
# @param stream [String, IO, StringIO, Enumerable]
|
430
429
|
# @param blk [Proc]
|
430
|
+
#
|
431
|
+
# @yieldparam [String]
|
431
432
|
def initialize(stream, &blk)
|
432
433
|
@stream = stream.is_a?(String) ? StringIO.new(stream) : stream
|
433
434
|
@buf = String.new.b
|
@@ -438,6 +439,7 @@ module TerminalShop
|
|
438
439
|
class << self
|
439
440
|
# @param blk [Proc]
|
440
441
|
#
|
442
|
+
# @yieldparam [Enumerator::Yielder]
|
441
443
|
# @return [Enumerable]
|
442
444
|
def string_io(&blk)
|
443
445
|
Enumerator.new do |y|
|
@@ -452,6 +454,8 @@ module TerminalShop
|
|
452
454
|
end
|
453
455
|
|
454
456
|
class << self
|
457
|
+
# rubocop:disable Naming/MethodParameterName
|
458
|
+
|
455
459
|
# @api private
|
456
460
|
#
|
457
461
|
# @param y [Enumerator::Yielder]
|
@@ -490,6 +494,8 @@ module TerminalShop
|
|
490
494
|
y << "\r\n"
|
491
495
|
end
|
492
496
|
|
497
|
+
# rubocop:enable Naming/MethodParameterName
|
498
|
+
|
493
499
|
# @api private
|
494
500
|
#
|
495
501
|
# @param body [Object]
|
@@ -628,6 +634,7 @@ module TerminalShop
|
|
628
634
|
# @param enum [Enumerable, nil]
|
629
635
|
# @param blk [Proc]
|
630
636
|
#
|
637
|
+
# @yieldparam [Enumerator::Yielder]
|
631
638
|
# @return [Enumerable]
|
632
639
|
def chain_fused(enum, &blk)
|
633
640
|
iter = Enumerator.new { blk.call(_1) }
|
data/lib/terminal-shop.rb
CHANGED
@@ -1,5 +1,20 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
# We already ship the preferred sorbet manifests in the package itself.
|
4
|
+
# `tapioca` currently does not offer us a way to opt out of unnecessary compilation.
|
5
|
+
if Object.const_defined?(:Tapioca) && caller.chain([$0]).chain(ARGV).grep(/tapioca/)
|
6
|
+
Warning.warn(
|
7
|
+
<<~WARN
|
8
|
+
\n
|
9
|
+
⚠️ skipped loading of "terminal-shop" gem under `tapioca`.
|
10
|
+
|
11
|
+
This message is normal and expected if you are running a `tapioca` command, and does not impact `.rbi` generation.
|
12
|
+
\n
|
13
|
+
WARN
|
14
|
+
)
|
15
|
+
return
|
16
|
+
end
|
17
|
+
|
3
18
|
# Standard libraries.
|
4
19
|
require "cgi"
|
5
20
|
require "date"
|
@@ -21,13 +36,21 @@ require "connection_pool"
|
|
21
36
|
# Package files.
|
22
37
|
require_relative "terminal-shop/version"
|
23
38
|
require_relative "terminal-shop/util"
|
24
|
-
require_relative "terminal-shop/
|
25
|
-
require_relative "terminal-shop/
|
26
|
-
require_relative "terminal-shop/
|
39
|
+
require_relative "terminal-shop/type/converter"
|
40
|
+
require_relative "terminal-shop/type/unknown"
|
41
|
+
require_relative "terminal-shop/type/boolean_model"
|
42
|
+
require_relative "terminal-shop/type/enum"
|
43
|
+
require_relative "terminal-shop/type/union"
|
44
|
+
require_relative "terminal-shop/type/array_of"
|
45
|
+
require_relative "terminal-shop/type/hash_of"
|
46
|
+
require_relative "terminal-shop/type/base_model"
|
47
|
+
require_relative "terminal-shop/type/base_page"
|
48
|
+
require_relative "terminal-shop/type/request_parameters"
|
49
|
+
require_relative "terminal-shop/type"
|
27
50
|
require_relative "terminal-shop/request_options"
|
28
51
|
require_relative "terminal-shop/errors"
|
29
|
-
require_relative "terminal-shop/base_client"
|
30
|
-
require_relative "terminal-shop/pooled_net_requester"
|
52
|
+
require_relative "terminal-shop/transport/base_client"
|
53
|
+
require_relative "terminal-shop/transport/pooled_net_requester"
|
31
54
|
require_relative "terminal-shop/client"
|
32
55
|
require_relative "terminal-shop/models/subscription"
|
33
56
|
require_relative "terminal-shop/models/address"
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# typed: strong
|
2
2
|
|
3
3
|
module TerminalShop
|
4
|
-
class Client < TerminalShop::BaseClient
|
4
|
+
class Client < TerminalShop::Transport::BaseClient
|
5
5
|
DEFAULT_MAX_RETRIES = 2
|
6
6
|
|
7
7
|
DEFAULT_TIMEOUT_IN_SECONDS = T.let(60.0, Float)
|
@@ -10,62 +10,50 @@ module TerminalShop
|
|
10
10
|
|
11
11
|
DEFAULT_MAX_RETRY_DELAY = T.let(8.0, Float)
|
12
12
|
|
13
|
-
ENVIRONMENTS =
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
ENVIRONMENTS =
|
14
|
+
T.let(
|
15
|
+
{production: "https://api.terminal.shop/", dev: "https://api.dev.terminal.shop/"},
|
16
|
+
T::Hash[Symbol, String]
|
17
|
+
)
|
17
18
|
|
18
19
|
sig { returns(String) }
|
19
|
-
|
20
|
-
end
|
20
|
+
attr_reader :bearer_token
|
21
21
|
|
22
22
|
sig { returns(T.nilable(String)) }
|
23
|
-
|
24
|
-
end
|
23
|
+
attr_reader :app_id
|
25
24
|
|
26
25
|
sig { returns(TerminalShop::Resources::Product) }
|
27
|
-
|
28
|
-
end
|
26
|
+
attr_reader :product
|
29
27
|
|
30
28
|
sig { returns(TerminalShop::Resources::Profile) }
|
31
|
-
|
32
|
-
end
|
29
|
+
attr_reader :profile
|
33
30
|
|
34
31
|
sig { returns(TerminalShop::Resources::Address) }
|
35
|
-
|
36
|
-
end
|
32
|
+
attr_reader :address
|
37
33
|
|
38
34
|
sig { returns(TerminalShop::Resources::Card) }
|
39
|
-
|
40
|
-
end
|
35
|
+
attr_reader :card
|
41
36
|
|
42
37
|
sig { returns(TerminalShop::Resources::Cart) }
|
43
|
-
|
44
|
-
end
|
38
|
+
attr_reader :cart
|
45
39
|
|
46
40
|
sig { returns(TerminalShop::Resources::Order) }
|
47
|
-
|
48
|
-
end
|
41
|
+
attr_reader :order
|
49
42
|
|
50
43
|
sig { returns(TerminalShop::Resources::Subscription) }
|
51
|
-
|
52
|
-
end
|
44
|
+
attr_reader :subscription
|
53
45
|
|
54
46
|
sig { returns(TerminalShop::Resources::Token) }
|
55
|
-
|
56
|
-
end
|
47
|
+
attr_reader :token
|
57
48
|
|
58
49
|
sig { returns(TerminalShop::Resources::App) }
|
59
|
-
|
60
|
-
end
|
50
|
+
attr_reader :app
|
61
51
|
|
62
52
|
sig { returns(TerminalShop::Resources::Email) }
|
63
|
-
|
64
|
-
end
|
53
|
+
attr_reader :email
|
65
54
|
|
66
55
|
sig { returns(TerminalShop::Resources::View) }
|
67
|
-
|
68
|
-
end
|
56
|
+
attr_reader :view
|
69
57
|
|
70
58
|
# @api private
|
71
59
|
sig { override.returns(T::Hash[String, String]) }
|
@@ -3,12 +3,7 @@
|
|
3
3
|
module TerminalShop
|
4
4
|
class Error < StandardError
|
5
5
|
sig { returns(T.nilable(StandardError)) }
|
6
|
-
|
7
|
-
end
|
8
|
-
|
9
|
-
sig { params(_: T.nilable(StandardError)).returns(T.nilable(StandardError)) }
|
10
|
-
def cause=(_)
|
11
|
-
end
|
6
|
+
attr_accessor :cause
|
12
7
|
end
|
13
8
|
|
14
9
|
class ConversionError < TerminalShop::Error
|
@@ -16,28 +11,13 @@ module TerminalShop
|
|
16
11
|
|
17
12
|
class APIError < TerminalShop::Error
|
18
13
|
sig { returns(URI::Generic) }
|
19
|
-
|
20
|
-
end
|
21
|
-
|
22
|
-
sig { params(_: URI::Generic).returns(URI::Generic) }
|
23
|
-
def url=(_)
|
24
|
-
end
|
14
|
+
attr_accessor :url
|
25
15
|
|
26
16
|
sig { returns(T.nilable(Integer)) }
|
27
|
-
|
28
|
-
end
|
29
|
-
|
30
|
-
sig { params(_: T.nilable(Integer)).returns(T.nilable(Integer)) }
|
31
|
-
def status=(_)
|
32
|
-
end
|
17
|
+
attr_accessor :status
|
33
18
|
|
34
19
|
sig { returns(T.nilable(T.anything)) }
|
35
|
-
|
36
|
-
end
|
37
|
-
|
38
|
-
sig { params(_: T.nilable(T.anything)).returns(T.nilable(T.anything)) }
|
39
|
-
def body=(_)
|
40
|
-
end
|
20
|
+
attr_accessor :body
|
41
21
|
|
42
22
|
# @api private
|
43
23
|
sig do
|
@@ -57,20 +37,10 @@ module TerminalShop
|
|
57
37
|
|
58
38
|
class APIConnectionError < TerminalShop::APIError
|
59
39
|
sig { void }
|
60
|
-
|
61
|
-
end
|
62
|
-
|
63
|
-
sig { params(_: NilClass).void }
|
64
|
-
def status=(_)
|
65
|
-
end
|
40
|
+
attr_accessor :status
|
66
41
|
|
67
42
|
sig { void }
|
68
|
-
|
69
|
-
end
|
70
|
-
|
71
|
-
sig { params(_: NilClass).void }
|
72
|
-
def body=(_)
|
73
|
-
end
|
43
|
+
attr_accessor :body
|
74
44
|
|
75
45
|
# @api private
|
76
46
|
sig do
|
@@ -122,12 +92,7 @@ module TerminalShop
|
|
122
92
|
end
|
123
93
|
|
124
94
|
sig { returns(Integer) }
|
125
|
-
|
126
|
-
end
|
127
|
-
|
128
|
-
sig { params(_: Integer).returns(Integer) }
|
129
|
-
def status=(_)
|
130
|
-
end
|
95
|
+
attr_accessor :status
|
131
96
|
|
132
97
|
# @api private
|
133
98
|
sig do
|
@@ -5,84 +5,48 @@ module TerminalShop
|
|
5
5
|
class AddressAPI < TerminalShop::BaseModel
|
6
6
|
# Unique object identifier. The format and length of IDs may change over time.
|
7
7
|
sig { returns(String) }
|
8
|
-
|
9
|
-
end
|
10
|
-
|
11
|
-
sig { params(_: String).returns(String) }
|
12
|
-
def id=(_)
|
13
|
-
end
|
8
|
+
attr_accessor :id
|
14
9
|
|
15
10
|
# City of the address.
|
16
11
|
sig { returns(String) }
|
17
|
-
|
18
|
-
end
|
19
|
-
|
20
|
-
sig { params(_: String).returns(String) }
|
21
|
-
def city=(_)
|
22
|
-
end
|
12
|
+
attr_accessor :city
|
23
13
|
|
24
14
|
# ISO 3166-1 alpha-2 country code of the address.
|
25
15
|
sig { returns(String) }
|
26
|
-
|
27
|
-
end
|
28
|
-
|
29
|
-
sig { params(_: String).returns(String) }
|
30
|
-
def country=(_)
|
31
|
-
end
|
16
|
+
attr_accessor :country
|
32
17
|
|
33
18
|
# The recipient's name.
|
34
19
|
sig { returns(String) }
|
35
|
-
|
36
|
-
end
|
37
|
-
|
38
|
-
sig { params(_: String).returns(String) }
|
39
|
-
def name=(_)
|
40
|
-
end
|
20
|
+
attr_accessor :name
|
41
21
|
|
42
22
|
# Street of the address.
|
43
23
|
sig { returns(String) }
|
44
|
-
|
45
|
-
end
|
46
|
-
|
47
|
-
sig { params(_: String).returns(String) }
|
48
|
-
def street1=(_)
|
49
|
-
end
|
24
|
+
attr_accessor :street1
|
50
25
|
|
51
26
|
# Zip code of the address.
|
52
27
|
sig { returns(String) }
|
53
|
-
|
54
|
-
end
|
55
|
-
|
56
|
-
sig { params(_: String).returns(String) }
|
57
|
-
def zip=(_)
|
58
|
-
end
|
28
|
+
attr_accessor :zip
|
59
29
|
|
60
30
|
# Phone number of the recipient.
|
61
31
|
sig { returns(T.nilable(String)) }
|
62
|
-
|
63
|
-
end
|
32
|
+
attr_reader :phone
|
64
33
|
|
65
|
-
sig { params(
|
66
|
-
|
67
|
-
end
|
34
|
+
sig { params(phone: String).void }
|
35
|
+
attr_writer :phone
|
68
36
|
|
69
37
|
# Province or state of the address.
|
70
38
|
sig { returns(T.nilable(String)) }
|
71
|
-
|
72
|
-
end
|
39
|
+
attr_reader :province
|
73
40
|
|
74
|
-
sig { params(
|
75
|
-
|
76
|
-
end
|
41
|
+
sig { params(province: String).void }
|
42
|
+
attr_writer :province
|
77
43
|
|
78
44
|
# Apartment, suite, etc. of the address.
|
79
45
|
sig { returns(T.nilable(String)) }
|
80
|
-
|
81
|
-
end
|
46
|
+
attr_reader :street2
|
82
47
|
|
83
|
-
sig { params(
|
84
|
-
|
85
|
-
end
|
48
|
+
sig { params(street2: String).void }
|
49
|
+
attr_writer :street2
|
86
50
|
|
87
51
|
# Physical address associated with a Terminal shop user.
|
88
52
|
sig do
|
@@ -3,80 +3,49 @@
|
|
3
3
|
module TerminalShop
|
4
4
|
module Models
|
5
5
|
class AddressCreateParams < TerminalShop::BaseModel
|
6
|
-
extend TerminalShop::RequestParameters::Converter
|
6
|
+
extend TerminalShop::Type::RequestParameters::Converter
|
7
7
|
include TerminalShop::RequestParameters
|
8
8
|
|
9
9
|
# City of the address.
|
10
10
|
sig { returns(String) }
|
11
|
-
|
12
|
-
end
|
13
|
-
|
14
|
-
sig { params(_: String).returns(String) }
|
15
|
-
def city=(_)
|
16
|
-
end
|
11
|
+
attr_accessor :city
|
17
12
|
|
18
13
|
# ISO 3166-1 alpha-2 country code of the address.
|
19
14
|
sig { returns(String) }
|
20
|
-
|
21
|
-
end
|
22
|
-
|
23
|
-
sig { params(_: String).returns(String) }
|
24
|
-
def country=(_)
|
25
|
-
end
|
15
|
+
attr_accessor :country
|
26
16
|
|
27
17
|
# The recipient's name.
|
28
18
|
sig { returns(String) }
|
29
|
-
|
30
|
-
end
|
31
|
-
|
32
|
-
sig { params(_: String).returns(String) }
|
33
|
-
def name=(_)
|
34
|
-
end
|
19
|
+
attr_accessor :name
|
35
20
|
|
36
21
|
# Street of the address.
|
37
22
|
sig { returns(String) }
|
38
|
-
|
39
|
-
end
|
40
|
-
|
41
|
-
sig { params(_: String).returns(String) }
|
42
|
-
def street1=(_)
|
43
|
-
end
|
23
|
+
attr_accessor :street1
|
44
24
|
|
45
25
|
# Zip code of the address.
|
46
26
|
sig { returns(String) }
|
47
|
-
|
48
|
-
end
|
49
|
-
|
50
|
-
sig { params(_: String).returns(String) }
|
51
|
-
def zip=(_)
|
52
|
-
end
|
27
|
+
attr_accessor :zip
|
53
28
|
|
54
29
|
# Phone number of the recipient.
|
55
30
|
sig { returns(T.nilable(String)) }
|
56
|
-
|
57
|
-
end
|
31
|
+
attr_reader :phone
|
58
32
|
|
59
|
-
sig { params(
|
60
|
-
|
61
|
-
end
|
33
|
+
sig { params(phone: String).void }
|
34
|
+
attr_writer :phone
|
62
35
|
|
63
36
|
# Province or state of the address.
|
64
37
|
sig { returns(T.nilable(String)) }
|
65
|
-
|
66
|
-
end
|
38
|
+
attr_reader :province
|
67
39
|
|
68
|
-
sig { params(
|
69
|
-
|
70
|
-
end
|
40
|
+
sig { params(province: String).void }
|
41
|
+
attr_writer :province
|
71
42
|
|
72
43
|
# Apartment, suite, etc. of the address.
|
73
44
|
sig { returns(T.nilable(String)) }
|
74
|
-
|
75
|
-
end
|
45
|
+
attr_reader :street2
|
76
46
|
|
77
|
-
sig { params(
|
78
|
-
|
79
|
-
end
|
47
|
+
sig { params(street2: String).void }
|
48
|
+
attr_writer :street2
|
80
49
|
|
81
50
|
sig do
|
82
51
|
params(
|
@@ -88,11 +57,21 @@ module TerminalShop
|
|
88
57
|
phone: String,
|
89
58
|
province: String,
|
90
59
|
street2: String,
|
91
|
-
request_options: T.any(TerminalShop::RequestOptions,
|
60
|
+
request_options: T.any(TerminalShop::RequestOptions, TerminalShop::Util::AnyHash)
|
92
61
|
)
|
93
62
|
.returns(T.attached_class)
|
94
63
|
end
|
95
|
-
def self.new(
|
64
|
+
def self.new(
|
65
|
+
city:,
|
66
|
+
country:,
|
67
|
+
name:,
|
68
|
+
street1:,
|
69
|
+
zip:,
|
70
|
+
phone: nil,
|
71
|
+
province: nil,
|
72
|
+
street2: nil,
|
73
|
+
request_options: {}
|
74
|
+
)
|
96
75
|
end
|
97
76
|
|
98
77
|
sig do
|
@@ -5,12 +5,7 @@ module TerminalShop
|
|
5
5
|
class AddressCreateResponse < TerminalShop::BaseModel
|
6
6
|
# Shipping address ID.
|
7
7
|
sig { returns(String) }
|
8
|
-
|
9
|
-
end
|
10
|
-
|
11
|
-
sig { params(_: String).returns(String) }
|
12
|
-
def data=(_)
|
13
|
-
end
|
8
|
+
attr_accessor :data
|
14
9
|
|
15
10
|
sig { params(data: String).returns(T.attached_class) }
|
16
11
|
def self.new(data:)
|
@@ -3,11 +3,11 @@
|
|
3
3
|
module TerminalShop
|
4
4
|
module Models
|
5
5
|
class AddressDeleteParams < TerminalShop::BaseModel
|
6
|
-
extend TerminalShop::RequestParameters::Converter
|
6
|
+
extend TerminalShop::Type::RequestParameters::Converter
|
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 AddressDeleteResponse < 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)
|
@@ -3,11 +3,11 @@
|
|
3
3
|
module TerminalShop
|
4
4
|
module Models
|
5
5
|
class AddressGetParams < TerminalShop::BaseModel
|
6
|
-
extend TerminalShop::RequestParameters::Converter
|
6
|
+
extend TerminalShop::Type::RequestParameters::Converter
|
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: {})
|