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.
Files changed (299) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +16 -8
  3. data/lib/terminal-shop/client.rb +2 -1
  4. data/lib/terminal-shop/models/address_create_params.rb +1 -1
  5. data/lib/terminal-shop/models/address_delete_params.rb +1 -1
  6. data/lib/terminal-shop/models/address_get_params.rb +1 -1
  7. data/lib/terminal-shop/models/address_list_params.rb +1 -1
  8. data/lib/terminal-shop/models/app_create_params.rb +1 -1
  9. data/lib/terminal-shop/models/app_delete_params.rb +1 -1
  10. data/lib/terminal-shop/models/app_get_params.rb +1 -1
  11. data/lib/terminal-shop/models/app_list_params.rb +1 -1
  12. data/lib/terminal-shop/models/card_collect_params.rb +1 -1
  13. data/lib/terminal-shop/models/card_create_params.rb +1 -1
  14. data/lib/terminal-shop/models/card_delete_params.rb +1 -1
  15. data/lib/terminal-shop/models/card_get_params.rb +1 -1
  16. data/lib/terminal-shop/models/card_list_params.rb +1 -1
  17. data/lib/terminal-shop/models/cart_clear_params.rb +1 -1
  18. data/lib/terminal-shop/models/cart_convert_params.rb +1 -1
  19. data/lib/terminal-shop/models/cart_get_params.rb +1 -1
  20. data/lib/terminal-shop/models/cart_set_address_params.rb +1 -1
  21. data/lib/terminal-shop/models/cart_set_card_params.rb +1 -1
  22. data/lib/terminal-shop/models/cart_set_item_params.rb +1 -1
  23. data/lib/terminal-shop/models/email_create_params.rb +1 -1
  24. data/lib/terminal-shop/models/order_create_params.rb +1 -1
  25. data/lib/terminal-shop/models/order_get_params.rb +1 -1
  26. data/lib/terminal-shop/models/order_list_params.rb +1 -1
  27. data/lib/terminal-shop/models/product.rb +7 -3
  28. data/lib/terminal-shop/models/product_get_params.rb +1 -1
  29. data/lib/terminal-shop/models/product_list_params.rb +1 -1
  30. data/lib/terminal-shop/models/profile_me_params.rb +1 -1
  31. data/lib/terminal-shop/models/profile_update_params.rb +1 -1
  32. data/lib/terminal-shop/models/region.rb +7 -3
  33. data/lib/terminal-shop/models/subscription.rb +5 -7
  34. data/lib/terminal-shop/models/subscription_create_params.rb +1 -1
  35. data/lib/terminal-shop/models/subscription_delete_params.rb +1 -1
  36. data/lib/terminal-shop/models/subscription_get_params.rb +1 -1
  37. data/lib/terminal-shop/models/subscription_list_params.rb +1 -1
  38. data/lib/terminal-shop/models/token_create_params.rb +1 -1
  39. data/lib/terminal-shop/models/token_delete_params.rb +1 -1
  40. data/lib/terminal-shop/models/token_get_params.rb +1 -1
  41. data/lib/terminal-shop/models/token_list_params.rb +1 -1
  42. data/lib/terminal-shop/models/view_init_params.rb +1 -1
  43. data/lib/terminal-shop/request_options.rb +1 -34
  44. data/lib/terminal-shop/transport/base_client.rb +459 -0
  45. data/lib/terminal-shop/transport/pooled_net_requester.rb +182 -0
  46. data/lib/terminal-shop/type/array_of.rb +110 -0
  47. data/lib/terminal-shop/type/base_model.rb +362 -0
  48. data/lib/terminal-shop/type/base_page.rb +61 -0
  49. data/lib/terminal-shop/type/boolean_model.rb +52 -0
  50. data/lib/terminal-shop/type/converter.rb +217 -0
  51. data/lib/terminal-shop/type/enum.rb +101 -0
  52. data/lib/terminal-shop/type/hash_of.rb +136 -0
  53. data/lib/terminal-shop/type/request_parameters.rb +38 -0
  54. data/lib/terminal-shop/type/union.rb +183 -0
  55. data/lib/terminal-shop/type/unknown.rb +56 -0
  56. data/lib/terminal-shop/type.rb +23 -0
  57. data/lib/terminal-shop/util.rb +19 -12
  58. data/lib/terminal-shop/version.rb +1 -1
  59. data/lib/terminal-shop.rb +28 -5
  60. data/rbi/lib/terminal-shop/client.rbi +19 -31
  61. data/rbi/lib/terminal-shop/errors.rbi +7 -42
  62. data/rbi/lib/terminal-shop/models/address.rbi +15 -51
  63. data/rbi/lib/terminal-shop/models/address_create_params.rbi +27 -48
  64. data/rbi/lib/terminal-shop/models/address_create_response.rbi +1 -6
  65. data/rbi/lib/terminal-shop/models/address_delete_params.rbi +2 -2
  66. data/rbi/lib/terminal-shop/models/address_delete_response.rbi +1 -6
  67. data/rbi/lib/terminal-shop/models/address_get_params.rbi +2 -2
  68. data/rbi/lib/terminal-shop/models/address_get_response.rbi +7 -6
  69. data/rbi/lib/terminal-shop/models/address_list_params.rbi +2 -2
  70. data/rbi/lib/terminal-shop/models/address_list_response.rbi +4 -6
  71. data/rbi/lib/terminal-shop/models/app.rbi +4 -24
  72. data/rbi/lib/terminal-shop/models/app_create_params.rbi +4 -14
  73. data/rbi/lib/terminal-shop/models/app_create_response.rbi +8 -20
  74. data/rbi/lib/terminal-shop/models/app_delete_params.rbi +2 -2
  75. data/rbi/lib/terminal-shop/models/app_delete_response.rbi +1 -6
  76. data/rbi/lib/terminal-shop/models/app_get_params.rbi +2 -2
  77. data/rbi/lib/terminal-shop/models/app_get_response.rbi +4 -6
  78. data/rbi/lib/terminal-shop/models/app_list_params.rbi +2 -2
  79. data/rbi/lib/terminal-shop/models/app_list_response.rbi +4 -6
  80. data/rbi/lib/terminal-shop/models/card.rbi +14 -36
  81. data/rbi/lib/terminal-shop/models/card_collect_params.rbi +2 -2
  82. data/rbi/lib/terminal-shop/models/card_collect_response.rbi +7 -14
  83. data/rbi/lib/terminal-shop/models/card_create_params.rbi +3 -8
  84. data/rbi/lib/terminal-shop/models/card_create_response.rbi +1 -6
  85. data/rbi/lib/terminal-shop/models/card_delete_params.rbi +2 -2
  86. data/rbi/lib/terminal-shop/models/card_delete_response.rbi +1 -6
  87. data/rbi/lib/terminal-shop/models/card_get_params.rbi +2 -2
  88. data/rbi/lib/terminal-shop/models/card_get_response.rbi +4 -6
  89. data/rbi/lib/terminal-shop/models/card_list_params.rbi +2 -2
  90. data/rbi/lib/terminal-shop/models/card_list_response.rbi +4 -6
  91. data/rbi/lib/terminal-shop/models/cart.rbi +34 -88
  92. data/rbi/lib/terminal-shop/models/cart_clear_params.rbi +2 -2
  93. data/rbi/lib/terminal-shop/models/cart_clear_response.rbi +1 -6
  94. data/rbi/lib/terminal-shop/models/cart_convert_params.rbi +2 -2
  95. data/rbi/lib/terminal-shop/models/cart_convert_response.rbi +4 -6
  96. data/rbi/lib/terminal-shop/models/cart_get_params.rbi +2 -2
  97. data/rbi/lib/terminal-shop/models/cart_get_response.rbi +4 -6
  98. data/rbi/lib/terminal-shop/models/cart_set_address_params.rbi +3 -8
  99. data/rbi/lib/terminal-shop/models/cart_set_address_response.rbi +1 -6
  100. data/rbi/lib/terminal-shop/models/cart_set_card_params.rbi +3 -8
  101. data/rbi/lib/terminal-shop/models/cart_set_card_response.rbi +1 -6
  102. data/rbi/lib/terminal-shop/models/cart_set_item_params.rbi +4 -14
  103. data/rbi/lib/terminal-shop/models/cart_set_item_response.rbi +4 -6
  104. data/rbi/lib/terminal-shop/models/email_create_params.rbi +3 -8
  105. data/rbi/lib/terminal-shop/models/email_create_response.rbi +1 -6
  106. data/rbi/lib/terminal-shop/models/order.rbi +52 -139
  107. data/rbi/lib/terminal-shop/models/order_create_params.rbi +5 -20
  108. data/rbi/lib/terminal-shop/models/order_create_response.rbi +1 -6
  109. data/rbi/lib/terminal-shop/models/order_get_params.rbi +2 -2
  110. data/rbi/lib/terminal-shop/models/order_get_response.rbi +4 -6
  111. data/rbi/lib/terminal-shop/models/order_list_params.rbi +2 -2
  112. data/rbi/lib/terminal-shop/models/order_list_response.rbi +4 -6
  113. data/rbi/lib/terminal-shop/models/product.rbi +43 -77
  114. data/rbi/lib/terminal-shop/models/product_get_params.rbi +2 -2
  115. data/rbi/lib/terminal-shop/models/product_get_response.rbi +7 -6
  116. data/rbi/lib/terminal-shop/models/product_list_params.rbi +2 -2
  117. data/rbi/lib/terminal-shop/models/product_list_response.rbi +4 -6
  118. data/rbi/lib/terminal-shop/models/product_variant.rbi +3 -18
  119. data/rbi/lib/terminal-shop/models/profile.rbi +12 -36
  120. data/rbi/lib/terminal-shop/models/profile_me_params.rbi +2 -2
  121. data/rbi/lib/terminal-shop/models/profile_me_response.rbi +7 -6
  122. data/rbi/lib/terminal-shop/models/profile_update_params.rbi +4 -14
  123. data/rbi/lib/terminal-shop/models/profile_update_response.rbi +7 -6
  124. data/rbi/lib/terminal-shop/models/region.rbi +10 -5
  125. data/rbi/lib/terminal-shop/models/subscription.rbi +28 -75
  126. data/rbi/lib/terminal-shop/models/subscription_create_params.rbi +2 -2
  127. data/rbi/lib/terminal-shop/models/subscription_create_response.rbi +1 -6
  128. data/rbi/lib/terminal-shop/models/subscription_delete_params.rbi +2 -2
  129. data/rbi/lib/terminal-shop/models/subscription_delete_response.rbi +1 -6
  130. data/rbi/lib/terminal-shop/models/subscription_get_params.rbi +2 -2
  131. data/rbi/lib/terminal-shop/models/subscription_get_response.rbi +7 -6
  132. data/rbi/lib/terminal-shop/models/subscription_list_params.rbi +2 -2
  133. data/rbi/lib/terminal-shop/models/subscription_list_response.rbi +3 -8
  134. data/rbi/lib/terminal-shop/models/token.rbi +3 -18
  135. data/rbi/lib/terminal-shop/models/token_create_params.rbi +2 -2
  136. data/rbi/lib/terminal-shop/models/token_create_response.rbi +8 -20
  137. data/rbi/lib/terminal-shop/models/token_delete_params.rbi +2 -2
  138. data/rbi/lib/terminal-shop/models/token_delete_response.rbi +1 -6
  139. data/rbi/lib/terminal-shop/models/token_get_params.rbi +2 -2
  140. data/rbi/lib/terminal-shop/models/token_get_response.rbi +4 -6
  141. data/rbi/lib/terminal-shop/models/token_list_params.rbi +2 -2
  142. data/rbi/lib/terminal-shop/models/token_list_response.rbi +4 -6
  143. data/rbi/lib/terminal-shop/models/view_init_params.rbi +2 -2
  144. data/rbi/lib/terminal-shop/models/view_init_response.rbi +44 -82
  145. data/rbi/lib/terminal-shop/request_options.rbi +8 -67
  146. data/rbi/lib/terminal-shop/resources/address.rbi +4 -4
  147. data/rbi/lib/terminal-shop/resources/app.rbi +4 -4
  148. data/rbi/lib/terminal-shop/resources/card.rbi +5 -5
  149. data/rbi/lib/terminal-shop/resources/cart.rbi +6 -6
  150. data/rbi/lib/terminal-shop/resources/email.rbi +1 -1
  151. data/rbi/lib/terminal-shop/resources/order.rbi +3 -3
  152. data/rbi/lib/terminal-shop/resources/product.rbi +2 -2
  153. data/rbi/lib/terminal-shop/resources/profile.rbi +2 -2
  154. data/rbi/lib/terminal-shop/resources/subscription.rbi +5 -4
  155. data/rbi/lib/terminal-shop/resources/token.rbi +4 -4
  156. data/rbi/lib/terminal-shop/resources/view.rbi +1 -1
  157. data/rbi/lib/terminal-shop/transport/base_client.rbi +208 -0
  158. data/rbi/lib/terminal-shop/transport/pooled_net_requester.rbi +64 -0
  159. data/rbi/lib/terminal-shop/type/array_of.rbi +82 -0
  160. data/rbi/lib/terminal-shop/type/base_model.rbi +194 -0
  161. data/rbi/lib/terminal-shop/type/base_page.rbi +38 -0
  162. data/rbi/lib/terminal-shop/type/boolean_model.rbi +41 -0
  163. data/rbi/lib/terminal-shop/type/converter.rbi +101 -0
  164. data/rbi/lib/terminal-shop/type/enum.rbi +58 -0
  165. data/rbi/lib/terminal-shop/type/hash_of.rbi +85 -0
  166. data/rbi/lib/terminal-shop/type/request_parameters.rbi +20 -0
  167. data/rbi/lib/terminal-shop/type/union.rbi +68 -0
  168. data/rbi/lib/terminal-shop/type/unknown.rbi +37 -0
  169. data/rbi/lib/terminal-shop/type.rbi +23 -0
  170. data/rbi/lib/terminal-shop/util.rbi +24 -13
  171. data/rbi/lib/terminal-shop/version.rbi +1 -1
  172. data/sig/terminal-shop/client.rbs +9 -9
  173. data/sig/terminal-shop/errors.rbs +17 -17
  174. data/sig/terminal-shop/models/address.rbs +11 -15
  175. data/sig/terminal-shop/models/address_create_params.rbs +12 -17
  176. data/sig/terminal-shop/models/address_create_response.rbs +1 -6
  177. data/sig/terminal-shop/models/address_delete_params.rbs +2 -7
  178. data/sig/terminal-shop/models/address_delete_response.rbs +1 -6
  179. data/sig/terminal-shop/models/address_get_params.rbs +2 -7
  180. data/sig/terminal-shop/models/address_get_response.rbs +1 -6
  181. data/sig/terminal-shop/models/address_list_params.rbs +2 -7
  182. data/sig/terminal-shop/models/address_list_response.rbs +1 -6
  183. data/sig/terminal-shop/models/app.rbs +6 -5
  184. data/sig/terminal-shop/models/app_create_params.rbs +6 -11
  185. data/sig/terminal-shop/models/app_create_response.rbs +4 -12
  186. data/sig/terminal-shop/models/app_delete_params.rbs +2 -7
  187. data/sig/terminal-shop/models/app_delete_response.rbs +1 -6
  188. data/sig/terminal-shop/models/app_get_params.rbs +2 -6
  189. data/sig/terminal-shop/models/app_get_response.rbs +1 -5
  190. data/sig/terminal-shop/models/app_list_params.rbs +2 -6
  191. data/sig/terminal-shop/models/app_list_response.rbs +1 -6
  192. data/sig/terminal-shop/models/card.rbs +7 -16
  193. data/sig/terminal-shop/models/card_collect_params.rbs +2 -7
  194. data/sig/terminal-shop/models/card_collect_response.rbs +4 -12
  195. data/sig/terminal-shop/models/card_create_params.rbs +5 -7
  196. data/sig/terminal-shop/models/card_create_response.rbs +1 -6
  197. data/sig/terminal-shop/models/card_delete_params.rbs +2 -7
  198. data/sig/terminal-shop/models/card_delete_response.rbs +1 -6
  199. data/sig/terminal-shop/models/card_get_params.rbs +2 -6
  200. data/sig/terminal-shop/models/card_get_response.rbs +1 -6
  201. data/sig/terminal-shop/models/card_list_params.rbs +2 -6
  202. data/sig/terminal-shop/models/card_list_response.rbs +1 -6
  203. data/sig/terminal-shop/models/cart.rbs +20 -34
  204. data/sig/terminal-shop/models/cart_clear_params.rbs +2 -7
  205. data/sig/terminal-shop/models/cart_clear_response.rbs +1 -6
  206. data/sig/terminal-shop/models/cart_convert_params.rbs +2 -7
  207. data/sig/terminal-shop/models/cart_convert_response.rbs +1 -6
  208. data/sig/terminal-shop/models/cart_get_params.rbs +2 -6
  209. data/sig/terminal-shop/models/cart_get_response.rbs +1 -6
  210. data/sig/terminal-shop/models/cart_set_address_params.rbs +5 -10
  211. data/sig/terminal-shop/models/cart_set_address_response.rbs +1 -6
  212. data/sig/terminal-shop/models/cart_set_card_params.rbs +5 -7
  213. data/sig/terminal-shop/models/cart_set_card_response.rbs +1 -6
  214. data/sig/terminal-shop/models/cart_set_item_params.rbs +6 -11
  215. data/sig/terminal-shop/models/cart_set_item_response.rbs +1 -6
  216. data/sig/terminal-shop/models/email_create_params.rbs +5 -7
  217. data/sig/terminal-shop/models/email_create_response.rbs +1 -6
  218. data/sig/terminal-shop/models/order.rbs +31 -50
  219. data/sig/terminal-shop/models/order_create_params.rbs +7 -12
  220. data/sig/terminal-shop/models/order_create_response.rbs +1 -6
  221. data/sig/terminal-shop/models/order_get_params.rbs +2 -6
  222. data/sig/terminal-shop/models/order_get_response.rbs +1 -6
  223. data/sig/terminal-shop/models/order_list_params.rbs +2 -7
  224. data/sig/terminal-shop/models/order_list_response.rbs +1 -6
  225. data/sig/terminal-shop/models/product.rbs +20 -27
  226. data/sig/terminal-shop/models/product_get_params.rbs +2 -7
  227. data/sig/terminal-shop/models/product_get_response.rbs +1 -6
  228. data/sig/terminal-shop/models/product_list_params.rbs +2 -7
  229. data/sig/terminal-shop/models/product_list_response.rbs +1 -6
  230. data/sig/terminal-shop/models/product_variant.rbs +1 -5
  231. data/sig/terminal-shop/models/profile.rbs +8 -17
  232. data/sig/terminal-shop/models/profile_me_params.rbs +2 -7
  233. data/sig/terminal-shop/models/profile_me_response.rbs +1 -6
  234. data/sig/terminal-shop/models/profile_update_params.rbs +6 -11
  235. data/sig/terminal-shop/models/profile_update_response.rbs +1 -6
  236. data/sig/terminal-shop/models/region.rbs +4 -2
  237. data/sig/terminal-shop/models/subscription.rbs +15 -27
  238. data/sig/terminal-shop/models/subscription_create_params.rbs +2 -7
  239. data/sig/terminal-shop/models/subscription_create_response.rbs +1 -6
  240. data/sig/terminal-shop/models/subscription_delete_params.rbs +2 -7
  241. data/sig/terminal-shop/models/subscription_delete_response.rbs +1 -6
  242. data/sig/terminal-shop/models/subscription_get_params.rbs +2 -7
  243. data/sig/terminal-shop/models/subscription_get_response.rbs +1 -6
  244. data/sig/terminal-shop/models/subscription_list_params.rbs +2 -7
  245. data/sig/terminal-shop/models/subscription_list_response.rbs +3 -6
  246. data/sig/terminal-shop/models/token.rbs +1 -5
  247. data/sig/terminal-shop/models/token_create_params.rbs +2 -7
  248. data/sig/terminal-shop/models/token_create_response.rbs +4 -12
  249. data/sig/terminal-shop/models/token_delete_params.rbs +2 -7
  250. data/sig/terminal-shop/models/token_delete_response.rbs +1 -6
  251. data/sig/terminal-shop/models/token_get_params.rbs +2 -6
  252. data/sig/terminal-shop/models/token_get_response.rbs +1 -6
  253. data/sig/terminal-shop/models/token_list_params.rbs +2 -7
  254. data/sig/terminal-shop/models/token_list_response.rbs +1 -6
  255. data/sig/terminal-shop/models/view_init_params.rbs +2 -6
  256. data/sig/terminal-shop/models/view_init_response.rbs +15 -23
  257. data/sig/terminal-shop/request_options.rbs +2 -12
  258. data/sig/terminal-shop/resources/address.rbs +22 -41
  259. data/sig/terminal-shop/resources/app.rbs +16 -34
  260. data/sig/terminal-shop/resources/card.rbs +18 -40
  261. data/sig/terminal-shop/resources/cart.rbs +22 -47
  262. data/sig/terminal-shop/resources/email.rbs +4 -8
  263. data/sig/terminal-shop/resources/order.rbs +13 -26
  264. data/sig/terminal-shop/resources/product.rbs +7 -16
  265. data/sig/terminal-shop/resources/profile.rbs +8 -16
  266. data/sig/terminal-shop/resources/subscription.rbs +21 -43
  267. data/sig/terminal-shop/resources/token.rbs +14 -32
  268. data/sig/terminal-shop/resources/view.rbs +3 -7
  269. data/sig/terminal-shop/transport/base_client.rbs +110 -0
  270. data/sig/terminal-shop/transport/pooled_net_requester.rbs +39 -0
  271. data/sig/terminal-shop/type/array_of.rbs +36 -0
  272. data/sig/terminal-shop/type/base_model.rbs +73 -0
  273. data/sig/terminal-shop/type/base_page.rbs +22 -0
  274. data/sig/terminal-shop/type/boolean_model.rbs +18 -0
  275. data/sig/terminal-shop/type/converter.rbs +42 -0
  276. data/sig/terminal-shop/type/enum.rbs +22 -0
  277. data/sig/terminal-shop/type/hash_of.rbs +36 -0
  278. data/sig/terminal-shop/type/request_parameters.rbs +13 -0
  279. data/sig/terminal-shop/type/union.rbs +40 -0
  280. data/sig/terminal-shop/type/unknown.rbs +18 -0
  281. data/sig/terminal-shop/type.rbs +22 -0
  282. data/sig/terminal-shop/util.rbs +5 -5
  283. data/sig/terminal-shop/version.rbs +1 -1
  284. metadata +41 -17
  285. data/lib/terminal-shop/base_client.rb +0 -456
  286. data/lib/terminal-shop/base_model.rb +0 -1188
  287. data/lib/terminal-shop/base_page.rb +0 -60
  288. data/lib/terminal-shop/extern.rb +0 -7
  289. data/lib/terminal-shop/pooled_net_requester.rb +0 -169
  290. data/rbi/lib/terminal-shop/base_client.rbi +0 -198
  291. data/rbi/lib/terminal-shop/base_model.rbi +0 -622
  292. data/rbi/lib/terminal-shop/base_page.rbi +0 -38
  293. data/rbi/lib/terminal-shop/extern.rbi +0 -7
  294. data/rbi/lib/terminal-shop/pooled_net_requester.rbi +0 -48
  295. data/sig/terminal-shop/base_client.rbs +0 -108
  296. data/sig/terminal-shop/base_model.rbs +0 -246
  297. data/sig/terminal-shop/base_page.rbs +0 -20
  298. data/sig/terminal-shop/extern.rbs +0 -4
  299. data/sig/terminal-shop/pooled_net_requester.rbs +0 -35
