terminal-shop 1.8.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.
Files changed (220) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +14 -0
  3. data/lib/terminal-shop/base_client.rb +11 -10
  4. data/lib/terminal-shop/base_model.rb +257 -244
  5. data/lib/terminal-shop/base_page.rb +19 -20
  6. data/lib/terminal-shop/client.rb +1 -0
  7. data/lib/terminal-shop/models/product.rb +7 -3
  8. data/lib/terminal-shop/models/region.rb +7 -3
  9. data/lib/terminal-shop/models/subscription.rb +5 -7
  10. data/lib/terminal-shop/pooled_net_requester.rb +12 -1
  11. data/lib/terminal-shop/request_options.rb +1 -1
  12. data/lib/terminal-shop/util.rb +16 -7
  13. data/lib/terminal-shop/version.rb +1 -1
  14. data/lib/terminal-shop.rb +15 -0
  15. data/rbi/lib/terminal-shop/base_client.rbi +40 -41
  16. data/rbi/lib/terminal-shop/base_model.rbi +139 -116
  17. data/rbi/lib/terminal-shop/base_page.rbi +0 -2
  18. data/rbi/lib/terminal-shop/client.rbi +18 -30
  19. data/rbi/lib/terminal-shop/errors.rbi +7 -42
  20. data/rbi/lib/terminal-shop/models/address.rbi +15 -51
  21. data/rbi/lib/terminal-shop/models/address_create_params.rbi +15 -46
  22. data/rbi/lib/terminal-shop/models/address_create_response.rbi +1 -6
  23. data/rbi/lib/terminal-shop/models/address_delete_params.rbi +1 -1
  24. data/rbi/lib/terminal-shop/models/address_delete_response.rbi +1 -6
  25. data/rbi/lib/terminal-shop/models/address_get_params.rbi +1 -1
  26. data/rbi/lib/terminal-shop/models/address_get_response.rbi +7 -6
  27. data/rbi/lib/terminal-shop/models/address_list_params.rbi +1 -1
  28. data/rbi/lib/terminal-shop/models/address_list_response.rbi +4 -6
  29. data/rbi/lib/terminal-shop/models/app.rbi +4 -24
  30. data/rbi/lib/terminal-shop/models/app_create_params.rbi +3 -13
  31. data/rbi/lib/terminal-shop/models/app_create_response.rbi +8 -20
  32. data/rbi/lib/terminal-shop/models/app_delete_params.rbi +1 -1
  33. data/rbi/lib/terminal-shop/models/app_delete_response.rbi +1 -6
  34. data/rbi/lib/terminal-shop/models/app_get_params.rbi +1 -1
  35. data/rbi/lib/terminal-shop/models/app_get_response.rbi +4 -6
  36. data/rbi/lib/terminal-shop/models/app_list_params.rbi +1 -1
  37. data/rbi/lib/terminal-shop/models/app_list_response.rbi +4 -6
  38. data/rbi/lib/terminal-shop/models/card.rbi +14 -36
  39. data/rbi/lib/terminal-shop/models/card_collect_params.rbi +1 -1
  40. data/rbi/lib/terminal-shop/models/card_collect_response.rbi +7 -14
  41. data/rbi/lib/terminal-shop/models/card_create_params.rbi +2 -7
  42. data/rbi/lib/terminal-shop/models/card_create_response.rbi +1 -6
  43. data/rbi/lib/terminal-shop/models/card_delete_params.rbi +1 -1
  44. data/rbi/lib/terminal-shop/models/card_delete_response.rbi +1 -6
  45. data/rbi/lib/terminal-shop/models/card_get_params.rbi +1 -1
  46. data/rbi/lib/terminal-shop/models/card_get_response.rbi +4 -6
  47. data/rbi/lib/terminal-shop/models/card_list_params.rbi +1 -1
  48. data/rbi/lib/terminal-shop/models/card_list_response.rbi +4 -6
  49. data/rbi/lib/terminal-shop/models/cart.rbi +34 -88
  50. data/rbi/lib/terminal-shop/models/cart_clear_params.rbi +1 -1
  51. data/rbi/lib/terminal-shop/models/cart_clear_response.rbi +1 -6
  52. data/rbi/lib/terminal-shop/models/cart_convert_params.rbi +1 -1
  53. data/rbi/lib/terminal-shop/models/cart_convert_response.rbi +4 -6
  54. data/rbi/lib/terminal-shop/models/cart_get_params.rbi +1 -1
  55. data/rbi/lib/terminal-shop/models/cart_get_response.rbi +4 -6
  56. data/rbi/lib/terminal-shop/models/cart_set_address_params.rbi +2 -7
  57. data/rbi/lib/terminal-shop/models/cart_set_address_response.rbi +1 -6
  58. data/rbi/lib/terminal-shop/models/cart_set_card_params.rbi +2 -7
  59. data/rbi/lib/terminal-shop/models/cart_set_card_response.rbi +1 -6
  60. data/rbi/lib/terminal-shop/models/cart_set_item_params.rbi +3 -13
  61. data/rbi/lib/terminal-shop/models/cart_set_item_response.rbi +4 -6
  62. data/rbi/lib/terminal-shop/models/email_create_params.rbi +2 -7
  63. data/rbi/lib/terminal-shop/models/email_create_response.rbi +1 -6
  64. data/rbi/lib/terminal-shop/models/order.rbi +52 -139
  65. data/rbi/lib/terminal-shop/models/order_create_params.rbi +4 -19
  66. data/rbi/lib/terminal-shop/models/order_create_response.rbi +1 -6
  67. data/rbi/lib/terminal-shop/models/order_get_params.rbi +1 -1
  68. data/rbi/lib/terminal-shop/models/order_get_response.rbi +4 -6
  69. data/rbi/lib/terminal-shop/models/order_list_params.rbi +1 -1
  70. data/rbi/lib/terminal-shop/models/order_list_response.rbi +4 -6
  71. data/rbi/lib/terminal-shop/models/product.rbi +43 -77
  72. data/rbi/lib/terminal-shop/models/product_get_params.rbi +1 -1
  73. data/rbi/lib/terminal-shop/models/product_get_response.rbi +7 -6
  74. data/rbi/lib/terminal-shop/models/product_list_params.rbi +1 -1
  75. data/rbi/lib/terminal-shop/models/product_list_response.rbi +4 -6
  76. data/rbi/lib/terminal-shop/models/product_variant.rbi +3 -18
  77. data/rbi/lib/terminal-shop/models/profile.rbi +12 -36
  78. data/rbi/lib/terminal-shop/models/profile_me_params.rbi +1 -1
  79. data/rbi/lib/terminal-shop/models/profile_me_response.rbi +7 -6
  80. data/rbi/lib/terminal-shop/models/profile_update_params.rbi +3 -13
  81. data/rbi/lib/terminal-shop/models/profile_update_response.rbi +7 -6
  82. data/rbi/lib/terminal-shop/models/region.rbi +10 -5
  83. data/rbi/lib/terminal-shop/models/subscription.rbi +28 -75
  84. data/rbi/lib/terminal-shop/models/subscription_create_params.rbi +1 -1
  85. data/rbi/lib/terminal-shop/models/subscription_create_response.rbi +1 -6
  86. data/rbi/lib/terminal-shop/models/subscription_delete_params.rbi +1 -1
  87. data/rbi/lib/terminal-shop/models/subscription_delete_response.rbi +1 -6
  88. data/rbi/lib/terminal-shop/models/subscription_get_params.rbi +1 -1
  89. data/rbi/lib/terminal-shop/models/subscription_get_response.rbi +7 -6
  90. data/rbi/lib/terminal-shop/models/subscription_list_params.rbi +1 -1
  91. data/rbi/lib/terminal-shop/models/subscription_list_response.rbi +3 -8
  92. data/rbi/lib/terminal-shop/models/token.rbi +3 -18
  93. data/rbi/lib/terminal-shop/models/token_create_params.rbi +1 -1
  94. data/rbi/lib/terminal-shop/models/token_create_response.rbi +8 -20
  95. data/rbi/lib/terminal-shop/models/token_delete_params.rbi +1 -1
  96. data/rbi/lib/terminal-shop/models/token_delete_response.rbi +1 -6
  97. data/rbi/lib/terminal-shop/models/token_get_params.rbi +1 -1
  98. data/rbi/lib/terminal-shop/models/token_get_response.rbi +4 -6
  99. data/rbi/lib/terminal-shop/models/token_list_params.rbi +1 -1
  100. data/rbi/lib/terminal-shop/models/token_list_response.rbi +4 -6
  101. data/rbi/lib/terminal-shop/models/view_init_params.rbi +1 -1
  102. data/rbi/lib/terminal-shop/models/view_init_response.rbi +32 -81
  103. data/rbi/lib/terminal-shop/pooled_net_requester.rbi +14 -3
  104. data/rbi/lib/terminal-shop/request_options.rbi +11 -55
  105. data/rbi/lib/terminal-shop/resources/address.rbi +4 -4
  106. data/rbi/lib/terminal-shop/resources/app.rbi +4 -4
  107. data/rbi/lib/terminal-shop/resources/card.rbi +5 -5
  108. data/rbi/lib/terminal-shop/resources/cart.rbi +6 -6
  109. data/rbi/lib/terminal-shop/resources/email.rbi +1 -1
  110. data/rbi/lib/terminal-shop/resources/order.rbi +3 -3
  111. data/rbi/lib/terminal-shop/resources/product.rbi +2 -2
  112. data/rbi/lib/terminal-shop/resources/profile.rbi +2 -2
  113. data/rbi/lib/terminal-shop/resources/subscription.rbi +5 -4
  114. data/rbi/lib/terminal-shop/resources/token.rbi +4 -4
  115. data/rbi/lib/terminal-shop/resources/view.rbi +1 -1
  116. data/rbi/lib/terminal-shop/util.rbi +24 -13
  117. data/rbi/lib/terminal-shop/version.rbi +1 -1
  118. data/sig/terminal-shop/base_client.rbs +14 -14
  119. data/sig/terminal-shop/base_model.rbs +34 -18
  120. data/sig/terminal-shop/client.rbs +8 -8
  121. data/sig/terminal-shop/errors.rbs +17 -17
  122. data/sig/terminal-shop/models/address.rbs +11 -15
  123. data/sig/terminal-shop/models/address_create_params.rbs +11 -16
  124. data/sig/terminal-shop/models/address_create_response.rbs +1 -6
  125. data/sig/terminal-shop/models/address_delete_params.rbs +1 -6
  126. data/sig/terminal-shop/models/address_delete_response.rbs +1 -6
  127. data/sig/terminal-shop/models/address_get_params.rbs +1 -6
  128. data/sig/terminal-shop/models/address_get_response.rbs +1 -6
  129. data/sig/terminal-shop/models/address_list_params.rbs +1 -6
  130. data/sig/terminal-shop/models/address_list_response.rbs +1 -6
  131. data/sig/terminal-shop/models/app.rbs +6 -5
  132. data/sig/terminal-shop/models/app_create_params.rbs +5 -10
  133. data/sig/terminal-shop/models/app_create_response.rbs +4 -12
  134. data/sig/terminal-shop/models/app_delete_params.rbs +1 -6
  135. data/sig/terminal-shop/models/app_delete_response.rbs +1 -6
  136. data/sig/terminal-shop/models/app_get_params.rbs +1 -5
  137. data/sig/terminal-shop/models/app_get_response.rbs +1 -5
  138. data/sig/terminal-shop/models/app_list_params.rbs +1 -5
  139. data/sig/terminal-shop/models/app_list_response.rbs +1 -6
  140. data/sig/terminal-shop/models/card.rbs +7 -16
  141. data/sig/terminal-shop/models/card_collect_params.rbs +1 -6
  142. data/sig/terminal-shop/models/card_collect_response.rbs +4 -12
  143. data/sig/terminal-shop/models/card_create_params.rbs +4 -6
  144. data/sig/terminal-shop/models/card_create_response.rbs +1 -6
  145. data/sig/terminal-shop/models/card_delete_params.rbs +1 -6
  146. data/sig/terminal-shop/models/card_delete_response.rbs +1 -6
  147. data/sig/terminal-shop/models/card_get_params.rbs +1 -5
  148. data/sig/terminal-shop/models/card_get_response.rbs +1 -6
  149. data/sig/terminal-shop/models/card_list_params.rbs +1 -5
  150. data/sig/terminal-shop/models/card_list_response.rbs +1 -6
  151. data/sig/terminal-shop/models/cart.rbs +20 -34
  152. data/sig/terminal-shop/models/cart_clear_params.rbs +1 -6
  153. data/sig/terminal-shop/models/cart_clear_response.rbs +1 -6
  154. data/sig/terminal-shop/models/cart_convert_params.rbs +1 -6
  155. data/sig/terminal-shop/models/cart_convert_response.rbs +1 -6
  156. data/sig/terminal-shop/models/cart_get_params.rbs +1 -5
  157. data/sig/terminal-shop/models/cart_get_response.rbs +1 -6
  158. data/sig/terminal-shop/models/cart_set_address_params.rbs +4 -9
  159. data/sig/terminal-shop/models/cart_set_address_response.rbs +1 -6
  160. data/sig/terminal-shop/models/cart_set_card_params.rbs +4 -6
  161. data/sig/terminal-shop/models/cart_set_card_response.rbs +1 -6
  162. data/sig/terminal-shop/models/cart_set_item_params.rbs +5 -10
  163. data/sig/terminal-shop/models/cart_set_item_response.rbs +1 -6
  164. data/sig/terminal-shop/models/email_create_params.rbs +4 -6
  165. data/sig/terminal-shop/models/email_create_response.rbs +1 -6
  166. data/sig/terminal-shop/models/order.rbs +31 -50
  167. data/sig/terminal-shop/models/order_create_params.rbs +6 -11
  168. data/sig/terminal-shop/models/order_create_response.rbs +1 -6
  169. data/sig/terminal-shop/models/order_get_params.rbs +1 -5
  170. data/sig/terminal-shop/models/order_get_response.rbs +1 -6
  171. data/sig/terminal-shop/models/order_list_params.rbs +1 -6
  172. data/sig/terminal-shop/models/order_list_response.rbs +1 -6
  173. data/sig/terminal-shop/models/product.rbs +20 -27
  174. data/sig/terminal-shop/models/product_get_params.rbs +1 -6
  175. data/sig/terminal-shop/models/product_get_response.rbs +1 -6
  176. data/sig/terminal-shop/models/product_list_params.rbs +1 -6
  177. data/sig/terminal-shop/models/product_list_response.rbs +1 -6
  178. data/sig/terminal-shop/models/product_variant.rbs +1 -5
  179. data/sig/terminal-shop/models/profile.rbs +8 -17
  180. data/sig/terminal-shop/models/profile_me_params.rbs +1 -6
  181. data/sig/terminal-shop/models/profile_me_response.rbs +1 -6
  182. data/sig/terminal-shop/models/profile_update_params.rbs +5 -10
  183. data/sig/terminal-shop/models/profile_update_response.rbs +1 -6
  184. data/sig/terminal-shop/models/region.rbs +4 -2
  185. data/sig/terminal-shop/models/subscription.rbs +15 -27
  186. data/sig/terminal-shop/models/subscription_create_params.rbs +1 -6
  187. data/sig/terminal-shop/models/subscription_create_response.rbs +1 -6
  188. data/sig/terminal-shop/models/subscription_delete_params.rbs +1 -6
  189. data/sig/terminal-shop/models/subscription_delete_response.rbs +1 -6
  190. data/sig/terminal-shop/models/subscription_get_params.rbs +1 -6
  191. data/sig/terminal-shop/models/subscription_get_response.rbs +1 -6
  192. data/sig/terminal-shop/models/subscription_list_params.rbs +1 -6
  193. data/sig/terminal-shop/models/subscription_list_response.rbs +3 -6
  194. data/sig/terminal-shop/models/token.rbs +1 -5
  195. data/sig/terminal-shop/models/token_create_params.rbs +1 -6
  196. data/sig/terminal-shop/models/token_create_response.rbs +4 -12
  197. data/sig/terminal-shop/models/token_delete_params.rbs +1 -6
  198. data/sig/terminal-shop/models/token_delete_response.rbs +1 -6
  199. data/sig/terminal-shop/models/token_get_params.rbs +1 -5
  200. data/sig/terminal-shop/models/token_get_response.rbs +1 -6
  201. data/sig/terminal-shop/models/token_list_params.rbs +1 -6
  202. data/sig/terminal-shop/models/token_list_response.rbs +1 -6
  203. data/sig/terminal-shop/models/view_init_params.rbs +1 -5
  204. data/sig/terminal-shop/models/view_init_response.rbs +15 -23
  205. data/sig/terminal-shop/pooled_net_requester.rbs +3 -1
  206. data/sig/terminal-shop/request_options.rbs +2 -2
  207. data/sig/terminal-shop/resources/address.rbs +22 -41
  208. data/sig/terminal-shop/resources/app.rbs +16 -34
  209. data/sig/terminal-shop/resources/card.rbs +18 -40
  210. data/sig/terminal-shop/resources/cart.rbs +22 -47
  211. data/sig/terminal-shop/resources/email.rbs +4 -8
  212. data/sig/terminal-shop/resources/order.rbs +13 -26
  213. data/sig/terminal-shop/resources/product.rbs +7 -16
  214. data/sig/terminal-shop/resources/profile.rbs +8 -16
  215. data/sig/terminal-shop/resources/subscription.rbs +21 -43
  216. data/sig/terminal-shop/resources/token.rbs +14 -32
  217. data/sig/terminal-shop/resources/view.rbs +3 -7
  218. data/sig/terminal-shop/util.rbs +5 -5
  219. data/sig/terminal-shop/version.rbs +1 -1
  220. metadata +2 -2
