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.
Files changed (276) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +127 -0
  3. data/lib/terminal-shop/base_client.rb +452 -0
  4. data/lib/terminal-shop/base_model.rb +1189 -0
  5. data/lib/terminal-shop/base_page.rb +44 -0
  6. data/lib/terminal-shop/client.rb +135 -0
  7. data/lib/terminal-shop/errors.rb +187 -0
  8. data/lib/terminal-shop/extern.rb +10 -0
  9. data/lib/terminal-shop/models/address.rb +101 -0
  10. data/lib/terminal-shop/models/address_create_params.rb +86 -0
  11. data/lib/terminal-shop/models/address_create_response.rb +26 -0
  12. data/lib/terminal-shop/models/address_delete_params.rb +18 -0
  13. data/lib/terminal-shop/models/address_delete_response.rb +25 -0
  14. data/lib/terminal-shop/models/address_list_params.rb +18 -0
  15. data/lib/terminal-shop/models/address_list_response.rb +26 -0
  16. data/lib/terminal-shop/models/app.rb +44 -0
  17. data/lib/terminal-shop/models/app_create_params.rb +18 -0
  18. data/lib/terminal-shop/models/app_create_response.rb +54 -0
  19. data/lib/terminal-shop/models/app_delete_params.rb +18 -0
  20. data/lib/terminal-shop/models/app_delete_response.rb +25 -0
  21. data/lib/terminal-shop/models/app_get_params.rb +18 -0
  22. data/lib/terminal-shop/models/app_get_response.rb +26 -0
  23. data/lib/terminal-shop/models/app_list_params.rb +18 -0
  24. data/lib/terminal-shop/models/app_list_response.rb +26 -0
  25. data/lib/terminal-shop/models/card.rb +83 -0
  26. data/lib/terminal-shop/models/card_collect_params.rb +18 -0
  27. data/lib/terminal-shop/models/card_collect_response.rb +50 -0
  28. data/lib/terminal-shop/models/card_create_params.rb +26 -0
  29. data/lib/terminal-shop/models/card_create_response.rb +26 -0
  30. data/lib/terminal-shop/models/card_delete_params.rb +18 -0
  31. data/lib/terminal-shop/models/card_delete_response.rb +25 -0
  32. data/lib/terminal-shop/models/card_list_params.rb +18 -0
  33. data/lib/terminal-shop/models/card_list_response.rb +26 -0
  34. data/lib/terminal-shop/models/cart.rb +200 -0
  35. data/lib/terminal-shop/models/cart_convert_params.rb +18 -0
  36. data/lib/terminal-shop/models/cart_convert_response.rb +26 -0
  37. data/lib/terminal-shop/models/cart_get_params.rb +18 -0
  38. data/lib/terminal-shop/models/cart_get_response.rb +26 -0
  39. data/lib/terminal-shop/models/cart_set_address_params.rb +25 -0
  40. data/lib/terminal-shop/models/cart_set_address_response.rb +25 -0
  41. data/lib/terminal-shop/models/cart_set_card_params.rb +25 -0
  42. data/lib/terminal-shop/models/cart_set_card_response.rb +25 -0
  43. data/lib/terminal-shop/models/cart_set_item_params.rb +32 -0
  44. data/lib/terminal-shop/models/cart_set_item_response.rb +26 -0
  45. data/lib/terminal-shop/models/email_create_params.rb +25 -0
  46. data/lib/terminal-shop/models/email_create_response.rb +25 -0
  47. data/lib/terminal-shop/models/order.rb +303 -0
  48. data/lib/terminal-shop/models/order_get_params.rb +18 -0
  49. data/lib/terminal-shop/models/order_get_response.rb +26 -0
  50. data/lib/terminal-shop/models/order_list_params.rb +18 -0
  51. data/lib/terminal-shop/models/order_list_response.rb +26 -0
  52. data/lib/terminal-shop/models/product.rb +141 -0
  53. data/lib/terminal-shop/models/product_list_params.rb +18 -0
  54. data/lib/terminal-shop/models/product_list_response.rb +26 -0
  55. data/lib/terminal-shop/models/product_variant.rb +44 -0
  56. data/lib/terminal-shop/models/profile.rb +83 -0
  57. data/lib/terminal-shop/models/profile_me_params.rb +18 -0
  58. data/lib/terminal-shop/models/profile_me_response.rb +26 -0
  59. data/lib/terminal-shop/models/profile_update_params.rb +32 -0
  60. data/lib/terminal-shop/models/profile_update_response.rb +26 -0
  61. data/lib/terminal-shop/models/subscription.rb +113 -0
  62. data/lib/terminal-shop/models/subscription_create_params.rb +18 -0
  63. data/lib/terminal-shop/models/subscription_create_response.rb +25 -0
  64. data/lib/terminal-shop/models/subscription_delete_params.rb +18 -0
  65. data/lib/terminal-shop/models/subscription_delete_response.rb +25 -0
  66. data/lib/terminal-shop/models/subscription_list_params.rb +18 -0
  67. data/lib/terminal-shop/models/subscription_list_response.rb +26 -0
  68. data/lib/terminal-shop/models/token.rb +68 -0
  69. data/lib/terminal-shop/models/token_create_params.rb +18 -0
  70. data/lib/terminal-shop/models/token_create_response.rb +55 -0
  71. data/lib/terminal-shop/models/token_delete_params.rb +18 -0
  72. data/lib/terminal-shop/models/token_delete_response.rb +25 -0
  73. data/lib/terminal-shop/models/token_get_params.rb +18 -0
  74. data/lib/terminal-shop/models/token_get_response.rb +27 -0
  75. data/lib/terminal-shop/models/token_list_params.rb +18 -0
  76. data/lib/terminal-shop/models/token_list_response.rb +26 -0
  77. data/lib/terminal-shop/models/view_init_params.rb +18 -0
  78. data/lib/terminal-shop/models/view_init_response.rb +103 -0
  79. data/lib/terminal-shop/pooled_net_requester.rb +94 -0
  80. data/lib/terminal-shop/request_options.rb +115 -0
  81. data/lib/terminal-shop/resources/address.rb +84 -0
  82. data/lib/terminal-shop/resources/app.rb +93 -0
  83. data/lib/terminal-shop/resources/card.rb +89 -0
  84. data/lib/terminal-shop/resources/cart.rb +112 -0
  85. data/lib/terminal-shop/resources/email.rb +34 -0
  86. data/lib/terminal-shop/resources/order.rb +49 -0
  87. data/lib/terminal-shop/resources/product.rb +30 -0
  88. data/lib/terminal-shop/resources/profile.rb +53 -0
  89. data/lib/terminal-shop/resources/subscription.rb +82 -0
  90. data/lib/terminal-shop/resources/token.rb +85 -0
  91. data/lib/terminal-shop/resources/view.rb +31 -0
  92. data/lib/terminal-shop/util.rb +460 -0
  93. data/lib/terminal-shop/version.rb +5 -0
  94. data/lib/terminal-shop.rb +110 -0
  95. data/manifest.yaml +12 -0
  96. data/rbi/lib/terminal-shop/base_client.rbi +145 -0
  97. data/rbi/lib/terminal-shop/base_model.rbi +514 -0
  98. data/rbi/lib/terminal-shop/base_page.rbi +38 -0
  99. data/rbi/lib/terminal-shop/client.rbi +80 -0
  100. data/rbi/lib/terminal-shop/errors.rbi +133 -0
  101. data/rbi/lib/terminal-shop/extern.rbi +7 -0
  102. data/rbi/lib/terminal-shop/models/address.rbi +77 -0
  103. data/rbi/lib/terminal-shop/models/address_create_params.rbi +87 -0
  104. data/rbi/lib/terminal-shop/models/address_create_response.rbi +18 -0
  105. data/rbi/lib/terminal-shop/models/address_delete_params.rbi +18 -0
  106. data/rbi/lib/terminal-shop/models/address_delete_response.rbi +18 -0
  107. data/rbi/lib/terminal-shop/models/address_list_params.rbi +18 -0
  108. data/rbi/lib/terminal-shop/models/address_list_response.rbi +18 -0
  109. data/rbi/lib/terminal-shop/models/app.rbi +24 -0
  110. data/rbi/lib/terminal-shop/models/app_create_params.rbi +18 -0
  111. data/rbi/lib/terminal-shop/models/app_create_response.rbi +34 -0
  112. data/rbi/lib/terminal-shop/models/app_delete_params.rbi +18 -0
  113. data/rbi/lib/terminal-shop/models/app_delete_response.rbi +18 -0
  114. data/rbi/lib/terminal-shop/models/app_get_params.rbi +18 -0
  115. data/rbi/lib/terminal-shop/models/app_get_response.rbi +18 -0
  116. data/rbi/lib/terminal-shop/models/app_list_params.rbi +18 -0
  117. data/rbi/lib/terminal-shop/models/app_list_response.rbi +18 -0
  118. data/rbi/lib/terminal-shop/models/card.rbi +59 -0
  119. data/rbi/lib/terminal-shop/models/card_collect_params.rbi +18 -0
  120. data/rbi/lib/terminal-shop/models/card_collect_response.rbi +31 -0
  121. data/rbi/lib/terminal-shop/models/card_create_params.rbi +26 -0
  122. data/rbi/lib/terminal-shop/models/card_create_response.rbi +18 -0
  123. data/rbi/lib/terminal-shop/models/card_delete_params.rbi +18 -0
  124. data/rbi/lib/terminal-shop/models/card_delete_response.rbi +18 -0
  125. data/rbi/lib/terminal-shop/models/card_list_params.rbi +18 -0
  126. data/rbi/lib/terminal-shop/models/card_list_response.rbi +18 -0
  127. data/rbi/lib/terminal-shop/models/cart.rbi +127 -0
  128. data/rbi/lib/terminal-shop/models/cart_convert_params.rbi +18 -0
  129. data/rbi/lib/terminal-shop/models/cart_convert_response.rbi +18 -0
  130. data/rbi/lib/terminal-shop/models/cart_get_params.rbi +18 -0
  131. data/rbi/lib/terminal-shop/models/cart_get_response.rbi +18 -0
  132. data/rbi/lib/terminal-shop/models/cart_set_address_params.rbi +26 -0
  133. data/rbi/lib/terminal-shop/models/cart_set_address_response.rbi +18 -0
  134. data/rbi/lib/terminal-shop/models/cart_set_card_params.rbi +26 -0
  135. data/rbi/lib/terminal-shop/models/cart_set_card_response.rbi +18 -0
  136. data/rbi/lib/terminal-shop/models/cart_set_item_params.rbi +38 -0
  137. data/rbi/lib/terminal-shop/models/cart_set_item_response.rbi +18 -0
  138. data/rbi/lib/terminal-shop/models/email_create_params.rbi +26 -0
  139. data/rbi/lib/terminal-shop/models/email_create_response.rbi +18 -0
  140. data/rbi/lib/terminal-shop/models/order.rbi +216 -0
  141. data/rbi/lib/terminal-shop/models/order_get_params.rbi +18 -0
  142. data/rbi/lib/terminal-shop/models/order_get_response.rbi +18 -0
  143. data/rbi/lib/terminal-shop/models/order_list_params.rbi +18 -0
  144. data/rbi/lib/terminal-shop/models/order_list_response.rbi +18 -0
  145. data/rbi/lib/terminal-shop/models/product.rbi +94 -0
  146. data/rbi/lib/terminal-shop/models/product_list_params.rbi +18 -0
  147. data/rbi/lib/terminal-shop/models/product_list_response.rbi +18 -0
  148. data/rbi/lib/terminal-shop/models/product_variant.rbi +24 -0
  149. data/rbi/lib/terminal-shop/models/profile.rbi +61 -0
  150. data/rbi/lib/terminal-shop/models/profile_me_params.rbi +18 -0
  151. data/rbi/lib/terminal-shop/models/profile_me_response.rbi +18 -0
  152. data/rbi/lib/terminal-shop/models/profile_update_params.rbi +38 -0
  153. data/rbi/lib/terminal-shop/models/profile_update_response.rbi +18 -0
  154. data/rbi/lib/terminal-shop/models/subscription.rbi +75 -0
  155. data/rbi/lib/terminal-shop/models/subscription_create_params.rbi +18 -0
  156. data/rbi/lib/terminal-shop/models/subscription_create_response.rbi +18 -0
  157. data/rbi/lib/terminal-shop/models/subscription_delete_params.rbi +18 -0
  158. data/rbi/lib/terminal-shop/models/subscription_delete_response.rbi +18 -0
  159. data/rbi/lib/terminal-shop/models/subscription_list_params.rbi +18 -0
  160. data/rbi/lib/terminal-shop/models/subscription_list_response.rbi +18 -0
  161. data/rbi/lib/terminal-shop/models/token.rbi +37 -0
  162. data/rbi/lib/terminal-shop/models/token_create_params.rbi +18 -0
  163. data/rbi/lib/terminal-shop/models/token_create_response.rbi +34 -0
  164. data/rbi/lib/terminal-shop/models/token_delete_params.rbi +18 -0
  165. data/rbi/lib/terminal-shop/models/token_delete_response.rbi +18 -0
  166. data/rbi/lib/terminal-shop/models/token_get_params.rbi +18 -0
  167. data/rbi/lib/terminal-shop/models/token_get_response.rbi +18 -0
  168. data/rbi/lib/terminal-shop/models/token_list_params.rbi +18 -0
  169. data/rbi/lib/terminal-shop/models/token_list_response.rbi +18 -0
  170. data/rbi/lib/terminal-shop/models/view_init_params.rbi +18 -0
  171. data/rbi/lib/terminal-shop/models/view_init_response.rbi +91 -0
  172. data/rbi/lib/terminal-shop/request_options.rbi +40 -0
  173. data/rbi/lib/terminal-shop/resources/address.rbi +60 -0
  174. data/rbi/lib/terminal-shop/resources/app.rbi +54 -0
  175. data/rbi/lib/terminal-shop/resources/card.rbi +57 -0
  176. data/rbi/lib/terminal-shop/resources/cart.rbi +67 -0
  177. data/rbi/lib/terminal-shop/resources/email.rbi +20 -0
  178. data/rbi/lib/terminal-shop/resources/order.rbi +34 -0
  179. data/rbi/lib/terminal-shop/resources/product.rbi +25 -0
  180. data/rbi/lib/terminal-shop/resources/profile.rbi +35 -0
  181. data/rbi/lib/terminal-shop/resources/subscription.rbi +58 -0
  182. data/rbi/lib/terminal-shop/resources/token.rbi +57 -0
  183. data/rbi/lib/terminal-shop/resources/view.rbi +25 -0
  184. data/rbi/lib/terminal-shop/util.rbi +128 -0
  185. data/rbi/lib/terminal-shop/version.rbi +5 -0
  186. data/sig/terminal-shop/base_client.rbs +100 -0
  187. data/sig/terminal-shop/base_model.rbs +246 -0
  188. data/sig/terminal-shop/base_page.rbs +20 -0
  189. data/sig/terminal-shop/client.rbs +52 -0
  190. data/sig/terminal-shop/errors.rbs +98 -0
  191. data/sig/terminal-shop/extern.rbs +4 -0
  192. data/sig/terminal-shop/models/address.rbs +60 -0
  193. data/sig/terminal-shop/models/address_create_params.rbs +62 -0
  194. data/sig/terminal-shop/models/address_create_response.rbs +18 -0
  195. data/sig/terminal-shop/models/address_delete_params.rbs +19 -0
  196. data/sig/terminal-shop/models/address_delete_response.rbs +18 -0
  197. data/sig/terminal-shop/models/address_list_params.rbs +19 -0
  198. data/sig/terminal-shop/models/address_list_response.rbs +19 -0
  199. data/sig/terminal-shop/models/app.rbs +21 -0
  200. data/sig/terminal-shop/models/app_create_params.rbs +19 -0
  201. data/sig/terminal-shop/models/app_create_response.rbs +36 -0
  202. data/sig/terminal-shop/models/app_delete_params.rbs +19 -0
  203. data/sig/terminal-shop/models/app_delete_response.rbs +18 -0
  204. data/sig/terminal-shop/models/app_get_params.rbs +18 -0
  205. data/sig/terminal-shop/models/app_get_response.rbs +17 -0
  206. data/sig/terminal-shop/models/app_list_params.rbs +18 -0
  207. data/sig/terminal-shop/models/app_list_response.rbs +18 -0
  208. data/sig/terminal-shop/models/card.rbs +51 -0
  209. data/sig/terminal-shop/models/card_collect_params.rbs +19 -0
  210. data/sig/terminal-shop/models/card_collect_response.rbs +34 -0
  211. data/sig/terminal-shop/models/card_create_params.rbs +22 -0
  212. data/sig/terminal-shop/models/card_create_response.rbs +18 -0
  213. data/sig/terminal-shop/models/card_delete_params.rbs +19 -0
  214. data/sig/terminal-shop/models/card_delete_response.rbs +18 -0
  215. data/sig/terminal-shop/models/card_list_params.rbs +18 -0
  216. data/sig/terminal-shop/models/card_list_response.rbs +18 -0
  217. data/sig/terminal-shop/models/cart.rbs +119 -0
  218. data/sig/terminal-shop/models/cart_convert_params.rbs +19 -0
  219. data/sig/terminal-shop/models/cart_convert_response.rbs +18 -0
  220. data/sig/terminal-shop/models/cart_get_params.rbs +18 -0
  221. data/sig/terminal-shop/models/cart_get_response.rbs +18 -0
  222. data/sig/terminal-shop/models/cart_set_address_params.rbs +25 -0
  223. data/sig/terminal-shop/models/cart_set_address_response.rbs +18 -0
  224. data/sig/terminal-shop/models/cart_set_card_params.rbs +22 -0
  225. data/sig/terminal-shop/models/cart_set_card_response.rbs +18 -0
  226. data/sig/terminal-shop/models/cart_set_item_params.rbs +29 -0
  227. data/sig/terminal-shop/models/cart_set_item_response.rbs +18 -0
  228. data/sig/terminal-shop/models/email_create_params.rbs +22 -0
  229. data/sig/terminal-shop/models/email_create_response.rbs +18 -0
  230. data/sig/terminal-shop/models/order.rbs +179 -0
  231. data/sig/terminal-shop/models/order_get_params.rbs +18 -0
  232. data/sig/terminal-shop/models/order_get_response.rbs +18 -0
  233. data/sig/terminal-shop/models/order_list_params.rbs +19 -0
  234. data/sig/terminal-shop/models/order_list_response.rbs +18 -0
  235. data/sig/terminal-shop/models/product.rbs +76 -0
  236. data/sig/terminal-shop/models/product_list_params.rbs +19 -0
  237. data/sig/terminal-shop/models/product_list_response.rbs +19 -0
  238. data/sig/terminal-shop/models/product_variant.rbs +21 -0
  239. data/sig/terminal-shop/models/profile.rbs +53 -0
  240. data/sig/terminal-shop/models/profile_me_params.rbs +19 -0
  241. data/sig/terminal-shop/models/profile_me_response.rbs +18 -0
  242. data/sig/terminal-shop/models/profile_update_params.rbs +28 -0
  243. data/sig/terminal-shop/models/profile_update_response.rbs +18 -0
  244. data/sig/terminal-shop/models/subscription.rbs +60 -0
  245. data/sig/terminal-shop/models/subscription_create_params.rbs +19 -0
  246. data/sig/terminal-shop/models/subscription_create_response.rbs +18 -0
  247. data/sig/terminal-shop/models/subscription_delete_params.rbs +19 -0
  248. data/sig/terminal-shop/models/subscription_delete_response.rbs +18 -0
  249. data/sig/terminal-shop/models/subscription_list_params.rbs +19 -0
  250. data/sig/terminal-shop/models/subscription_list_response.rbs +19 -0
  251. data/sig/terminal-shop/models/token.rbs +40 -0
  252. data/sig/terminal-shop/models/token_create_params.rbs +19 -0
  253. data/sig/terminal-shop/models/token_create_response.rbs +36 -0
  254. data/sig/terminal-shop/models/token_delete_params.rbs +19 -0
  255. data/sig/terminal-shop/models/token_delete_response.rbs +18 -0
  256. data/sig/terminal-shop/models/token_get_params.rbs +18 -0
  257. data/sig/terminal-shop/models/token_get_response.rbs +18 -0
  258. data/sig/terminal-shop/models/token_list_params.rbs +19 -0
  259. data/sig/terminal-shop/models/token_list_response.rbs +18 -0
  260. data/sig/terminal-shop/models/view_init_params.rbs +18 -0
  261. data/sig/terminal-shop/models/view_init_response.rbs +71 -0
  262. data/sig/terminal-shop/request_options.rbs +42 -0
  263. data/sig/terminal-shop/resources/address.rbs +41 -0
  264. data/sig/terminal-shop/resources/app.rbs +46 -0
  265. data/sig/terminal-shop/resources/card.rbs +42 -0
  266. data/sig/terminal-shop/resources/cart.rbs +51 -0
  267. data/sig/terminal-shop/resources/email.rbs +16 -0
  268. data/sig/terminal-shop/resources/order.rbs +25 -0
  269. data/sig/terminal-shop/resources/product.rbs +15 -0
  270. data/sig/terminal-shop/resources/profile.rbs +25 -0
  271. data/sig/terminal-shop/resources/subscription.rbs +43 -0
  272. data/sig/terminal-shop/resources/token.rbs +43 -0
  273. data/sig/terminal-shop/resources/view.rbs +15 -0
  274. data/sig/terminal-shop/util.rbs +85 -0
  275. data/sig/terminal-shop/version.rbs +3 -0
  276. 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,4 @@
1
+ module TerminalShop
2
+ module Extern
3
+ end
4
+ 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