@@ -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
 
@@ -5,30 +5,15 @@ module TerminalShop
5
5
  class ProductVariant < 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
  # Name of the product variant.
16
11
  sig { returns(String) }
17
- def name
18
- end
19
-
20
- sig { params(_: String).returns(String) }
21
- def name=(_)
22
- end
12
+ attr_accessor :name
23
13
 
24
14
  # Price of the product variant in cents (USD).
25
15
  sig { returns(Integer) }
26
- def price
27
- end
28
-
29
- sig { params(_: Integer).returns(Integer) }
30
- def price=(_)
31
- end
16
+ attr_accessor :price
32
17
 
33
18
  # Variant of a product in the Terminal shop.
34
19
  sig { params(id: String, name: String, price: Integer).returns(T.attached_class) }
@@ -5,15 +5,16 @@ module TerminalShop
5
5
  class ProfileAPI < TerminalShop::BaseModel
6
6
  # A Terminal shop user. (We have users, btw.)
7
7
  sig { returns(TerminalShop::Models::ProfileAPI::User) }
8
- def user
9
- end
8
+ attr_reader :user
10
9
 
11
- sig { params(_: TerminalShop::Models::ProfileAPI::User).returns(TerminalShop::Models::ProfileAPI::User) }
12
- def user=(_)
13
- end
10
+ sig { params(user: T.any(TerminalShop::Models::ProfileAPI::User, TerminalShop::Util::AnyHash)).void }
11
+ attr_writer :user
14
12
 