@@ -5,69 +5,48 @@ module TerminalShop
5
5
  class OrderAPI < TerminalShop::BaseModel
6
6
  # Unique object identifier. The format and length of IDs may change over time.
7
7
  sig { returns(String) }
8
- def id
9
- end
10
-
11
- sig { params(_: String).returns(String) }
12
- def id=(_)
13
- end
8
+ attr_accessor :id
14
9
 
15
10
  # The subtotal and shipping amounts of the order.
16
11
  sig { returns(TerminalShop::Models::OrderAPI::Amount) }
17
- def amount
18
- end
12
+ attr_reader :amount
19
13
 
20
- sig { params(_: TerminalShop::Models::OrderAPI::Amount).returns(TerminalShop::Models::OrderAPI::Amount) }
21
- def amount=(_)
22
- end
14
+ sig { params(amount: T.any(TerminalShop::Models::OrderAPI::Amount, TerminalShop::Util::AnyHash)).void }
15
+ attr_writer :amount
23
16
 
24
17
  # Items in the order.
25
18
  sig { returns(T::Array[TerminalShop::Models::OrderAPI::Item]) }
26
- def items
27
- end
28
-
29
- sig do
30
- params(_: T::Array[TerminalShop::Models::OrderAPI::Item])
31
- .returns(T::Array[TerminalShop::Models::OrderAPI::Item])
32
- end
33
- def items=(_)
34
- end
19
+ attr_accessor :items
35
20
 
