terminal-shop 0.1.0.pre.alpha.5
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 +7 -0
- data/README.md +127 -0
- data/lib/terminal-shop/base_client.rb +452 -0
- data/lib/terminal-shop/base_model.rb +1189 -0
- data/lib/terminal-shop/base_page.rb +44 -0
- data/lib/terminal-shop/client.rb +135 -0
- data/lib/terminal-shop/errors.rb +187 -0
- data/lib/terminal-shop/extern.rb +10 -0
- data/lib/terminal-shop/models/address.rb +101 -0
- data/lib/terminal-shop/models/address_create_params.rb +86 -0
- data/lib/terminal-shop/models/address_create_response.rb +26 -0
- data/lib/terminal-shop/models/address_delete_params.rb +18 -0
- data/lib/terminal-shop/models/address_delete_response.rb +25 -0
- data/lib/terminal-shop/models/address_list_params.rb +18 -0
- data/lib/terminal-shop/models/address_list_response.rb +26 -0
- data/lib/terminal-shop/models/app.rb +44 -0
- data/lib/terminal-shop/models/app_create_params.rb +18 -0
- data/lib/terminal-shop/models/app_create_response.rb +54 -0
- data/lib/terminal-shop/models/app_delete_params.rb +18 -0
- data/lib/terminal-shop/models/app_delete_response.rb +25 -0
- data/lib/terminal-shop/models/app_get_params.rb +18 -0
- data/lib/terminal-shop/models/app_get_response.rb +26 -0
- data/lib/terminal-shop/models/app_list_params.rb +18 -0
- data/lib/terminal-shop/models/app_list_response.rb +26 -0
- data/lib/terminal-shop/models/card.rb +83 -0
- data/lib/terminal-shop/models/card_collect_params.rb +18 -0
- data/lib/terminal-shop/models/card_collect_response.rb +50 -0
- data/lib/terminal-shop/models/card_create_params.rb +26 -0
- data/lib/terminal-shop/models/card_create_response.rb +26 -0
- data/lib/terminal-shop/models/card_delete_params.rb +18 -0
- data/lib/terminal-shop/models/card_delete_response.rb +25 -0
- data/lib/terminal-shop/models/card_list_params.rb +18 -0
- data/lib/terminal-shop/models/card_list_response.rb +26 -0
- data/lib/terminal-shop/models/cart.rb +200 -0
- data/lib/terminal-shop/models/cart_convert_params.rb +18 -0
- data/lib/terminal-shop/models/cart_convert_response.rb +26 -0
- data/lib/terminal-shop/models/cart_get_params.rb +18 -0
- data/lib/terminal-shop/models/cart_get_response.rb +26 -0
- data/lib/terminal-shop/models/cart_set_address_params.rb +25 -0
- data/lib/terminal-shop/models/cart_set_address_response.rb +25 -0
- data/lib/terminal-shop/models/cart_set_card_params.rb +25 -0
- data/lib/terminal-shop/models/cart_set_card_response.rb +25 -0
- data/lib/terminal-shop/models/cart_set_item_params.rb +32 -0
- data/lib/terminal-shop/models/cart_set_item_response.rb +26 -0
- data/lib/terminal-shop/models/email_create_params.rb +25 -0
- data/lib/terminal-shop/models/email_create_response.rb +25 -0
- data/lib/terminal-shop/models/order.rb +303 -0
- data/lib/terminal-shop/models/order_get_params.rb +18 -0
- data/lib/terminal-shop/models/order_get_response.rb +26 -0
- data/lib/terminal-shop/models/order_list_params.rb +18 -0
- data/lib/terminal-shop/models/order_list_response.rb +26 -0
- data/lib/terminal-shop/models/product.rb +141 -0
- data/lib/terminal-shop/models/product_list_params.rb +18 -0
- data/lib/terminal-shop/models/product_list_response.rb +26 -0
- data/lib/terminal-shop/models/product_variant.rb +44 -0
- data/lib/terminal-shop/models/profile.rb +83 -0
- data/lib/terminal-shop/models/profile_me_params.rb +18 -0
- data/lib/terminal-shop/models/profile_me_response.rb +26 -0
- data/lib/terminal-shop/models/profile_update_params.rb +32 -0
- data/lib/terminal-shop/models/profile_update_response.rb +26 -0
- data/lib/terminal-shop/models/subscription.rb +113 -0
- data/lib/terminal-shop/models/subscription_create_params.rb +18 -0
- data/lib/terminal-shop/models/subscription_create_response.rb +25 -0
- data/lib/terminal-shop/models/subscription_delete_params.rb +18 -0
- data/lib/terminal-shop/models/subscription_delete_response.rb +25 -0
- data/lib/terminal-shop/models/subscription_list_params.rb +18 -0
- data/lib/terminal-shop/models/subscription_list_response.rb +26 -0
- data/lib/terminal-shop/models/token.rb +68 -0
- data/lib/terminal-shop/models/token_create_params.rb +18 -0
- data/lib/terminal-shop/models/token_create_response.rb +55 -0
- data/lib/terminal-shop/models/token_delete_params.rb +18 -0
- data/lib/terminal-shop/models/token_delete_response.rb +25 -0
- data/lib/terminal-shop/models/token_get_params.rb +18 -0
- data/lib/terminal-shop/models/token_get_response.rb +27 -0
- data/lib/terminal-shop/models/token_list_params.rb +18 -0
- data/lib/terminal-shop/models/token_list_response.rb +26 -0
- data/lib/terminal-shop/models/view_init_params.rb +18 -0
- data/lib/terminal-shop/models/view_init_response.rb +103 -0
- data/lib/terminal-shop/pooled_net_requester.rb +94 -0
- data/lib/terminal-shop/request_options.rb +115 -0
- data/lib/terminal-shop/resources/address.rb +84 -0
- data/lib/terminal-shop/resources/app.rb +93 -0
- data/lib/terminal-shop/resources/card.rb +89 -0
- data/lib/terminal-shop/resources/cart.rb +112 -0
- data/lib/terminal-shop/resources/email.rb +34 -0
- data/lib/terminal-shop/resources/order.rb +49 -0
- data/lib/terminal-shop/resources/product.rb +30 -0
- data/lib/terminal-shop/resources/profile.rb +53 -0
- data/lib/terminal-shop/resources/subscription.rb +82 -0
- data/lib/terminal-shop/resources/token.rb +85 -0
- data/lib/terminal-shop/resources/view.rb +31 -0
- data/lib/terminal-shop/util.rb +460 -0
- data/lib/terminal-shop/version.rb +5 -0
- data/lib/terminal-shop.rb +110 -0
- data/manifest.yaml +12 -0
- data/rbi/lib/terminal-shop/base_client.rbi +145 -0
- data/rbi/lib/terminal-shop/base_model.rbi +514 -0
- data/rbi/lib/terminal-shop/base_page.rbi +38 -0
- data/rbi/lib/terminal-shop/client.rbi +80 -0
- data/rbi/lib/terminal-shop/errors.rbi +133 -0
- data/rbi/lib/terminal-shop/extern.rbi +7 -0
- data/rbi/lib/terminal-shop/models/address.rbi +77 -0
- data/rbi/lib/terminal-shop/models/address_create_params.rbi +87 -0
- data/rbi/lib/terminal-shop/models/address_create_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/address_delete_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/address_delete_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/address_list_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/address_list_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/app.rbi +24 -0
- data/rbi/lib/terminal-shop/models/app_create_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/app_create_response.rbi +34 -0
- data/rbi/lib/terminal-shop/models/app_delete_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/app_delete_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/app_get_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/app_get_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/app_list_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/app_list_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/card.rbi +59 -0
- data/rbi/lib/terminal-shop/models/card_collect_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/card_collect_response.rbi +31 -0
- data/rbi/lib/terminal-shop/models/card_create_params.rbi +26 -0
- data/rbi/lib/terminal-shop/models/card_create_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/card_delete_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/card_delete_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/card_list_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/card_list_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/cart.rbi +127 -0
- data/rbi/lib/terminal-shop/models/cart_convert_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/cart_convert_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/cart_get_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/cart_get_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/cart_set_address_params.rbi +26 -0
- data/rbi/lib/terminal-shop/models/cart_set_address_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/cart_set_card_params.rbi +26 -0
- data/rbi/lib/terminal-shop/models/cart_set_card_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/cart_set_item_params.rbi +38 -0
- data/rbi/lib/terminal-shop/models/cart_set_item_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/email_create_params.rbi +26 -0
- data/rbi/lib/terminal-shop/models/email_create_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/order.rbi +216 -0
- data/rbi/lib/terminal-shop/models/order_get_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/order_get_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/order_list_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/order_list_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/product.rbi +94 -0
- data/rbi/lib/terminal-shop/models/product_list_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/product_list_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/product_variant.rbi +24 -0
- data/rbi/lib/terminal-shop/models/profile.rbi +61 -0
- data/rbi/lib/terminal-shop/models/profile_me_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/profile_me_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/profile_update_params.rbi +38 -0
- data/rbi/lib/terminal-shop/models/profile_update_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/subscription.rbi +75 -0
- data/rbi/lib/terminal-shop/models/subscription_create_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/subscription_create_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/subscription_delete_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/subscription_delete_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/subscription_list_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/subscription_list_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/token.rbi +37 -0
- data/rbi/lib/terminal-shop/models/token_create_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/token_create_response.rbi +34 -0
- data/rbi/lib/terminal-shop/models/token_delete_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/token_delete_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/token_get_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/token_get_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/token_list_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/token_list_response.rbi +18 -0
- data/rbi/lib/terminal-shop/models/view_init_params.rbi +18 -0
- data/rbi/lib/terminal-shop/models/view_init_response.rbi +91 -0
- data/rbi/lib/terminal-shop/request_options.rbi +40 -0
- data/rbi/lib/terminal-shop/resources/address.rbi +60 -0
- data/rbi/lib/terminal-shop/resources/app.rbi +54 -0
- data/rbi/lib/terminal-shop/resources/card.rbi +57 -0
- data/rbi/lib/terminal-shop/resources/cart.rbi +67 -0
- data/rbi/lib/terminal-shop/resources/email.rbi +20 -0
- data/rbi/lib/terminal-shop/resources/order.rbi +34 -0
- data/rbi/lib/terminal-shop/resources/product.rbi +25 -0
- data/rbi/lib/terminal-shop/resources/profile.rbi +35 -0
- data/rbi/lib/terminal-shop/resources/subscription.rbi +58 -0
- data/rbi/lib/terminal-shop/resources/token.rbi +57 -0
- data/rbi/lib/terminal-shop/resources/view.rbi +25 -0
- data/rbi/lib/terminal-shop/util.rbi +128 -0
- data/rbi/lib/terminal-shop/version.rbi +5 -0
- data/sig/terminal-shop/base_client.rbs +100 -0
- data/sig/terminal-shop/base_model.rbs +246 -0
- data/sig/terminal-shop/base_page.rbs +20 -0
- data/sig/terminal-shop/client.rbs +52 -0
- data/sig/terminal-shop/errors.rbs +98 -0
- data/sig/terminal-shop/extern.rbs +4 -0
- data/sig/terminal-shop/models/address.rbs +60 -0
- data/sig/terminal-shop/models/address_create_params.rbs +62 -0
- data/sig/terminal-shop/models/address_create_response.rbs +18 -0
- data/sig/terminal-shop/models/address_delete_params.rbs +19 -0
- data/sig/terminal-shop/models/address_delete_response.rbs +18 -0
- data/sig/terminal-shop/models/address_list_params.rbs +19 -0
- data/sig/terminal-shop/models/address_list_response.rbs +19 -0
- data/sig/terminal-shop/models/app.rbs +21 -0
- data/sig/terminal-shop/models/app_create_params.rbs +19 -0
- data/sig/terminal-shop/models/app_create_response.rbs +36 -0
- data/sig/terminal-shop/models/app_delete_params.rbs +19 -0
- data/sig/terminal-shop/models/app_delete_response.rbs +18 -0
- data/sig/terminal-shop/models/app_get_params.rbs +18 -0
- data/sig/terminal-shop/models/app_get_response.rbs +17 -0
- data/sig/terminal-shop/models/app_list_params.rbs +18 -0
- data/sig/terminal-shop/models/app_list_response.rbs +18 -0
- data/sig/terminal-shop/models/card.rbs +51 -0
- data/sig/terminal-shop/models/card_collect_params.rbs +19 -0
- data/sig/terminal-shop/models/card_collect_response.rbs +34 -0
- data/sig/terminal-shop/models/card_create_params.rbs +22 -0
- data/sig/terminal-shop/models/card_create_response.rbs +18 -0
- data/sig/terminal-shop/models/card_delete_params.rbs +19 -0
- data/sig/terminal-shop/models/card_delete_response.rbs +18 -0
- data/sig/terminal-shop/models/card_list_params.rbs +18 -0
- data/sig/terminal-shop/models/card_list_response.rbs +18 -0
- data/sig/terminal-shop/models/cart.rbs +119 -0
- data/sig/terminal-shop/models/cart_convert_params.rbs +19 -0
- data/sig/terminal-shop/models/cart_convert_response.rbs +18 -0
- data/sig/terminal-shop/models/cart_get_params.rbs +18 -0
- data/sig/terminal-shop/models/cart_get_response.rbs +18 -0
- data/sig/terminal-shop/models/cart_set_address_params.rbs +25 -0
- data/sig/terminal-shop/models/cart_set_address_response.rbs +18 -0
- data/sig/terminal-shop/models/cart_set_card_params.rbs +22 -0
- data/sig/terminal-shop/models/cart_set_card_response.rbs +18 -0
- data/sig/terminal-shop/models/cart_set_item_params.rbs +29 -0
- data/sig/terminal-shop/models/cart_set_item_response.rbs +18 -0
- data/sig/terminal-shop/models/email_create_params.rbs +22 -0
- data/sig/terminal-shop/models/email_create_response.rbs +18 -0
- data/sig/terminal-shop/models/order.rbs +179 -0
- data/sig/terminal-shop/models/order_get_params.rbs +18 -0
- data/sig/terminal-shop/models/order_get_response.rbs +18 -0
- data/sig/terminal-shop/models/order_list_params.rbs +19 -0
- data/sig/terminal-shop/models/order_list_response.rbs +18 -0
- data/sig/terminal-shop/models/product.rbs +76 -0
- data/sig/terminal-shop/models/product_list_params.rbs +19 -0
- data/sig/terminal-shop/models/product_list_response.rbs +19 -0
- data/sig/terminal-shop/models/product_variant.rbs +21 -0
- data/sig/terminal-shop/models/profile.rbs +53 -0
- data/sig/terminal-shop/models/profile_me_params.rbs +19 -0
- data/sig/terminal-shop/models/profile_me_response.rbs +18 -0
- data/sig/terminal-shop/models/profile_update_params.rbs +28 -0
- data/sig/terminal-shop/models/profile_update_response.rbs +18 -0
- data/sig/terminal-shop/models/subscription.rbs +60 -0
- data/sig/terminal-shop/models/subscription_create_params.rbs +19 -0
- data/sig/terminal-shop/models/subscription_create_response.rbs +18 -0
- data/sig/terminal-shop/models/subscription_delete_params.rbs +19 -0
- data/sig/terminal-shop/models/subscription_delete_response.rbs +18 -0
- data/sig/terminal-shop/models/subscription_list_params.rbs +19 -0
- data/sig/terminal-shop/models/subscription_list_response.rbs +19 -0
- data/sig/terminal-shop/models/token.rbs +40 -0
- data/sig/terminal-shop/models/token_create_params.rbs +19 -0
- data/sig/terminal-shop/models/token_create_response.rbs +36 -0
- data/sig/terminal-shop/models/token_delete_params.rbs +19 -0
- data/sig/terminal-shop/models/token_delete_response.rbs +18 -0
- data/sig/terminal-shop/models/token_get_params.rbs +18 -0
- data/sig/terminal-shop/models/token_get_response.rbs +18 -0
- data/sig/terminal-shop/models/token_list_params.rbs +19 -0
- data/sig/terminal-shop/models/token_list_response.rbs +18 -0
- data/sig/terminal-shop/models/view_init_params.rbs +18 -0
- data/sig/terminal-shop/models/view_init_response.rbs +71 -0
- data/sig/terminal-shop/request_options.rbs +42 -0
- data/sig/terminal-shop/resources/address.rbs +41 -0
- data/sig/terminal-shop/resources/app.rbs +46 -0
- data/sig/terminal-shop/resources/card.rbs +42 -0
- data/sig/terminal-shop/resources/cart.rbs +51 -0
- data/sig/terminal-shop/resources/email.rbs +16 -0
- data/sig/terminal-shop/resources/order.rbs +25 -0
- data/sig/terminal-shop/resources/product.rbs +15 -0
- data/sig/terminal-shop/resources/profile.rbs +25 -0
- data/sig/terminal-shop/resources/subscription.rbs +43 -0
- data/sig/terminal-shop/resources/token.rbs +43 -0
- data/sig/terminal-shop/resources/view.rbs +15 -0
- data/sig/terminal-shop/util.rbs +85 -0
- data/sig/terminal-shop/version.rbs +3 -0
- metadata +333 -0
@@ -0,0 +1,246 @@
|
|
1
|
+
module TerminalShop
|
2
|
+
module Converter
|
3
|
+
type input = TerminalShop::Converter | Class
|
4
|
+
|
5
|
+
def coerce: (top value) -> top
|
6
|
+
|
7
|
+
def dump: (top value) -> top
|
8
|
+
|
9
|
+
def try_strict_coerce: (
|
10
|
+
top value
|
11
|
+
) -> ([true, top, nil] | [false, bool, Integer])
|
12
|
+
|
13
|
+
def self.type_info: (
|
14
|
+
{
|
15
|
+
const: (nil | bool | Integer | Float | Symbol)?,
|
16
|
+
enum: ^-> TerminalShop::Converter::input?,
|
17
|
+
union: ^-> TerminalShop::Converter::input?
|
18
|
+
}
|
19
|
+
| ^-> TerminalShop::Converter::input
|
20
|
+
| TerminalShop::Converter::input spec
|
21
|
+
) -> (^-> top)
|
22
|
+
|
23
|
+
def self.coerce: (TerminalShop::Converter::input target, top value) -> top
|
24
|
+
|
25
|
+
def self.dump: (TerminalShop::Converter::input target, top value) -> top
|
26
|
+
|
27
|
+
def self.try_strict_coerce: (
|
28
|
+
TerminalShop::Converter::input target,
|
29
|
+
top value
|
30
|
+
) -> top
|
31
|
+
end
|
32
|
+
|
33
|
+
class Unknown
|
34
|
+
extend TerminalShop::Converter
|
35
|
+
|
36
|
+
def self.===: (top other) -> bool
|
37
|
+
|
38
|
+
def self.==: (top other) -> bool
|
39
|
+
|
40
|
+
def self.coerce: (top value) -> top
|
41
|
+
|
42
|
+
def self.dump: (top value) -> top
|
43
|
+
|
44
|
+
def self.try_strict_coerce: (
|
45
|
+
top value
|
46
|
+
) -> ([true, top, nil] | [false, bool, Integer])
|
47
|
+
end
|
48
|
+
|
49
|
+
class BooleanModel
|
50
|
+
extend TerminalShop::Converter
|
51
|
+
|
52
|
+
def self.===: (top other) -> bool
|
53
|
+
|
54
|
+
def self.==: (top other) -> bool
|
55
|
+
|
56
|
+
def self.coerce: (bool | top value) -> (bool | top)
|
57
|
+
|
58
|
+
def self.dump: (bool | top value) -> (bool | top)
|
59
|
+
|
60
|
+
def self.try_strict_coerce: (
|
61
|
+
top value
|
62
|
+
) -> ([true, top, nil] | [false, bool, Integer])
|
63
|
+
end
|
64
|
+
|
65
|
+
class Enum
|
66
|
+
extend TerminalShop::Converter
|
67
|
+
|
68
|
+
def self.values: -> Array[(nil | bool | Integer | Float | Symbol)]
|
69
|
+
|
70
|
+
private def self.finalize!: -> void
|
71
|
+
|
72
|
+
def self.===: (top other) -> bool
|
73
|
+
|
74
|
+
def self.==: (top other) -> bool
|
75
|
+
|
76
|
+
def self.coerce: (String | Symbol | top value) -> (Symbol | top)
|
77
|
+
|
78
|
+
def self.dump: (Symbol | top value) -> (Symbol | top)
|
79
|
+
|
80
|
+
def self.try_strict_coerce: (
|
81
|
+
top value
|
82
|
+
) -> ([true, top, nil] | [false, bool, Integer])
|
83
|
+
end
|
84
|
+
|
85
|
+
class Union
|
86
|
+
extend TerminalShop::Extern
|
87
|
+
extend TerminalShop::Converter
|
88
|
+
|
89
|
+
private def self.known_variants: -> Array[[Symbol?, Proc]]
|
90
|
+
|
91
|
+
def self.variants: -> Array[[Symbol?, top]]
|
92
|
+
|
93
|
+
private def self.discriminator: (Symbol property) -> void
|
94
|
+
|
95
|
+
private def self.variant: (
|
96
|
+
Symbol
|
97
|
+
| Hash[Symbol, top]
|
98
|
+
| ^-> TerminalShop::Converter::input
|
99
|
+
| TerminalShop::Converter::input key,
|
100
|
+
?Hash[Symbol, top]
|
101
|
+
| ^-> TerminalShop::Converter::input
|
102
|
+
| TerminalShop::Converter::input spec
|
103
|
+
) -> void
|
104
|
+
|
105
|
+
private def self.resolve_variant: (
|
106
|
+
top value
|
107
|
+
) -> TerminalShop::Converter::input?
|
108
|
+
|
109
|
+
def self.===: (top other) -> bool
|
110
|
+
|
111
|
+
def self.==: (top other) -> bool
|
112
|
+
|
113
|
+
def self.coerce: (top value) -> top
|
114
|
+
|
115
|
+
def self.dump: (top value) -> top
|
116
|
+
|
117
|
+
def self.try_strict_coerce: (
|
118
|
+
top value
|
119
|
+
) -> ([true, top, nil] | [false, bool, Integer])
|
120
|
+
end
|
121
|
+
|
122
|
+
class ArrayOf
|
123
|
+
include TerminalShop::Converter
|
124
|
+
|
125
|
+
def ===: (top other) -> bool
|
126
|
+
|
127
|
+
def ==: (top other) -> bool
|
128
|
+
|
129
|
+
def coerce: (Enumerable[top] | top value) -> (Array[top] | top)
|
130
|
+
|
131
|
+
def dump: (Enumerable[top] | top value) -> (Array[top] | top)
|
132
|
+
|
133
|
+
def try_strict_coerce: (
|
134
|
+
top value
|
135
|
+
) -> ([true, top, nil] | [false, bool, Integer])
|
136
|
+
|
137
|
+
def item_type: -> TerminalShop::Converter::input
|
138
|
+
|
139
|
+
def initialize: (
|
140
|
+
Hash[Symbol, top]
|
141
|
+
| ^-> TerminalShop::Converter::input
|
142
|
+
| TerminalShop::Converter::input type_info,
|
143
|
+
?Hash[Symbol, top] spec
|
144
|
+
) -> void
|
145
|
+
end
|
146
|
+
|
147
|
+
class HashOf
|
148
|
+
include TerminalShop::Converter
|
149
|
+
|
150
|
+
def ===: (top other) -> bool
|
151
|
+
|
152
|
+
def ==: (top other) -> bool
|
153
|
+
|
154
|
+
def coerce: (Hash[top, top] | top value) -> (Hash[Symbol, top] | top)
|
155
|
+
|
156
|
+
def dump: (Hash[top, top] | top value) -> (Hash[Symbol, top] | top)
|
157
|
+
|
158
|
+
def try_strict_coerce: (
|
159
|
+
top value
|
160
|
+
) -> ([true, top, nil] | [false, bool, Integer])
|
161
|
+
|
162
|
+
def item_type: -> TerminalShop::Converter::input
|
163
|
+
|
164
|
+
def initialize: (
|
165
|
+
Hash[Symbol, top]
|
166
|
+
| ^-> TerminalShop::Converter::input
|
167
|
+
| TerminalShop::Converter::input type_info,
|
168
|
+
?Hash[Symbol, top] spec
|
169
|
+
) -> void
|
170
|
+
end
|
171
|
+
|
172
|
+
class BaseModel
|
173
|
+
extend TerminalShop::Extern
|
174
|
+
extend TerminalShop::Converter
|
175
|
+
|
176
|
+
type known_field = { mode: (:coerce | :dump)?, required: bool }
|
177
|
+
|
178
|
+
def self.known_fields: -> Hash[Symbol, (TerminalShop::BaseModel::known_field
|
179
|
+
& { type_fn: (^-> TerminalShop::Converter::input) })]
|
180
|
+
|
181
|
+
def self.fields: -> Hash[Symbol, (TerminalShop::BaseModel::known_field
|
182
|
+
& { type: TerminalShop::Converter::input })]
|
183
|
+
|
184
|
+
def self.defaults: -> Hash[Symbol, (^-> Class)]
|
185
|
+
|
186
|
+
private def self.add_field: (
|
187
|
+
Symbol name_sym,
|
188
|
+
required: bool,
|
189
|
+
type_info: {
|
190
|
+
const: (nil | bool | Integer | Float | Symbol)?,
|
191
|
+
enum: ^-> TerminalShop::Converter::input?,
|
192
|
+
union: ^-> TerminalShop::Converter::input?,
|
193
|
+
api_name: Symbol
|
194
|
+
}
|
195
|
+
| ^-> TerminalShop::Converter::input
|
196
|
+
| TerminalShop::Converter::input,
|
197
|
+
spec: Hash[Symbol, top]
|
198
|
+
) -> void
|
199
|
+
|
200
|
+
def self.required: (
|
201
|
+
Symbol name_sym,
|
202
|
+
Hash[Symbol, top]
|
203
|
+
| ^-> TerminalShop::Converter::input
|
204
|
+
| TerminalShop::Converter::input type_info,
|
205
|
+
?Hash[Symbol, top] spec
|
206
|
+
) -> void
|
207
|
+
|
208
|
+
def self.optional: (
|
209
|
+
Symbol name_sym,
|
210
|
+
Hash[Symbol, top]
|
211
|
+
| ^-> TerminalShop::Converter::input
|
212
|
+
| TerminalShop::Converter::input type_info,
|
213
|
+
?Hash[Symbol, top] spec
|
214
|
+
) -> void
|
215
|
+
|
216
|
+
private def self.request_only: { -> void } -> void
|
217
|
+
|
218
|
+
private def self.response_only: { -> void } -> void
|
219
|
+
|
220
|
+
def ==: (top other) -> bool
|
221
|
+
|
222
|
+
def self.coerce: (
|
223
|
+
TerminalShop::BaseModel | Hash[top, top] | top value
|
224
|
+
) -> (instance | top)
|
225
|
+
|
226
|
+
def self.dump: (instance | top value) -> (Hash[top, top] | top)
|
227
|
+
|
228
|
+
def self.try_strict_coerce: (
|
229
|
+
top value
|
230
|
+
) -> ([true, top, nil] | [false, bool, Integer])
|
231
|
+
|
232
|
+
def []: (Symbol key) -> top?
|
233
|
+
|
234
|
+
def to_h: -> Hash[Symbol, top]
|
235
|
+
|
236
|
+
alias to_hash to_h
|
237
|
+
|
238
|
+
def deconstruct_keys: (Array[Symbol]? keys) -> Hash[Symbol, top]
|
239
|
+
|
240
|
+
def initialize: (?Hash[Symbol, top] | self data) -> void
|
241
|
+
|
242
|
+
def to_s: -> String
|
243
|
+
|
244
|
+
def inspect: -> String
|
245
|
+
end
|
246
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module TerminalShop
|
2
|
+
module BasePage[Elem]
|
3
|
+
def next_page?: -> bool
|
4
|
+
|
5
|
+
def next_page: -> self
|
6
|
+
|
7
|
+
def auto_paging_each: { (Elem arg0) -> void } -> void
|
8
|
+
|
9
|
+
def to_enum: -> Enumerable[Elem]
|
10
|
+
|
11
|
+
alias enum_for to_enum
|
12
|
+
|
13
|
+
def initialize: (
|
14
|
+
client: TerminalShop::BaseClient,
|
15
|
+
req: TerminalShop::BaseClient::request,
|
16
|
+
headers: Hash[String, String],
|
17
|
+
unwrapped: top
|
18
|
+
) -> void
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module TerminalShop
|
2
|
+
class Client < TerminalShop::BaseClient
|
3
|
+
DEFAULT_MAX_RETRIES: 2
|
4
|
+
|
5
|
+
DEFAULT_TIMEOUT_IN_SECONDS: Float
|
6
|
+
|
7
|
+
DEFAULT_INITIAL_RETRY_DELAY: Float
|
8
|
+
|
9
|
+
DEFAULT_MAX_RETRY_DELAY: Float
|
10
|
+
|
11
|
+
ENVIRONMENTS: {
|
12
|
+
production: "https://api.terminal.shop/",
|
13
|
+
sandbox: "https://sandbox.terminal.shop/"
|
14
|
+
}
|
15
|
+
|
16
|
+
attr_reader bearer_token: String
|
17
|
+
|
18
|
+
attr_reader product: TerminalShop::Resources::Product
|
19
|
+
|
20
|
+
attr_reader profile: TerminalShop::Resources::Profile
|
21
|
+
|
22
|
+
attr_reader address: TerminalShop::Resources::Address
|
23
|
+
|
24
|
+
attr_reader card: TerminalShop::Resources::Card
|
25
|
+
|
26
|
+
attr_reader cart: TerminalShop::Resources::Cart
|
27
|
+
|
28
|
+
attr_reader order: TerminalShop::Resources::Order
|
29
|
+
|
30
|
+
attr_reader subscription: TerminalShop::Resources::Subscription
|
31
|
+
|
32
|
+
attr_reader token: TerminalShop::Resources::Token
|
33
|
+
|
34
|
+
attr_reader app: TerminalShop::Resources::App
|
35
|
+
|
36
|
+
attr_reader email: TerminalShop::Resources::Email
|
37
|
+
|
38
|
+
attr_reader view: TerminalShop::Resources::View
|
39
|
+
|
40
|
+
private def auth_headers: -> Hash[String, String]
|
41
|
+
|
42
|
+
def initialize: (
|
43
|
+
environment: :production | :sandbox | nil,
|
44
|
+
base_url: String?,
|
45
|
+
bearer_token: String?,
|
46
|
+
max_retries: Integer,
|
47
|
+
timeout: Float,
|
48
|
+
initial_retry_delay: Float,
|
49
|
+
max_retry_delay: Float
|
50
|
+
) -> void
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
module TerminalShop
|
2
|
+
class Error < StandardError
|
3
|
+
attr_reader cause: StandardError?
|
4
|
+
end
|
5
|
+
|
6
|
+
class ConversionError < TerminalShop::Error
|
7
|
+
end
|
8
|
+
|
9
|
+
class APIError < TerminalShop::Error
|
10
|
+
attr_reader url: URI::Generic
|
11
|
+
|
12
|
+
attr_reader status: Integer?
|
13
|
+
|
14
|
+
attr_reader body: top?
|
15
|
+
|
16
|
+
def initialize: (
|
17
|
+
url: URI::Generic,
|
18
|
+
status: Integer?,
|
19
|
+
body: Object?,
|
20
|
+
request: nil,
|
21
|
+
response: nil,
|
22
|
+
message: String?
|
23
|
+
) -> void
|
24
|
+
end
|
25
|
+
|
26
|
+
class APIConnectionError < TerminalShop::APIError
|
27
|
+
def initialize: (
|
28
|
+
url: URI::Generic,
|
29
|
+
status: nil,
|
30
|
+
body: nil,
|
31
|
+
request: nil,
|
32
|
+
response: nil,
|
33
|
+
message: String?
|
34
|
+
) -> void
|
35
|
+
end
|
36
|
+
|
37
|
+
class APITimeoutError < TerminalShop::APIConnectionError
|
38
|
+
def initialize: (
|
39
|
+
url: URI::Generic,
|
40
|
+
status: nil,
|
41
|
+
body: nil,
|
42
|
+
request: nil,
|
43
|
+
response: nil,
|
44
|
+
message: String?
|
45
|
+
) -> void
|
46
|
+
end
|
47
|
+
|
48
|
+
class APIStatusError < TerminalShop::APIError
|
49
|
+
def self.for: (
|
50
|
+
url: URI::Generic,
|
51
|
+
status: Integer,
|
52
|
+
body: Object?,
|
53
|
+
request: nil,
|
54
|
+
response: nil
|
55
|
+
) -> instance
|
56
|
+
|
57
|
+
def initialize: (
|
58
|
+
url: URI::Generic,
|
59
|
+
status: Integer,
|
60
|
+
body: Object?,
|
61
|
+
request: nil,
|
62
|
+
response: nil,
|
63
|
+
message: String?
|
64
|
+
) -> void
|
65
|
+
end
|
66
|
+
|
67
|
+
class BadRequestError < TerminalShop::APIStatusError
|
68
|
+
HTTP_STATUS: 400
|
69
|
+
end
|
70
|
+
|
71
|
+
class AuthenticationError < TerminalShop::APIStatusError
|
72
|
+
HTTP_STATUS: 401
|
73
|
+
end
|
74
|
+
|
75
|
+
class PermissionDeniedError < TerminalShop::APIStatusError
|
76
|
+
HTTP_STATUS: 403
|
77
|
+
end
|
78
|
+
|
79
|
+
class NotFoundError < TerminalShop::APIStatusError
|
80
|
+
HTTP_STATUS: 404
|
81
|
+
end
|
82
|
+
|
83
|
+
class ConflictError < TerminalShop::APIStatusError
|
84
|
+
HTTP_STATUS: 409
|
85
|
+
end
|
86
|
+
|
87
|
+
class UnprocessableEntityError < TerminalShop::APIStatusError
|
88
|
+
HTTP_STATUS: 422
|
89
|
+
end
|
90
|
+
|
91
|
+
class RateLimitError < TerminalShop::APIStatusError
|
92
|
+
HTTP_STATUS: 429
|
93
|
+
end
|
94
|
+
|
95
|
+
class InternalServerError < TerminalShop::APIStatusError
|
96
|
+
HTTP_STATUS: Range[Integer]
|
97
|
+
end
|
98
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
module TerminalShop
|
2
|
+
module Models
|
3
|
+
type address_api =
|
4
|
+
{
|
5
|
+
id: String,
|
6
|
+
city: String,
|
7
|
+
country: String,
|
8
|
+
name: String,
|
9
|
+
:street1 => String,
|
10
|
+
zip: String,
|
11
|
+
phone: String,
|
12
|
+
province: String,
|
13
|
+
:street2 => String
|
14
|
+
}
|
15
|
+
|
16
|
+
class AddressAPI < TerminalShop::BaseModel
|
17
|
+
attr_accessor id: String
|
18
|
+
|
19
|
+
attr_accessor city: String
|
20
|
+
|
21
|
+
attr_accessor country: String
|
22
|
+
|
23
|
+
attr_accessor name: String
|
24
|
+
|
25
|
+
attr_accessor street1: String
|
26
|
+
|
27
|
+
attr_accessor zip: String
|
28
|
+
|
29
|
+
attr_reader phone: String?
|
30
|
+
|
31
|
+
def phone=: (String) -> void
|
32
|
+
|
33
|
+
attr_reader province: String?
|
34
|
+
|
35
|
+
def province=: (String) -> void
|
36
|
+
|
37
|
+
attr_reader street2: String?
|
38
|
+
|
39
|
+
def street2=: (String) -> void
|
40
|
+
|
41
|
+
def initialize:
|
42
|
+
(
|
43
|
+
id: String,
|
44
|
+
city: String,
|
45
|
+
country: String,
|
46
|
+
name: String,
|
47
|
+
street1: String,
|
48
|
+
zip: String,
|
49
|
+
phone: String,
|
50
|
+
province: String,
|
51
|
+
street2: String
|
52
|
+
) -> void
|
53
|
+
| (
|
54
|
+
?TerminalShop::Models::address_api | TerminalShop::BaseModel data
|
55
|
+
) -> void
|
56
|
+
|
57
|
+
def to_hash: -> TerminalShop::Models::address_api
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module TerminalShop
|
2
|
+
module Models
|
3
|
+
type address_create_params =
|
4
|
+
{
|
5
|
+
city: String,
|
6
|
+
country: String,
|
7
|
+
name: String,
|
8
|
+
:street1 => String,
|
9
|
+
zip: String,
|
10
|
+
phone: String,
|
11
|
+
province: String,
|
12
|
+
:street2 => String
|
13
|
+
}
|
14
|
+
& TerminalShop::request_parameters
|
15
|
+
|
16
|
+
class AddressCreateParams < TerminalShop::BaseModel
|
17
|
+
extend TerminalShop::RequestParameters::Converter
|
18
|
+
include TerminalShop::RequestParameters
|
19
|
+
|
20
|
+
attr_accessor city: String
|
21
|
+
|
22
|
+
attr_accessor country: String
|
23
|
+
|
24
|
+
attr_accessor name: String
|
25
|
+
|
26
|
+
attr_accessor street1: String
|
27
|
+
|
28
|
+
attr_accessor zip: String
|
29
|
+
|
30
|
+
attr_reader phone: String?
|
31
|
+
|
32
|
+
def phone=: (String) -> void
|
33
|
+
|
34
|
+
attr_reader province: String?
|
35
|
+
|
36
|
+
def province=: (String) -> void
|
37
|
+
|
38
|
+
attr_reader street2: String?
|
39
|
+
|
40
|
+
def street2=: (String) -> void
|
41
|
+
|
42
|
+
def initialize:
|
43
|
+
(
|
44
|
+
city: String,
|
45
|
+
country: String,
|
46
|
+
name: String,
|
47
|
+
street1: String,
|
48
|
+
zip: String,
|
49
|
+
phone: String,
|
50
|
+
province: String,
|
51
|
+
street2: String,
|
52
|
+
request_options: TerminalShop::request_opts
|
53
|
+
) -> void
|
54
|
+
| (
|
55
|
+
?TerminalShop::Models::address_create_params
|
56
|
+
| TerminalShop::BaseModel data
|
57
|
+
) -> void
|
58
|
+
|
59
|
+
def to_hash: -> TerminalShop::Models::address_create_params
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module TerminalShop
|
2
|
+
module Models
|
3
|
+
type address_create_response = { data: String }
|
4
|
+
|
5
|
+
class AddressCreateResponse < TerminalShop::BaseModel
|
6
|
+
attr_accessor data: String
|
7
|
+
|
8
|
+
def initialize:
|
9
|
+
(data: String) -> void
|
10
|
+
| (
|
11
|
+
?TerminalShop::Models::address_create_response
|
12
|
+
| TerminalShop::BaseModel data
|
13
|
+
) -> void
|
14
|
+
|
15
|
+
def to_hash: -> TerminalShop::Models::address_create_response
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module TerminalShop
|
2
|
+
module Models
|
3
|
+
type address_delete_params = { } & TerminalShop::request_parameters
|
4
|
+
|
5
|
+
class AddressDeleteParams < TerminalShop::BaseModel
|
6
|
+
extend TerminalShop::RequestParameters::Converter
|
7
|
+
include TerminalShop::RequestParameters
|
8
|
+
|
9
|
+
def initialize:
|
10
|
+
(request_options: TerminalShop::request_opts) -> void
|
11
|
+
| (
|
12
|
+
?TerminalShop::Models::address_delete_params
|
13
|
+
| TerminalShop::BaseModel data
|
14
|
+
) -> void
|
15
|
+
|
16
|
+
def to_hash: -> TerminalShop::Models::address_delete_params
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module TerminalShop
|
2
|
+
module Models
|
3
|
+
type address_delete_response = { data: :ok }
|
4
|
+
|
5
|
+
class AddressDeleteResponse < TerminalShop::BaseModel
|
6
|
+
attr_accessor data: :ok
|
7
|
+
|
8
|
+
def initialize:
|
9
|
+
(data: :ok) -> void
|
10
|
+
| (
|
11
|
+
?TerminalShop::Models::address_delete_response
|
12
|
+
| TerminalShop::BaseModel data
|
13
|
+
) -> void
|
14
|
+
|
15
|
+
def to_hash: -> TerminalShop::Models::address_delete_response
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module TerminalShop
|
2
|
+
module Models
|
3
|
+
type address_list_params = { } & TerminalShop::request_parameters
|
4
|
+
|
5
|
+
class AddressListParams < TerminalShop::BaseModel
|
6
|
+
extend TerminalShop::RequestParameters::Converter
|
7
|
+
include TerminalShop::RequestParameters
|
8
|
+
|
9
|
+
def initialize:
|
10
|
+
(request_options: TerminalShop::request_opts) -> void
|
11
|
+
| (
|
12
|
+
?TerminalShop::Models::address_list_params
|
13
|
+
| TerminalShop::BaseModel data
|
14
|
+
) -> void
|
15
|
+
|
16
|
+
def to_hash: -> TerminalShop::Models::address_list_params
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module TerminalShop
|
2
|
+
module Models
|
3
|
+
type address_list_response =
|
4
|
+
{ data: Array[TerminalShop::Models::AddressAPI] }
|
5
|
+
|
6
|
+
class AddressListResponse < TerminalShop::BaseModel
|
7
|
+
attr_accessor data: Array[TerminalShop::Models::AddressAPI]
|
8
|
+
|
9
|
+
def initialize:
|
10
|
+
(data: Array[TerminalShop::Models::AddressAPI]) -> void
|
11
|
+
| (
|
12
|
+
?TerminalShop::Models::address_list_response
|
13
|
+
| TerminalShop::BaseModel data
|
14
|
+
) -> void
|
15
|
+
|
16
|
+
def to_hash: -> TerminalShop::Models::address_list_response
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module TerminalShop
|
2
|
+
module Models
|
3
|
+
type app_api = { id: String, name: String, redirect_uri: String }
|
4
|
+
|
5
|
+
class AppAPI < TerminalShop::BaseModel
|
6
|
+
attr_accessor id: String
|
7
|
+
|
8
|
+
attr_accessor name: String
|
9
|
+
|
10
|
+
attr_accessor redirect_uri: String
|
11
|
+
|
12
|
+
def initialize:
|
13
|
+
(id: String, name: String, redirect_uri: String) -> void
|
14
|
+
| (
|
15
|
+
?TerminalShop::Models::app_api | TerminalShop::BaseModel data
|
16
|
+
) -> void
|
17
|
+
|
18
|
+
def to_hash: -> TerminalShop::Models::app_api
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module TerminalShop
|
2
|
+
module Models
|
3
|
+
type app_create_params = { } & TerminalShop::request_parameters
|
4
|
+
|
5
|
+
class AppCreateParams < TerminalShop::Models::AppAPI
|
6
|
+
extend TerminalShop::RequestParameters::Converter
|
7
|
+
include TerminalShop::RequestParameters
|
8
|
+
|
9
|
+
def initialize:
|
10
|
+
(request_options: TerminalShop::request_opts) -> void
|
11
|
+
| (
|
12
|
+
?TerminalShop::Models::app_create_params
|
13
|
+
| TerminalShop::BaseModel data
|
14
|
+
) -> void
|
15
|
+
|
16
|
+
def to_hash: -> TerminalShop::Models::app_create_params
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|