15
13
  # A Terminal shop user's profile. (We have users, btw.)
16
- sig { params(user: TerminalShop::Models::ProfileAPI::User).returns(T.attached_class) }
14
+ sig do
15
+ params(user: T.any(TerminalShop::Models::ProfileAPI::User, TerminalShop::Util::AnyHash))
16
+ .returns(T.attached_class)
17
+ end
17
18
  def self.new(user:)
18
19
  end
19
20
 
@@ -24,48 +25,23 @@ module TerminalShop
24
25
  class User < TerminalShop::BaseModel
25
26
  # Unique object identifier. The format and length of IDs may change over time.
26
27
  sig { returns(String) }
27
- def id
28
- end
29
-
30
- sig { params(_: String).returns(String) }
31
- def id=(_)
32
- end
28
+ attr_accessor :id
33
29
 
34
30
  # Email address of the user.
35
31
  sig { returns(T.nilable(String)) }
36
- def email
37
- end
38
-
39
- sig { params(_: T.nilable(String)).returns(T.nilable(String)) }
40
- def email=(_)
41
- end
32
+ attr_accessor :email
42
33
 
43
34
  # The user's fingerprint, derived from their public SSH key.
44
35
  sig { returns(T.nilable(String)) }
45
- def fingerprint
46
- end
47
-
48
- sig { params(_: T.nilable(String)).returns(T.nilable(String)) }
49
- def fingerprint=(_)
50
- end
36
+ attr_accessor :fingerprint
51
37
 