36
21
  # Shipping address of the order.
37
22
  sig { returns(TerminalShop::Models::OrderAPI::Shipping) }
38
- def shipping
39
- end
23
+ attr_reader :shipping
40
24
 
41
- sig { params(_: TerminalShop::Models::OrderAPI::Shipping).returns(TerminalShop::Models::OrderAPI::Shipping) }
42
- def shipping=(_)
43
- end
25
+ sig { params(shipping: T.any(TerminalShop::Models::OrderAPI::Shipping, TerminalShop::Util::AnyHash)).void }
26
+ attr_writer :shipping
44
27
 
45
28
  # Tracking information of the order.
46
29
  sig { returns(TerminalShop::Models::OrderAPI::Tracking) }
47
- def tracking
48
- end
30
+ attr_reader :tracking
49
31
 
50
- sig { params(_: TerminalShop::Models::OrderAPI::Tracking).returns(TerminalShop::Models::OrderAPI::Tracking) }
51
- def tracking=(_)
52
- end
32
+ sig { params(tracking: T.any(TerminalShop::Models::OrderAPI::Tracking, TerminalShop::Util::AnyHash)).void }
33
+ attr_writer :tracking
53
34
 
54
35
  # Zero-based index of the order for this user only.
55
36
  sig { returns(T.nilable(Integer)) }
56
- def index
57
- end
37
+ attr_reader :index
58
38
 
59
- sig { params(_: Integer).returns(Integer) }
60
- def index=(_)
61
- end
39
+ sig { params(index: Integer).void }
40
+ attr_writer :index
62
41
 
63
42
  # An order from the Terminal shop.
64
43
  sig do
65
44
  params(
66
45
  id: String,
67
- amount: TerminalShop::Models::OrderAPI::Amount,
68
- items: T::Array[TerminalShop::Models::OrderAPI::Item],
69
- shipping: TerminalShop::Models::OrderAPI::Shipping,
70
- tracking: TerminalShop::Models::OrderAPI::Tracking,
46
+ amount: T.any(TerminalShop::Models::OrderAPI::Amount, TerminalShop::Util::AnyHash),
47
+ items: T::Array[T.any(TerminalShop::Models::OrderAPI::Item, TerminalShop::Util::AnyHash)],
48
+ shipping: T.any(TerminalShop::Models::OrderAPI::Shipping, TerminalShop::Util::AnyHash),
49
+ tracking: T.any(TerminalShop::Models::OrderAPI::Tracking, TerminalShop::Util::AnyHash),
71
50
  index: Integer
72
51
  )
73
52
  .returns(T.attached_class)
@@ -94,21 +73,11 @@ module TerminalShop
94
73
  class Amount < TerminalShop::BaseModel