52
38
  # Name of the user.
53
39
  sig { returns(T.nilable(String)) }
54
- def name
55
- end
56
-
57
- sig { params(_: T.nilable(String)).returns(T.nilable(String)) }
58
- def name=(_)
59
- end
40
+ attr_accessor :name
60
41
 
61
42
  # Stripe customer ID of the user.
62
43
  sig { returns(String) }
63
- def stripe_customer_id
64
- end
65
-
66
- sig { params(_: String).returns(String) }
67
- def stripe_customer_id=(_)
68
- end
44
+ attr_accessor :stripe_customer_id
69
45
 
70
46
  # A Terminal shop user. (We have users, btw.)
71
47
  sig do
@@ -3,11 +3,11 @@
3
3
  module TerminalShop
4
4
  module Models
5
5
  class ProfileMeParams < 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, 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 ProfileMeResponse < TerminalShop::BaseModel
6
6
  # A Terminal shop user's profile. (We have users, btw.)
7
7
  sig { returns(TerminalShop::Models::ProfileAPI) }
8
- def data
9
- end
8
+ attr_reader :data
10
9
 
11
- sig { params(_: TerminalShop::Models::ProfileAPI).returns(TerminalShop::Models::ProfileAPI) }
12
- def data=(_)
13
- end
10
+ sig { params(data: T.any(TerminalShop::Models::ProfileAPI, TerminalShop::Util::AnyHash)).void }
11
+ attr_writer :data
14
12
 