95
74
  # Shipping amount of the order, in cents (USD).
96
75
  sig { returns(Integer) }
97
- def shipping
98
- end
99
-
100
- sig { params(_: Integer).returns(Integer) }
101
- def shipping=(_)
102
- end
76
+ attr_accessor :shipping
103
77
 
104
78
  # Subtotal amount of the order, in cents (USD).
105
79
  sig { returns(Integer) }
106
- def subtotal
107
- end
108
-
109
- sig { params(_: Integer).returns(Integer) }
110
- def subtotal=(_)
111
- end
80
+ attr_accessor :subtotal
112
81
 
113
82
  # The subtotal and shipping amounts of the order.
114
83
  sig { params(shipping: Integer, subtotal: Integer).returns(T.attached_class) }
@@ -123,48 +92,29 @@ module TerminalShop
123
92
  class Item < TerminalShop::BaseModel
124
93
  # Unique object identifier. The format and length of IDs may change over time.
125
94
  sig { returns(String) }
126
- def id
127
- end
128
-
129
- sig { params(_: String).returns(String) }
130
- def id=(_)
131
- end
95
+ attr_accessor :id
132
96
 
133
97
  # Amount of the item in the order, in cents (USD).
134
98
  sig { returns(Integer) }
135
- def amount
136
- end
137
-
138
- sig { params(_: Integer).returns(Integer) }
139
- def amount=(_)
140
- end
99
+ attr_accessor :amount
141
100
 
142
101
  # Quantity of the item in the order.
143
102
  sig { returns(Integer) }
144
- def quantity
145
- end
146
-
147
- sig { params(_: Integer).returns(Integer) }
148
- def quantity=(_)
149
- end
103
+ attr_accessor :quantity
150
104
 
151
105
  # Description of the item in the order.
152
106
  sig { returns(T.nilable(String)) }
153
- def description
154
- end
107
+ attr_reader :description
155
108
 
156
- sig { params(_: String).returns(String) }
157
- def description=(_)
158
- end
109
+ sig { params(description: String).void }
110
+ attr_writer :description
159
111
 
160
112
  # ID of the product variant of the item in the order.
161
113
  sig { returns(T.nilable(String)) }
162
- def product_variant_id
163
- end
114
+ attr_reader :product_variant_id
164
115
 
165
- sig { params(_: String).returns(String) }
166
- def product_variant_id=(_)
167
- end
116
+ sig { params(product_variant_id: String).void }
117
+ attr_writer :product_variant_id
168
118
 
169
119
  sig do