15
- sig { params(data: TerminalShop::Models::ProfileAPI).returns(T.attached_class) }
13
+ sig do
14
+ params(data: T.any(TerminalShop::Models::ProfileAPI, TerminalShop::Util::AnyHash))
15
+ .returns(T.attached_class)
16
+ end
16
17
  def self.new(data:)
17
18
  end
18
19
 
@@ -3,30 +3,20 @@
3
3
  module TerminalShop
4
4
  module Models
5
5
  class ProfileUpdateParams < TerminalShop::BaseModel
6
- extend TerminalShop::RequestParameters::Converter
6
+ extend TerminalShop::Type::RequestParameters::Converter
7
7
  include TerminalShop::RequestParameters
8
8
 
9
9
  sig { returns(String) }
10
- def email
11
- end
12
-
13
- sig { params(_: String).returns(String) }
14
- def email=(_)
15
- end
10
+ attr_accessor :email
16
11
 
17
12
  sig { returns(String) }
18
- def name
19
- end
20
-
21
- sig { params(_: String).returns(String) }
22
- def name=(_)
23
- end
13
+ attr_accessor :name
24
14
 
25
15
  sig do
26
16
  params(
27
17
  email: String,
28
18
  name: String,
29
- request_options: T.any(TerminalShop::RequestOptions, T::Hash[Symbol, T.anything])
19
+ request_options: T.any(TerminalShop::RequestOptions, TerminalShop::Util::AnyHash)
30
20
  )