170
120
  params(
@@ -196,75 +146,44 @@ module TerminalShop
196
146
  class Shipping < TerminalShop::BaseModel
197
147
  # City of the address.
198
148
  sig { returns(String) }
199
- def city
200
- end
201
-
202
- sig { params(_: String).returns(String) }
203
- def city=(_)
204
- end
149
+ attr_accessor :city
205
150
 
206
151
  # ISO 3166-1 alpha-2 country code of the address.
207
152
  sig { returns(String) }
208
- def country
209
- end
210
-
211
- sig { params(_: String).returns(String) }
212
- def country=(_)
213
- end
153
+ attr_accessor :country
214
154
 
215
155
  # The recipient's name.
216
156
  sig { returns(String) }
217
- def name
218
- end
219
-
220
- sig { params(_: String).returns(String) }
221
- def name=(_)
222
- end
157
+ attr_accessor :name
223
158
 
224
159
  # Street of the address.
225
160
  sig { returns(String) }
226
- def street1
227
- end
228
-
229
- sig { params(_: String).returns(String) }
230
- def street1=(_)
231
- end
161
+ attr_accessor :street1
232
162
 
233
163
  # Zip code of the address.
234
164
  sig { returns(String) }
235
- def zip
236
- end
237
-
238
- sig { params(_: String).returns(String) }
239
- def zip=(_)
240
- end
165
+ attr_accessor :zip
241
166
 
242
167
  # Phone number of the recipient.
243
168
  sig { returns(T.nilable(String)) }
244
- def phone
245
- end
169
+ attr_reader :phone
246
170
 
247
- sig { params(_: String).returns(String) }
248
- def phone=(_)
249
- end
171
+ sig { params(phone: String).void }
172
+ attr_writer :phone
250
173
 
251
174
  # Province or state of the address.
252
175
  sig { returns(T.nilable(String)) }
253
- def province
254
- end
176
+ attr_reader :province
255
177
 
256
- sig { params(_: String).returns(String) }
257
- def province=(_)
258
- end
178
+ sig { params(province: String).void }
179
+ attr_writer :province
259
180
 
260
181
  # Apartment, suite, etc. of the address.
261
182
  sig { returns(T.nilable(String)) }
262
- def street2
263
- end
183
+ attr_reader :street2
264
184
 
265
- sig { params(_: String).returns(String) }
266
- def street2=(_)
267
- end
185
+ sig { params(street2: String).void }
186
+ attr_writer :street2
268
187
 
269
188
  # Shipping address of the order.
270
189
  sig do
@@ -305,30 +224,24 @@ module TerminalShop
305
224
  class Tracking < TerminalShop::BaseModel
306
225
  # Tracking number of the order.
307
226
  sig { returns(T.nilable(String)) }
308
- def number
309
- end
227
+ attr_reader :number
310
228
 
311
- sig { params(_: String).returns(String) }
312
- def number=(_)
313
- end
229
+ sig { params(number: String).void }
230
+ attr_writer :number
314
231
 
315
232
  # Shipping service of the order.
316
233
  sig { returns(T.nilable(String)) }
317
- def service
318
- end
234
+ attr_reader :service
319
235
 
320
- sig { params(_: String).returns(String) }
321
- def service=(_)
322
- end
236
+ sig { params(service: String).void }
237
+ attr_writer :service
323
238
 
324
239
  # Tracking URL of the order.
325
240
  sig { returns(T.nilable(String)) }
326
- def url
327
- end
241
+ attr_reader :url
328
242
 
329
- sig { params(_: String).returns(String) }
330
- def url=(_)
331
- end
243
+ sig { params(url: String).void }
244
+ attr_writer :url
332
245
 
333
246
  # Tracking information of the order.
334
247
  sig { params(number: String, service: String, url: String).returns(T.attached_class) }
@@ -8,37 +8,22 @@ module TerminalShop
8
8
 
9
9
  # Shipping address ID.
10
10
  sig { returns(String) }
11
- def address_id
12
- end
13
-
14
- sig { params(_: String).returns(String) }
15
- def address_id=(_)
16
- end
11
+ attr_accessor :address_id
17
12
 
18
13
  # Card ID.
19
14
  sig { returns(String) }
20
- def card_id
21
- end
22
-
23
- sig { params(_: String).returns(String) }
24
- def card_id=(_)
25
- end
15
+ attr_accessor :card_id
26
16
 
27
17
  # Product variants to include in the order, along with their quantities.
28
18
  sig { returns(T::Hash[Symbol, Integer]) }
29
- def variants
30
- end
31
-
32
- sig { params(_: T::Hash[Symbol, Integer]).returns(T::Hash[Symbol, Integer]) }
33
- def variants=(_)
34
- end
19
+ attr_accessor :variants
35
20
 
36
21
  sig do
37
22
  params(
38
23
  address_id: String,
39
24
  card_id: String,
40
25
  variants: T::Hash[Symbol, Integer],
41
- request_options: T.any(TerminalShop::RequestOptions, T::Hash[Symbol, T.anything])
26
+ request_options: T.any(TerminalShop::RequestOptions, TerminalShop::Util::AnyHash)
42
27
  )
43
28
  .returns(T.attached_class)
44
29
  end
@@ -5,12 +5,7 @@ module TerminalShop
5
5
  class OrderCreateResponse < TerminalShop::BaseModel
6
6
  # Order ID.
7
7
  sig { returns(String) }
8
- def data
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:)
@@ -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, T::Hash[Symbol, T.anything]))
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: {})
@@ -5,14 +5,12 @@ module TerminalShop
5
5
  class OrderGetResponse < TerminalShop::BaseModel
6
6
  # An order from the Terminal shop.
7
7
  sig { returns(TerminalShop::Models::OrderAPI) }
8
- def data
9
- end
8
+ attr_reader :data
10
9
 
11
- sig { params(_: TerminalShop::Models::OrderAPI).returns(TerminalShop::Models::OrderAPI) }
12
- def data=(_)
13
- end
10
+ sig { params(data: T.any(TerminalShop::Models::OrderAPI, TerminalShop::Util::AnyHash)).void }
11
+ attr_writer :data
14
12
 