31
21
  .returns(T.attached_class)
32
22
  end
@@ -5,14 +5,15 @@ module TerminalShop
5
5
  class ProfileUpdateResponse < TerminalShop::BaseModel
6
6
  # A Terminal shop user's profile. (We have users, btw.)
7
7
  sig { returns(TerminalShop::Models::ProfileAPI) }
8
- def data
9
- end
8
+ attr_reader :data
10
9
 
11
- sig { params(_: TerminalShop::Models::ProfileAPI).returns(TerminalShop::Models::ProfileAPI) }
12
- def data=(_)
13
- end
10
+ sig { params(data: T.any(TerminalShop::Models::ProfileAPI, TerminalShop::Util::AnyHash)).void }
11
+ attr_writer :data
14
12
 
15
- sig { params(data: TerminalShop::Models::ProfileAPI).returns(T.attached_class) }
13
+ sig do
14
+ params(data: T.any(TerminalShop::Models::ProfileAPI, TerminalShop::Util::AnyHash))
15
+ .returns(T.attached_class)
16
+ end
16
17
  def self.new(data:)
17
18
  end
18
19
 
@@ -3,13 +3,18 @@
3
3
  module TerminalShop
4
4
  module Models
5
5
  # A Terminal shop user's region.
6
- class Region < TerminalShop::Enum
7
- abstract!
6
+ module Region
7
+ extend TerminalShop::Enum
8
8
 
9
- Value = type_template(:out) { {fixed: Symbol} }
9
+ TaggedSymbol = T.type_alias { T.all(Symbol, TerminalShop::Models::Region) }
10
+ OrSymbol = T.type_alias { T.any(Symbol, TerminalShop::Models::Region::TaggedSymbol) }
10
11
 
11
- EU = :eu
12
- NA = :na
12
+ EU = T.let(:eu, TerminalShop::Models::Region::TaggedSymbol)
13
+ NA = T.let(:na, TerminalShop::Models::Region::TaggedSymbol)
14
+
15
+ sig { override.returns(T::Array[TerminalShop::Models::Region::TaggedSymbol]) }
16
+ def self.values
17
+ end
13
18
  end
14
19
  end
15
20
  end
@@ -5,57 +5,30 @@ module TerminalShop
5
5
  class SubscriptionAPI < 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
  # ID of the shipping address used for the subscription.
16
11
  sig { returns(String) }
17
- def address_id
18
- end
19
-
20
- sig { params(_: String).returns(String) }
21
- def address_id=(_)
22
- end
12
+ attr_accessor :address_id
23
13
 
24
14
  # ID of the card used for the subscription.
25
15
  sig { returns(String) }
26
- def card_id
27
- end
28
-
29
- sig { params(_: String).returns(String) }
30
- def card_id=(_)
31
- end
16
+ attr_accessor :card_id
32
17
 
33
18
  # ID of the product variant being subscribed to.
34
19
  sig { returns(String) }
35
- def product_variant_id
36
- end
37
-
38
- sig { params(_: String).returns(String) }
39
- def product_variant_id=(_)
40
- end
20
+ attr_accessor :product_variant_id
41
21
 
42
22
  # Quantity of the subscription.
43
23
  sig { returns(Integer) }
44
- def quantity
45
- end
46
-
47
- sig { params(_: Integer).returns(Integer) }
48
- def quantity=(_)
49
- end
24
+ attr_accessor :quantity
50
25
 
51
26
  # Next shipment and billing date for the subscription.
52
27
  sig { returns(T.nilable(String)) }
53
- def next_
54
- end
28
+ attr_reader :next_
55
29
 
56
- sig { params(_: String).returns(String) }
57
- def next_=(_)
58
- end
30
+ sig { params(next_: String).void }
31
+ attr_writer :next_
59
32
 
60
33
  # Schedule of the subscription.
61
34
  sig do
@@ -68,25 +41,19 @@ module TerminalShop
68
41
  )
69
42
  )
70
43
  end
71
- def schedule
72
- end
44
+ attr_reader :schedule
73
45
 
74
46
  sig do
75
47
  params(
76
- _: T.any(
48
+ schedule: T.any(
77
49
  TerminalShop::Models::SubscriptionAPI::Schedule::Fixed,
50
+ TerminalShop::Util::AnyHash,
78
51
  TerminalShop::Models::SubscriptionAPI::Schedule::Weekly
79
52
  )
80
53
  )
81
- .returns(
82
- T.any(
83
- TerminalShop::Models::SubscriptionAPI::Schedule::Fixed,
84
- TerminalShop::Models::SubscriptionAPI::Schedule::Weekly
85
- )
86
- )
87
- end
88
- def schedule=(_)
54
+ .void
89
55
  end
56
+ attr_writer :schedule
90
57
 
91
58
  # Subscription to a Terminal shop product.
92
59
  sig do
@@ -99,6 +66,7 @@ module TerminalShop
99
66
  next_: String,
100
67
  schedule: T.any(
101
68
  TerminalShop::Models::SubscriptionAPI::Schedule::Fixed,
69
+ TerminalShop::Util::AnyHash,
102
70
  TerminalShop::Models::SubscriptionAPI::Schedule::Weekly
103
71
  )
104
72
  )
@@ -128,26 +96,12 @@ module TerminalShop
128
96
  end
129
97
 
130
98
  # Schedule of the subscription.
131
- class Schedule < TerminalShop::Union
132
- abstract!
133
-
134
- Variants = type_template(:out) do
135
- {
136
- fixed: T.any(
137
- TerminalShop::Models::SubscriptionAPI::Schedule::Fixed,
138
- TerminalShop::Models::SubscriptionAPI::Schedule::Weekly
139
- )
140
- }
141
- end
99
+ module Schedule
100
+ extend TerminalShop::Union
142
101
 
143
102
  class Fixed < TerminalShop::BaseModel
144
103
  sig { returns(Symbol) }
145
- def type
146
- end
147
-
148
- sig { params(_: Symbol).returns(Symbol) }
149
- def type=(_)
150
- end
104
+ attr_accessor :type
151
105
 
152
106
  sig { params(type: Symbol).returns(T.attached_class) }
153
107
  def self.new(type: :fixed)
@@ -160,20 +114,10 @@ module TerminalShop
160
114
 
161
115
  class Weekly < TerminalShop::BaseModel
162
116
  sig { returns(Integer) }
163
- def interval
164
- end
165
-
166
- sig { params(_: Integer).returns(Integer) }
167
- def interval=(_)
168
- end
117
+ attr_accessor :interval
169
118
 
170
119
  sig { returns(Symbol) }
171
- def type
172
- end
173
-
174
- sig { params(_: Symbol).returns(Symbol) }
175
- def type=(_)
176
- end
120
+ attr_accessor :type
177
121
 
178
122
  sig { params(interval: Integer, type: Symbol).returns(T.attached_class) }
179
123
  def self.new(interval:, type: :weekly)
@@ -183,6 +127,15 @@ module TerminalShop
183
127
  def to_hash
184
128
  end
185
129
  end
130
+
131
+ sig do
132
+ override
133
+ .returns(
134
+ [TerminalShop::Models::SubscriptionAPI::Schedule::Fixed, TerminalShop::Models::SubscriptionAPI::Schedule::Weekly]
135
+ )
136
+ end
137
+ def self.variants
138
+ end
186
139
  end
187
140
  end
188
141
  end
@@ -3,11 +3,11 @@
3
3
  module TerminalShop
4
4
  module Models
5
5
  class SubscriptionCreateParams < TerminalShop::Models::SubscriptionAPI
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, 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: {})
@@ -4,12 +4,7 @@ module TerminalShop
4
4
  module Models
5
5
  class SubscriptionCreateResponse < TerminalShop::BaseModel