15
- sig { params(data: TerminalShop::Models::OrderAPI).returns(T.attached_class) }
13
+ sig { params(data: T.any(TerminalShop::Models::OrderAPI, TerminalShop::Util::AnyHash)).returns(T.attached_class) }
16
14
  def self.new(data:)
17
15
  end
18
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, T::Hash[Symbol, T.anything]))
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: {})
@@ -5,14 +5,12 @@ module TerminalShop
5
5
  class OrderListResponse < TerminalShop::BaseModel
6
6
  # List of orders.
7
7
  sig { returns(T::Array[TerminalShop::Models::OrderAPI]) }
8
- def data
9
- end
8
+ attr_accessor :data
10
9
 
11
- sig { params(_: T::Array[TerminalShop::Models::OrderAPI]).returns(T::Array[TerminalShop::Models::OrderAPI]) }
12
- def data=(_)
10
+ sig do
11
+ params(data: T::Array[T.any(TerminalShop::Models::OrderAPI, TerminalShop::Util::AnyHash)])
12
+ .returns(T.attached_class)
13
13
  end
14
-
15
- sig { params(data: T::Array[TerminalShop::Models::OrderAPI]).returns(T.attached_class) }
16
14
  def self.new(data:)
17
15
  end
18
16
 
@@ -5,69 +5,40 @@ module TerminalShop
5
5
  class ProductAPI < TerminalShop::BaseModel
6
6
  # Unique object identifier. The format and length of IDs may change over time.
7
7
  sig { returns(String) }
8
- def id
9
- end
10
-
11
- sig { params(_: String).returns(String) }
12
- def id=(_)
13
- end
8
+ attr_accessor :id
14
9
 
15
10
  # Description of the product.
16
11
  sig { returns(String) }
17
- def description
18
- end
19
-
20
- sig { params(_: String).returns(String) }
21
- def description=(_)
22
- end
12
+ attr_accessor :description
23
13
 
24
14
  # Name of the product.
25
15
  sig { returns(String) }
26
- def name
27
- end
28
-
29
- sig { params(_: String).returns(String) }
30
- def name=(_)
31
- end
16
+ attr_accessor :name
32
17
 
33
18
  # List of variants of the product.
34
19
  sig { returns(T::Array[TerminalShop::Models::ProductVariant]) }
35
- def variants
36
- end
37
-
38
- sig do
39
- params(_: T::Array[TerminalShop::Models::ProductVariant])
40
- .returns(T::Array[TerminalShop::Models::ProductVariant])
41
- end
42
- def variants=(_)
43
- end
20
+ attr_accessor :variants
44
21
 
45
22
  # Order of the product used when displaying a sorted list of products.
46
23
  sig { returns(T.nilable(Integer)) }
47
- def order
48
- end
24
+ attr_reader :order
49
25
 
50
- sig { params(_: Integer).returns(Integer) }
51
- def order=(_)
52
- end
26
+ sig { params(order: Integer).void }
27
+ attr_writer :order
53
28
 
54
29
  # Whether the product must be or can be subscribed to.
55
- sig { returns(T.nilable(Symbol)) }
56
- def subscription
57
- end
30
+ sig { returns(T.nilable(TerminalShop::Models::ProductAPI::Subscription::TaggedSymbol)) }
31
+ attr_reader :subscription
58
32
 
59
- sig { params(_: Symbol).returns(Symbol) }
60
- def subscription=(_)
61
- end
33
+ sig { params(subscription: TerminalShop::Models::ProductAPI::Subscription::OrSymbol).void }
34
+ attr_writer :subscription
62
35
 
63
36
  # Tags for the product.
64
37
  sig { returns(T.nilable(TerminalShop::Models::ProductAPI::Tags)) }
65
- def tags
66
- end
38
+ attr_reader :tags
67
39
 
68
- sig { params(_: TerminalShop::Models::ProductAPI::Tags).returns(TerminalShop::Models::ProductAPI::Tags) }
69
- def tags=(_)
70
- end
40
+ sig { params(tags: T.any(TerminalShop::Models::ProductAPI::Tags, TerminalShop::Util::AnyHash)).void }
41
+ attr_writer :tags
71
42
 
72
43
  # Product sold in the Terminal shop.
73
44
  sig do
@@ -75,10 +46,10 @@ module TerminalShop
75
46
  id: String,
76
47
  description: String,
77
48
  name: String,
78
- variants: T::Array[TerminalShop::Models::ProductVariant],
49
+ variants: T::Array[T.any(TerminalShop::Models::ProductVariant, TerminalShop::Util::AnyHash)],
79
50
  order: Integer,
80
- subscription: Symbol,
81
- tags: TerminalShop::Models::ProductAPI::Tags
51
+ subscription: TerminalShop::Models::ProductAPI::Subscription::OrSymbol,
52
+ tags: T.any(TerminalShop::Models::ProductAPI::Tags, TerminalShop::Util::AnyHash)
82
53
  )
83
54
  .returns(T.attached_class)
84
55
  end
@@ -94,7 +65,7 @@ module TerminalShop
94
65
  name: String,
95
66
  variants: T::Array[TerminalShop::Models::ProductVariant],
96
67
  order: Integer,
97
- subscription: Symbol,
68
+ subscription: TerminalShop::Models::ProductAPI::Subscription::TaggedSymbol,
98
69
  tags: TerminalShop::Models::ProductAPI::Tags