6
6
  sig { returns(Symbol) }
7
- def data
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 SubscriptionDeleteParams < 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, 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: {})
@@ -4,12 +4,7 @@ module TerminalShop
4
4
  module Models
5
5
  class SubscriptionDeleteResponse < TerminalShop::BaseModel
6
6
  sig { returns(Symbol) }
7
- def data
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 SubscriptionGetParams < 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, 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 SubscriptionGetResponse < TerminalShop::BaseModel
6
6
  # Subscription to a Terminal shop product.
7
7
  sig { returns(TerminalShop::Models::SubscriptionAPI) }
8
- def data
9
- end
8
+ attr_reader :data
10
9
 
11
- sig { params(_: TerminalShop::Models::SubscriptionAPI).returns(TerminalShop::Models::SubscriptionAPI) }
12
- def data=(_)
13
- end
10
+ sig { params(data: T.any(TerminalShop::Models::SubscriptionAPI, TerminalShop::Util::AnyHash)).void }
11
+ attr_writer :data
14
12
 
15
- sig { params(data: TerminalShop::Models::SubscriptionAPI).returns(T.attached_class) }
13
+ sig do
14
+ params(data: T.any(TerminalShop::Models::SubscriptionAPI, TerminalShop::Util::AnyHash))
15
+ .returns(T.attached_class)
16
+ end
16
17
  def self.new(data:)
17
18
  end
18
19
 
@@ -3,11 +3,11 @@
3
3
  module TerminalShop
4
4
  module Models
5
5
  class SubscriptionListParams < 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, 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,17 +5,12 @@ module TerminalShop
5
5
  class SubscriptionListResponse < TerminalShop::BaseModel
6
6
  # List of subscriptions.
7
7
  sig { returns(T::Array[TerminalShop::Models::SubscriptionAPI]) }
8
- def data
9
- end
8
+ attr_accessor :data
10
9
 
11
10
  sig do
12
- params(_: T::Array[TerminalShop::Models::SubscriptionAPI])
13
- .returns(T::Array[TerminalShop::Models::SubscriptionAPI])
14
- end
15
- def data=(_)
11
+ params(data: T::Array[T.any(TerminalShop::Models::SubscriptionAPI, TerminalShop::Util::AnyHash)])
12
+ .returns(T.attached_class)
16
13
  end
17
-
18
- sig { params(data: T::Array[TerminalShop::Models::SubscriptionAPI]).returns(T.attached_class) }
19
14
  def self.new(data:)
20
15
  end
21
16
 
@@ -5,30 +5,15 @@ module TerminalShop
5
5
  class TokenAPI < 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
  # Personal access token (obfuscated).
16
11
  sig { returns(String) }
17
- def token
18
- end
19
-
20
- sig { params(_: String).returns(String) }
21
- def token=(_)
22
- end
12
+ attr_accessor :token
23
13
 
24
14
  # The created time for the token.
25
15
  sig { returns(String) }
26
- def created
27
- end
28
-
29
- sig { params(_: String).returns(String) }
30
- def created=(_)
31
- end
16
+ attr_accessor :created
32
17
 
33
18
  # A personal access token used to access the Terminal API. If you leak this,
34
19
  # expect large sums of coffee to be ordered on your credit card.
@@ -3,11 +3,11 @@
3
3
  module TerminalShop
4
4
  module Models
5
5
  class TokenCreateParams < 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, 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: {})
@@ -4,17 +4,15 @@ module TerminalShop
4
4
  module Models
5
5
  class TokenCreateResponse < TerminalShop::BaseModel
6
6
  sig { returns(TerminalShop::Models::TokenCreateResponse::Data) }
7
- def data
8
- end
7
+ attr_reader :data
8
+
9
+ sig { params(data: T.any(TerminalShop::Models::TokenCreateResponse::Data, TerminalShop::Util::AnyHash)).void }
10
+ attr_writer :data
9
11
 
10
12
  sig do
11
- params(_: TerminalShop::Models::TokenCreateResponse::Data)
12
- .returns(TerminalShop::Models::TokenCreateResponse::Data)
13
- end
14
- def data=(_)
13
+ params(data: T.any(TerminalShop::Models::TokenCreateResponse::Data, TerminalShop::Util::AnyHash))
14
+ .returns(T.attached_class)
15
15
  end
16
-
17
- sig { params(data: TerminalShop::Models::TokenCreateResponse::Data).returns(T.attached_class) }
18
16
  def self.new(data:)
19
17
  end
20
18
 
@@ -25,22 +23,12 @@ module TerminalShop
25
23
  class Data < TerminalShop::BaseModel
26
24
  # Personal token ID.
27
25
  sig { returns(String) }
28
- def id
29
- end
30
-
31
- sig { params(_: String).returns(String) }
32
- def id=(_)
33
- end
26
+ attr_accessor :id
34
27
 
35
28
  # Personal access token. Include this in the Authorization header
36
29
  # (`Bearer <token>`) when accessing the Terminal API.
37
30
  sig { returns(String) }
38
- def token
39
- end
40
-
41
- sig { params(_: String).returns(String) }
42
- def token=(_)
43
- end
31
+ attr_accessor :token
44
32
 
45
33
  sig { params(id: String, token: String).returns(T.attached_class) }
46
34
  def self.new(id:, token:)
@@ -3,11 +3,11 @@
3
3
  module TerminalShop
4
4
  module Models
5
5
  class TokenDeleteParams < 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, 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: {})