99
70
  }
100
71
  )
@@ -103,55 +74,50 @@ module TerminalShop
103
74
  end
104
75
 
105
76
  # Whether the product must be or can be subscribed to.
106
- class Subscription < TerminalShop::Enum
107
- abstract!
77
+ module Subscription
78
+ extend TerminalShop::Enum
108
79
 
109
- Value = type_template(:out) { {fixed: Symbol} }
80
+ TaggedSymbol = T.type_alias { T.all(Symbol, TerminalShop::Models::ProductAPI::Subscription) }
81
+ OrSymbol = T.type_alias { T.any(Symbol, TerminalShop::Models::ProductAPI::Subscription::TaggedSymbol) }
110
82
 
111
- ALLOWED = :allowed
112
- REQUIRED = :required
83
+ ALLOWED = T.let(:allowed, TerminalShop::Models::ProductAPI::Subscription::TaggedSymbol)
84
+ REQUIRED = T.let(:required, TerminalShop::Models::ProductAPI::Subscription::TaggedSymbol)
85
+
86
+ sig { override.returns(T::Array[TerminalShop::Models::ProductAPI::Subscription::TaggedSymbol]) }
87
+ def self.values
88
+ end
113
89
  end
114
90
 
115
91
  class Tags < TerminalShop::BaseModel
116
92
  sig { returns(T.nilable(String)) }
117
- def app
118
- end
93
+ attr_reader :app
119
94
 
120
- sig { params(_: String).returns(String) }
121
- def app=(_)
122
- end
95
+ sig { params(app: String).void }
96
+ attr_writer :app
123
97
 
124
98
  sig { returns(T.nilable(String)) }
125
- def color
126
- end
99
+ attr_reader :color
127
100
 
128
- sig { params(_: String).returns(String) }
129
- def color=(_)
130
- end
101
+ sig { params(color: String).void }
102
+ attr_writer :color
131
103
 
132
104
  sig { returns(T.nilable(T::Boolean)) }
133
- def featured
134
- end
105
+ attr_reader :featured
135
106
 
136
- sig { params(_: T::Boolean).returns(T::Boolean) }
137
- def featured=(_)
138
- end
107
+ sig { params(featured: T::Boolean).void }
108
+ attr_writer :featured
139
109
 
140
110
  sig { returns(T.nilable(T::Boolean)) }
141
- def market_eu
142
- end
111
+ attr_reader :market_eu
143
112
 
144
- sig { params(_: T::Boolean).returns(T::Boolean) }
145
- def market_eu=(_)
146
- end
113
+ sig { params(market_eu: T::Boolean).void }
114
+ attr_writer :market_eu
147
115
 
148
116
  sig { returns(T.nilable(T::Boolean)) }
149
- def market_na
150
- end
117
+ attr_reader :market_na
151
118
 
152
- sig { params(_: T::Boolean).returns(T::Boolean) }
153
- def market_na=(_)
154
- end
119
+ sig { params(market_na: T::Boolean).void }
120
+ attr_writer :market_na
155
121
 
156
122
  # Tags for the product.
157
123
  sig do
@@ -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, T::Hash[Symbol, T.anything]))
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: {})
@@ -5,14 +5,15 @@ module TerminalShop
5
5
  class ProductGetResponse < TerminalShop::BaseModel
6
6
  # Product sold in the Terminal shop.
7
7
  sig { returns(TerminalShop::Models::ProductAPI) }
8
- def data
9
- end
8
+ attr_reader :data
10
9
 
11
- sig { params(_: TerminalShop::Models::ProductAPI).returns(TerminalShop::Models::ProductAPI) }
12
- def data=(_)
13
- end
10
+ sig { params(data: T.any(TerminalShop::Models::ProductAPI, TerminalShop::Util::AnyHash)).void }
11
+ attr_writer :data
14
12
 
15
- sig { params(data: TerminalShop::Models::ProductAPI).returns(T.attached_class) }
13
+ sig do
14
+ params(data: T.any(TerminalShop::Models::ProductAPI, TerminalShop::Util::AnyHash))
15
+ .returns(T.attached_class)
16
+ end
16
17
  def self.new(data:)
17
18
  end
18
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, T::Hash[Symbol, T.anything]))
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: {})
@@ -5,14 +5,12 @@ module TerminalShop
5
5
  class ProductListResponse < TerminalShop::BaseModel
6
6
  # A list of products.
7
7
  sig { returns(T::Array[TerminalShop::Models::ProductAPI]) }
8
- def data
9
- end
8
+ attr_accessor :data
10
9
 
11
- sig { params(_: T::Array[TerminalShop::Models::ProductAPI]).returns(T::Array[TerminalShop::Models::ProductAPI]) }
12
- def data=(_)
10
+ sig do
11
+ params(data: T::Array[T.any(TerminalShop::Models::ProductAPI, TerminalShop::Util::AnyHash)])
12
+ .returns(T.attached_class)
13
13
  end
14
-
15
- sig { params(data: T::Array[TerminalShop::Models::ProductAPI]).returns(T.attached_class) }
16
14
  def self.new(data:)
17
15
  end
18
16