terminal-shop 1.7.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 (235) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +17 -1
  3. data/lib/terminal-shop/base_client.rb +47 -56
  4. data/lib/terminal-shop/base_model.rb +300 -352
  5. data/lib/terminal-shop/base_page.rb +30 -31
  6. data/lib/terminal-shop/client.rb +2 -3
  7. data/lib/terminal-shop/errors.rb +12 -17
  8. data/lib/terminal-shop/extern.rb +1 -4
  9. data/lib/terminal-shop/models/product.rb +7 -3
  10. data/lib/terminal-shop/models/region.rb +7 -3
  11. data/lib/terminal-shop/models/subscription.rb +7 -3
  12. data/lib/terminal-shop/pooled_net_requester.rb +30 -21
  13. data/lib/terminal-shop/request_options.rb +5 -12
  14. data/lib/terminal-shop/resources/address.rb +0 -5
  15. data/lib/terminal-shop/resources/app.rb +0 -5
  16. data/lib/terminal-shop/resources/card.rb +0 -6
  17. data/lib/terminal-shop/resources/cart.rb +0 -7
  18. data/lib/terminal-shop/resources/email.rb +0 -2
  19. data/lib/terminal-shop/resources/order.rb +0 -4
  20. data/lib/terminal-shop/resources/product.rb +0 -3
  21. data/lib/terminal-shop/resources/profile.rb +0 -3
  22. data/lib/terminal-shop/resources/subscription.rb +0 -5
  23. data/lib/terminal-shop/resources/token.rb +0 -5
  24. data/lib/terminal-shop/resources/view.rb +0 -2
  25. data/lib/terminal-shop/util.rb +59 -77
  26. data/lib/terminal-shop/version.rb +1 -1
  27. data/lib/terminal-shop.rb +16 -0
  28. data/manifest.yaml +1 -0
  29. data/rbi/lib/terminal-shop/base_client.rbi +63 -41
  30. data/rbi/lib/terminal-shop/base_model.rbi +278 -129
  31. data/rbi/lib/terminal-shop/base_page.rbi +1 -4
  32. data/rbi/lib/terminal-shop/client.rbi +29 -30
  33. data/rbi/lib/terminal-shop/errors.rbi +12 -14
  34. data/rbi/lib/terminal-shop/extern.rbi +1 -1
  35. data/rbi/lib/terminal-shop/models/address.rbi +25 -51
  36. data/rbi/lib/terminal-shop/models/address_create_params.rbi +23 -46
  37. data/rbi/lib/terminal-shop/models/address_create_response.rbi +2 -6
  38. data/rbi/lib/terminal-shop/models/address_delete_params.rbi +1 -1
  39. data/rbi/lib/terminal-shop/models/address_delete_response.rbi +1 -6
  40. data/rbi/lib/terminal-shop/models/address_get_params.rbi +1 -1
  41. data/rbi/lib/terminal-shop/models/address_get_response.rbi +8 -6
  42. data/rbi/lib/terminal-shop/models/address_list_params.rbi +1 -1
  43. data/rbi/lib/terminal-shop/models/address_list_response.rbi +5 -6
  44. data/rbi/lib/terminal-shop/models/app.rbi +9 -24
  45. data/rbi/lib/terminal-shop/models/app_create_params.rbi +3 -13
  46. data/rbi/lib/terminal-shop/models/app_create_response.rbi +10 -20
  47. data/rbi/lib/terminal-shop/models/app_delete_params.rbi +1 -1
  48. data/rbi/lib/terminal-shop/models/app_delete_response.rbi +1 -6
  49. data/rbi/lib/terminal-shop/models/app_get_params.rbi +1 -1
  50. data/rbi/lib/terminal-shop/models/app_get_response.rbi +5 -6
  51. data/rbi/lib/terminal-shop/models/app_list_params.rbi +1 -1
  52. data/rbi/lib/terminal-shop/models/app_list_response.rbi +5 -6
  53. data/rbi/lib/terminal-shop/models/card.rbi +22 -36
  54. data/rbi/lib/terminal-shop/models/card_collect_params.rbi +1 -1
  55. data/rbi/lib/terminal-shop/models/card_collect_response.rbi +11 -14
  56. data/rbi/lib/terminal-shop/models/card_create_params.rbi +4 -7
  57. data/rbi/lib/terminal-shop/models/card_create_response.rbi +2 -6
  58. data/rbi/lib/terminal-shop/models/card_delete_params.rbi +1 -1
  59. data/rbi/lib/terminal-shop/models/card_delete_response.rbi +1 -6
  60. data/rbi/lib/terminal-shop/models/card_get_params.rbi +1 -1
  61. data/rbi/lib/terminal-shop/models/card_get_response.rbi +5 -6
  62. data/rbi/lib/terminal-shop/models/card_list_params.rbi +1 -1
  63. data/rbi/lib/terminal-shop/models/card_list_response.rbi +5 -6
  64. data/rbi/lib/terminal-shop/models/cart.rbi +53 -88
  65. data/rbi/lib/terminal-shop/models/cart_clear_params.rbi +1 -1
  66. data/rbi/lib/terminal-shop/models/cart_clear_response.rbi +1 -6
  67. data/rbi/lib/terminal-shop/models/cart_convert_params.rbi +1 -1
  68. data/rbi/lib/terminal-shop/models/cart_convert_response.rbi +5 -6
  69. data/rbi/lib/terminal-shop/models/cart_get_params.rbi +1 -1
  70. data/rbi/lib/terminal-shop/models/cart_get_response.rbi +5 -6
  71. data/rbi/lib/terminal-shop/models/cart_set_address_params.rbi +3 -7
  72. data/rbi/lib/terminal-shop/models/cart_set_address_response.rbi +1 -6
  73. data/rbi/lib/terminal-shop/models/cart_set_card_params.rbi +3 -7
  74. data/rbi/lib/terminal-shop/models/cart_set_card_response.rbi +1 -6
  75. data/rbi/lib/terminal-shop/models/cart_set_item_params.rbi +5 -13
  76. data/rbi/lib/terminal-shop/models/cart_set_item_response.rbi +5 -6
  77. data/rbi/lib/terminal-shop/models/email_create_params.rbi +3 -7
  78. data/rbi/lib/terminal-shop/models/email_create_response.rbi +1 -6
  79. data/rbi/lib/terminal-shop/models/order.rbi +80 -139
  80. data/rbi/lib/terminal-shop/models/order_create_params.rbi +7 -19
  81. data/rbi/lib/terminal-shop/models/order_create_response.rbi +2 -6
  82. data/rbi/lib/terminal-shop/models/order_get_params.rbi +1 -1
  83. data/rbi/lib/terminal-shop/models/order_get_response.rbi +5 -6
  84. data/rbi/lib/terminal-shop/models/order_list_params.rbi +1 -1
  85. data/rbi/lib/terminal-shop/models/order_list_response.rbi +5 -6
  86. data/rbi/lib/terminal-shop/models/product.rbi +52 -80
  87. data/rbi/lib/terminal-shop/models/product_get_params.rbi +1 -1
  88. data/rbi/lib/terminal-shop/models/product_get_response.rbi +8 -6
  89. data/rbi/lib/terminal-shop/models/product_list_params.rbi +1 -1
  90. data/rbi/lib/terminal-shop/models/product_list_response.rbi +5 -6
  91. data/rbi/lib/terminal-shop/models/product_variant.rbi +7 -18
  92. data/rbi/lib/terminal-shop/models/profile.rbi +20 -36
  93. data/rbi/lib/terminal-shop/models/profile_me_params.rbi +1 -1
  94. data/rbi/lib/terminal-shop/models/profile_me_response.rbi +8 -6
  95. data/rbi/lib/terminal-shop/models/profile_update_params.rbi +3 -13
  96. data/rbi/lib/terminal-shop/models/profile_update_response.rbi +8 -6
  97. data/rbi/lib/terminal-shop/models/region.rbi +10 -8
  98. data/rbi/lib/terminal-shop/models/subscription.rbi +35 -75
  99. data/rbi/lib/terminal-shop/models/subscription_create_params.rbi +1 -1
  100. data/rbi/lib/terminal-shop/models/subscription_create_response.rbi +1 -6
  101. data/rbi/lib/terminal-shop/models/subscription_delete_params.rbi +1 -1
  102. data/rbi/lib/terminal-shop/models/subscription_delete_response.rbi +1 -6
  103. data/rbi/lib/terminal-shop/models/subscription_get_params.rbi +1 -1
  104. data/rbi/lib/terminal-shop/models/subscription_get_response.rbi +8 -6
  105. data/rbi/lib/terminal-shop/models/subscription_list_params.rbi +1 -1
  106. data/rbi/lib/terminal-shop/models/subscription_list_response.rbi +4 -8
  107. data/rbi/lib/terminal-shop/models/token.rbi +8 -18
  108. data/rbi/lib/terminal-shop/models/token_create_params.rbi +1 -1
  109. data/rbi/lib/terminal-shop/models/token_create_response.rbi +11 -20
  110. data/rbi/lib/terminal-shop/models/token_delete_params.rbi +1 -1
  111. data/rbi/lib/terminal-shop/models/token_delete_response.rbi +1 -6
  112. data/rbi/lib/terminal-shop/models/token_get_params.rbi +1 -1
  113. data/rbi/lib/terminal-shop/models/token_get_response.rbi +6 -6
  114. data/rbi/lib/terminal-shop/models/token_list_params.rbi +1 -1
  115. data/rbi/lib/terminal-shop/models/token_list_response.rbi +5 -6
  116. data/rbi/lib/terminal-shop/models/view_init_params.rbi +1 -1
  117. data/rbi/lib/terminal-shop/models/view_init_response.rbi +37 -81
  118. data/rbi/lib/terminal-shop/pooled_net_requester.rbi +24 -6
  119. data/rbi/lib/terminal-shop/request_options.rbi +32 -57
  120. data/rbi/lib/terminal-shop/resources/address.rbi +26 -6
  121. data/rbi/lib/terminal-shop/resources/app.rbi +18 -6
  122. data/rbi/lib/terminal-shop/resources/card.rbi +27 -8
  123. data/rbi/lib/terminal-shop/resources/cart.rbi +29 -9
  124. data/rbi/lib/terminal-shop/resources/email.rbi +7 -2
  125. data/rbi/lib/terminal-shop/resources/order.rbi +20 -5
  126. data/rbi/lib/terminal-shop/resources/product.rbi +9 -3
  127. data/rbi/lib/terminal-shop/resources/profile.rbi +4 -2
  128. data/rbi/lib/terminal-shop/resources/subscription.rbi +26 -6
  129. data/rbi/lib/terminal-shop/resources/token.rbi +18 -6
  130. data/rbi/lib/terminal-shop/resources/view.rbi +3 -1
  131. data/rbi/lib/terminal-shop/util.rbi +78 -20
  132. data/rbi/lib/terminal-shop/version.rbi +1 -1
  133. data/sig/terminal-shop/base_client.rbs +20 -15
  134. data/sig/terminal-shop/base_model.rbs +36 -18
  135. data/sig/terminal-shop/client.rbs +8 -8
  136. data/sig/terminal-shop/errors.rbs +21 -21
  137. data/sig/terminal-shop/models/address.rbs +11 -15
  138. data/sig/terminal-shop/models/address_create_params.rbs +11 -16
  139. data/sig/terminal-shop/models/address_create_response.rbs +1 -6
  140. data/sig/terminal-shop/models/address_delete_params.rbs +1 -6
  141. data/sig/terminal-shop/models/address_delete_response.rbs +1 -6
  142. data/sig/terminal-shop/models/address_get_params.rbs +1 -6
  143. data/sig/terminal-shop/models/address_get_response.rbs +1 -6
  144. data/sig/terminal-shop/models/address_list_params.rbs +1 -6
  145. data/sig/terminal-shop/models/address_list_response.rbs +1 -6
  146. data/sig/terminal-shop/models/app.rbs +6 -5
  147. data/sig/terminal-shop/models/app_create_params.rbs +5 -10
  148. data/sig/terminal-shop/models/app_create_response.rbs +4 -12
  149. data/sig/terminal-shop/models/app_delete_params.rbs +1 -6
  150. data/sig/terminal-shop/models/app_delete_response.rbs +1 -6
  151. data/sig/terminal-shop/models/app_get_params.rbs +1 -5
  152. data/sig/terminal-shop/models/app_get_response.rbs +1 -5
  153. data/sig/terminal-shop/models/app_list_params.rbs +1 -5
  154. data/sig/terminal-shop/models/app_list_response.rbs +1 -6
  155. data/sig/terminal-shop/models/card.rbs +7 -16
  156. data/sig/terminal-shop/models/card_collect_params.rbs +1 -6
  157. data/sig/terminal-shop/models/card_collect_response.rbs +4 -12
  158. data/sig/terminal-shop/models/card_create_params.rbs +4 -6
  159. data/sig/terminal-shop/models/card_create_response.rbs +1 -6
  160. data/sig/terminal-shop/models/card_delete_params.rbs +1 -6
  161. data/sig/terminal-shop/models/card_delete_response.rbs +1 -6
  162. data/sig/terminal-shop/models/card_get_params.rbs +1 -5
  163. data/sig/terminal-shop/models/card_get_response.rbs +1 -6
  164. data/sig/terminal-shop/models/card_list_params.rbs +1 -5
  165. data/sig/terminal-shop/models/card_list_response.rbs +1 -6
  166. data/sig/terminal-shop/models/cart.rbs +20 -34
  167. data/sig/terminal-shop/models/cart_clear_params.rbs +1 -6
  168. data/sig/terminal-shop/models/cart_clear_response.rbs +1 -6
  169. data/sig/terminal-shop/models/cart_convert_params.rbs +1 -6
  170. data/sig/terminal-shop/models/cart_convert_response.rbs +1 -6
  171. data/sig/terminal-shop/models/cart_get_params.rbs +1 -5
  172. data/sig/terminal-shop/models/cart_get_response.rbs +1 -6
  173. data/sig/terminal-shop/models/cart_set_address_params.rbs +4 -9
  174. data/sig/terminal-shop/models/cart_set_address_response.rbs +1 -6
  175. data/sig/terminal-shop/models/cart_set_card_params.rbs +4 -6
  176. data/sig/terminal-shop/models/cart_set_card_response.rbs +1 -6
  177. data/sig/terminal-shop/models/cart_set_item_params.rbs +5 -10
  178. data/sig/terminal-shop/models/cart_set_item_response.rbs +1 -6
  179. data/sig/terminal-shop/models/email_create_params.rbs +4 -6
  180. data/sig/terminal-shop/models/email_create_response.rbs +1 -6
  181. data/sig/terminal-shop/models/order.rbs +31 -50
  182. data/sig/terminal-shop/models/order_create_params.rbs +6 -11
  183. data/sig/terminal-shop/models/order_create_response.rbs +1 -6
  184. data/sig/terminal-shop/models/order_get_params.rbs +1 -5
  185. data/sig/terminal-shop/models/order_get_response.rbs +1 -6
  186. data/sig/terminal-shop/models/order_list_params.rbs +1 -6
  187. data/sig/terminal-shop/models/order_list_response.rbs +1 -6
  188. data/sig/terminal-shop/models/product.rbs +20 -27
  189. data/sig/terminal-shop/models/product_get_params.rbs +1 -6
  190. data/sig/terminal-shop/models/product_get_response.rbs +1 -6
  191. data/sig/terminal-shop/models/product_list_params.rbs +1 -6
  192. data/sig/terminal-shop/models/product_list_response.rbs +1 -6
  193. data/sig/terminal-shop/models/product_variant.rbs +1 -5
  194. data/sig/terminal-shop/models/profile.rbs +8 -17
  195. data/sig/terminal-shop/models/profile_me_params.rbs +1 -6
  196. data/sig/terminal-shop/models/profile_me_response.rbs +1 -6
  197. data/sig/terminal-shop/models/profile_update_params.rbs +5 -10
  198. data/sig/terminal-shop/models/profile_update_response.rbs +1 -6
  199. data/sig/terminal-shop/models/region.rbs +4 -2
  200. data/sig/terminal-shop/models/subscription.rbs +15 -27
  201. data/sig/terminal-shop/models/subscription_create_params.rbs +1 -6
  202. data/sig/terminal-shop/models/subscription_create_response.rbs +1 -6
  203. data/sig/terminal-shop/models/subscription_delete_params.rbs +1 -6
  204. data/sig/terminal-shop/models/subscription_delete_response.rbs +1 -6
  205. data/sig/terminal-shop/models/subscription_get_params.rbs +1 -6
  206. data/sig/terminal-shop/models/subscription_get_response.rbs +1 -6
  207. data/sig/terminal-shop/models/subscription_list_params.rbs +1 -6
  208. data/sig/terminal-shop/models/subscription_list_response.rbs +3 -6
  209. data/sig/terminal-shop/models/token.rbs +1 -5
  210. data/sig/terminal-shop/models/token_create_params.rbs +1 -6
  211. data/sig/terminal-shop/models/token_create_response.rbs +4 -12
  212. data/sig/terminal-shop/models/token_delete_params.rbs +1 -6
  213. data/sig/terminal-shop/models/token_delete_response.rbs +1 -6
  214. data/sig/terminal-shop/models/token_get_params.rbs +1 -5
  215. data/sig/terminal-shop/models/token_get_response.rbs +1 -6
  216. data/sig/terminal-shop/models/token_list_params.rbs +1 -6
  217. data/sig/terminal-shop/models/token_list_response.rbs +1 -6
  218. data/sig/terminal-shop/models/view_init_params.rbs +1 -5
  219. data/sig/terminal-shop/models/view_init_response.rbs +15 -23
  220. data/sig/terminal-shop/pooled_net_requester.rbs +10 -3
  221. data/sig/terminal-shop/request_options.rbs +2 -2
  222. data/sig/terminal-shop/resources/address.rbs +22 -41
  223. data/sig/terminal-shop/resources/app.rbs +16 -34
  224. data/sig/terminal-shop/resources/card.rbs +18 -40
  225. data/sig/terminal-shop/resources/cart.rbs +22 -47
  226. data/sig/terminal-shop/resources/email.rbs +4 -8
  227. data/sig/terminal-shop/resources/order.rbs +13 -26
  228. data/sig/terminal-shop/resources/product.rbs +7 -16
  229. data/sig/terminal-shop/resources/profile.rbs +8 -16
  230. data/sig/terminal-shop/resources/subscription.rbs +21 -43
  231. data/sig/terminal-shop/resources/token.rbs +14 -32
  232. data/sig/terminal-shop/resources/view.rbs +3 -7
  233. data/sig/terminal-shop/util.rbs +9 -9
  234. data/sig/terminal-shop/version.rbs +1 -1
  235. metadata +4 -4
@@ -2,8 +2,6 @@
2
2
 
3
3
  module TerminalShop
4
4
  module BasePage
5
- abstract!
6
-
7
5
  Elem = type_member(:out)
8
6
 
9
7
  sig { overridable.returns(T::Boolean) }
@@ -22,8 +20,7 @@ module TerminalShop
22
20
  def to_enum
23
21
  end
24
22
 
25
- alias_method :enum_for, :to_enum
26
-
23
+ # @api private
27
24
  sig do
28
25
  params(
29
26
  client: TerminalShop::BaseClient,
@@ -10,67 +10,57 @@ module TerminalShop
10
10
 
11
11
  DEFAULT_MAX_RETRY_DELAY = T.let(8.0, Float)
12
12
 
13
- ENVIRONMENTS = T.let(
14
- {production: "https://api.terminal.shop/", dev: "https://api.dev.terminal.shop/"},
15
- T::Hash[Symbol, String]
16
- )
13
+ ENVIRONMENTS =
14
+ T.let(
15
+ {production: "https://api.terminal.shop/", dev: "https://api.dev.terminal.shop/"},
16
+ T::Hash[Symbol, String]
17
+ )
17
18
 
18
19
  sig { returns(String) }
19
- def bearer_token
20
- end
20
+ attr_reader :bearer_token
21
21
 
22
22
  sig { returns(T.nilable(String)) }
23
- def app_id
24
- end
23
+ attr_reader :app_id
25
24
 
26
25
  sig { returns(TerminalShop::Resources::Product) }
27
- def product
28
- end
26
+ attr_reader :product
29
27
 
30
28
  sig { returns(TerminalShop::Resources::Profile) }
31
- def profile
32
- end
29
+ attr_reader :profile
33
30
 
34
31
  sig { returns(TerminalShop::Resources::Address) }
35
- def address
36
- end
32
+ attr_reader :address
37
33
 
38
34
  sig { returns(TerminalShop::Resources::Card) }
39
- def card
40
- end
35
+ attr_reader :card
41
36
 
42
37
  sig { returns(TerminalShop::Resources::Cart) }
43
- def cart
44
- end
38
+ attr_reader :cart
45
39
 
46
40
  sig { returns(TerminalShop::Resources::Order) }
47
- def order
48
- end
41
+ attr_reader :order
49
42
 
50
43
  sig { returns(TerminalShop::Resources::Subscription) }
51
- def subscription
52
- end
44
+ attr_reader :subscription
53
45
 
54
46
  sig { returns(TerminalShop::Resources::Token) }
55
- def token
56
- end
47
+ attr_reader :token
57
48
 
58
49
  sig { returns(TerminalShop::Resources::App) }
59
- def app
60
- end
50
+ attr_reader :app
61
51
 
62
52
  sig { returns(TerminalShop::Resources::Email) }
63
- def email
64
- end
53
+ attr_reader :email
65
54
 
66
55
  sig { returns(TerminalShop::Resources::View) }
67
- def view
68
- end
56
+ attr_reader :view
69
57
 
58
+ # @api private
70
59
  sig { override.returns(T::Hash[String, String]) }
71
60
  private def auth_headers
72
61
  end
73
62
 
63
+ # Creates and returns a new client for interacting with the API.
74
64
  sig do
75
65
  params(
76
66
  environment: NilClass,
@@ -85,10 +75,19 @@ module TerminalShop
85
75
  .returns(T.attached_class)
86
76
  end
87
77
  def self.new(
78
+ # Specifies the environment to use for the API.
79
+ #
80
+ # Each environment maps to a different base URL:
81
+ #
82
+ # - `production` corresponds to `https://api.terminal.shop/`
83
+ # - `dev` corresponds to `https://api.dev.terminal.shop/`
88
84
  environment: nil,
85
+ # Override the default base URL for the API, e.g., `"https://api.example.com/v2/"`
89
86
  base_url: nil,
87
+ # Defaults to `ENV["TERMINAL_BEARER_TOKEN"]`
90
88
  bearer_token: ENV["TERMINAL_BEARER_TOKEN"],
91
89
  app_id: nil,
90
+ # Max number of retries to attempt after a failed retryable request.
92
91
  max_retries: DEFAULT_MAX_RETRIES,
93
92
  timeout: DEFAULT_TIMEOUT_IN_SECONDS,
94
93
  initial_retry_delay: DEFAULT_INITIAL_RETRY_DELAY,
@@ -3,8 +3,7 @@
3
3
  module TerminalShop
4
4
  class Error < StandardError
5
5
  sig { returns(T.nilable(StandardError)) }
6
- def cause
7
- end
6
+ attr_accessor :cause
8
7
  end
9
8
 
10
9
  class ConversionError < TerminalShop::Error
@@ -12,17 +11,15 @@ module TerminalShop
12
11
 
13
12
  class APIError < TerminalShop::Error
14
13
  sig { returns(URI::Generic) }
15
- def url
16
- end
14
+ attr_accessor :url
17
15
 
18
16
  sig { returns(T.nilable(Integer)) }
19
- def status
20
- end
17
+ attr_accessor :status
21
18
 
22
19
  sig { returns(T.nilable(T.anything)) }
23
- def body
24
- end
20
+ attr_accessor :body
25
21
 
22
+ # @api private
26
23
  sig do
27
24
  params(
28
25
  url: URI::Generic,
@@ -40,13 +37,12 @@ module TerminalShop
40
37
 
41
38
  class APIConnectionError < TerminalShop::APIError
42
39
  sig { void }
43
- def status
44
- end
40
+ attr_accessor :status
45
41
 
46
42
  sig { void }
47
- def body
48
- end
43
+ attr_accessor :body
49
44
 
45
+ # @api private
50
46
  sig do
51
47
  params(
52
48
  url: URI::Generic,
@@ -63,6 +59,7 @@ module TerminalShop
63
59
  end
64
60
 
65
61
  class APITimeoutError < TerminalShop::APIConnectionError
62
+ # @api private
66
63
  sig do
67
64
  params(
68
65
  url: URI::Generic,
@@ -79,6 +76,7 @@ module TerminalShop
79
76
  end
80
77
 
81
78
  class APIStatusError < TerminalShop::APIError
79
+ # @api private
82
80
  sig do
83
81
  params(
84
82
  url: URI::Generic,
@@ -94,9 +92,9 @@ module TerminalShop
94
92
  end
95
93
 
96
94
  sig { returns(Integer) }
97
- def status
98
- end
95
+ attr_accessor :status
99
96
 
97
+ # @api private
100
98
  sig do
101
99
  params(
102
100
  url: URI::Generic,
@@ -1,7 +1,7 @@
1
1
  # typed: strong
2
2
 
3
3
  module TerminalShop
4
+ # @api private
4
5
  module Extern
5
- abstract!
6
6
  end
7
7
  end
@@ -3,78 +3,52 @@
3
3
  module TerminalShop
4
4
  module Models
5
5
  class AddressAPI < TerminalShop::BaseModel
6
+ # Unique object identifier. The format and length of IDs may change over time.
6
7
  sig { returns(String) }
7
- def id
8
- end
9
-
10
- sig { params(_: String).returns(String) }
11
- def id=(_)
12
- end
8
+ attr_accessor :id
13
9
 
10
+ # City of the address.
14
11
  sig { returns(String) }
15
- def city
16
- end
17
-
18
- sig { params(_: String).returns(String) }
19
- def city=(_)
20
- end
12
+ attr_accessor :city
21
13
 
14
+ # ISO 3166-1 alpha-2 country code of the address.
22
15
  sig { returns(String) }
23
- def country
24
- end
25
-
26
- sig { params(_: String).returns(String) }
27
- def country=(_)
28
- end
16
+ attr_accessor :country
29
17
 
18
+ # The recipient's name.
30
19
  sig { returns(String) }
31
- def name
32
- end
33
-
34
- sig { params(_: String).returns(String) }
35
- def name=(_)
36
- end
20
+ attr_accessor :name
37
21
 
22
+ # Street of the address.
38
23
  sig { returns(String) }
39
- def street1
40
- end
41
-
42
- sig { params(_: String).returns(String) }
43
- def street1=(_)
44
- end
24
+ attr_accessor :street1
45
25
 
26
+ # Zip code of the address.
46
27
  sig { returns(String) }
47
- def zip
48
- end
49
-
50
- sig { params(_: String).returns(String) }
51
- def zip=(_)
52
- end
28
+ attr_accessor :zip
53
29
 
30
+ # Phone number of the recipient.
54
31
  sig { returns(T.nilable(String)) }
55
- def phone
56
- end
32
+ attr_reader :phone
57
33
 
58
- sig { params(_: String).returns(String) }
59
- def phone=(_)
60
- end
34
+ sig { params(phone: String).void }
35
+ attr_writer :phone
61
36
 
37
+ # Province or state of the address.
62
38
  sig { returns(T.nilable(String)) }
63
- def province
64
- end
39
+ attr_reader :province
65
40
 
66
- sig { params(_: String).returns(String) }
67
- def province=(_)
68
- end
41
+ sig { params(province: String).void }
42
+ attr_writer :province
69
43
 
44
+ # Apartment, suite, etc. of the address.
70
45
  sig { returns(T.nilable(String)) }
71
- def street2
72
- end
46
+ attr_reader :street2
73
47
 
74
- sig { params(_: String).returns(String) }
75
- def street2=(_)
76
- end
48
+ sig { params(street2: String).void }
49
+ attr_writer :street2
77
50
 
51
+ # Physical address associated with a Terminal shop user.
78
52
  sig do
79
53
  params(
80
54
  id: String,
@@ -6,69 +6,46 @@ module TerminalShop
6
6
  extend TerminalShop::RequestParameters::Converter
7
7
  include TerminalShop::RequestParameters
8
8
 
9
+ # City of the address.
9
10
  sig { returns(String) }
10
- def city
11
- end
12
-
13
- sig { params(_: String).returns(String) }
14
- def city=(_)
15
- end
11
+ attr_accessor :city
16
12
 
13
+ # ISO 3166-1 alpha-2 country code of the address.
17
14
  sig { returns(String) }
18
- def country
19
- end
20
-
21
- sig { params(_: String).returns(String) }
22
- def country=(_)
23
- end
15
+ attr_accessor :country
24
16
 
17
+ # The recipient's name.
25
18
  sig { returns(String) }
26
- def name
27
- end
28
-
29
- sig { params(_: String).returns(String) }
30
- def name=(_)
31
- end
19
+ attr_accessor :name
32
20
 
21
+ # Street of the address.
33
22
  sig { returns(String) }
34
- def street1
35
- end
36
-
37
- sig { params(_: String).returns(String) }
38
- def street1=(_)
39
- end
23
+ attr_accessor :street1
40
24
 
25
+ # Zip code of the address.
41
26
  sig { returns(String) }
42
- def zip
43
- end
44
-
45
- sig { params(_: String).returns(String) }
46
- def zip=(_)
47
- end
27
+ attr_accessor :zip
48
28
 
29
+ # Phone number of the recipient.
49
30
  sig { returns(T.nilable(String)) }
50
- def phone
51
- end
31
+ attr_reader :phone
52
32
 
53
- sig { params(_: String).returns(String) }
54
- def phone=(_)
55
- end
33
+ sig { params(phone: String).void }
34
+ attr_writer :phone
56
35
 
36
+ # Province or state of the address.
57
37
  sig { returns(T.nilable(String)) }
58
- def province
59
- end
38
+ attr_reader :province
60
39
 
61
- sig { params(_: String).returns(String) }
62
- def province=(_)
63
- end
40
+ sig { params(province: String).void }
41
+ attr_writer :province
64
42
 
43
+ # Apartment, suite, etc. of the address.
65
44
  sig { returns(T.nilable(String)) }
66
- def street2
67
- end
45
+ attr_reader :street2
68
46
 
69
- sig { params(_: String).returns(String) }
70
- def street2=(_)
71
- end
47
+ sig { params(street2: String).void }
48
+ attr_writer :street2
72
49
 
73
50
  sig do
74
51
  params(
@@ -80,7 +57,7 @@ module TerminalShop
80
57
  phone: String,
81
58
  province: String,
82
59
  street2: String,
83
- request_options: T.any(TerminalShop::RequestOptions, T::Hash[Symbol, T.anything])
60
+ request_options: T.any(TerminalShop::RequestOptions, TerminalShop::Util::AnyHash)
84
61
  )
85
62
  .returns(T.attached_class)
86
63
  end
@@ -3,13 +3,9 @@
3
3
  module TerminalShop
4
4
  module Models
5
5
  class AddressCreateResponse < TerminalShop::BaseModel
6
+ # Shipping address ID.
6
7
  sig { returns(String) }
7
- def data
8
- end
9
-
10
- sig { params(_: String).returns(String) }
11
- def data=(_)
12
- end
8
+ attr_accessor :data
13
9
 
14
10
  sig { params(data: String).returns(T.attached_class) }
15
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: {})
@@ -4,12 +4,7 @@ module TerminalShop
4
4
  module Models
5
5
  class AddressDeleteResponse < 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)
@@ -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: {})
@@ -3,15 +3,17 @@
3
3
  module TerminalShop
4
4
  module Models
5
5
  class AddressGetResponse < TerminalShop::BaseModel
6
+ # Physical address associated with a Terminal shop user.
6
7
  sig { returns(TerminalShop::Models::AddressAPI) }
7
- def data
8
- end
8
+ attr_reader :data
9
9
 
10
- sig { params(_: TerminalShop::Models::AddressAPI).returns(TerminalShop::Models::AddressAPI) }
11
- def data=(_)
12
- end
10
+ sig { params(data: T.any(TerminalShop::Models::AddressAPI, TerminalShop::Util::AnyHash)).void }
11
+ attr_writer :data
13
12
 
14
- sig { params(data: TerminalShop::Models::AddressAPI).returns(T.attached_class) }
13
+ sig do
14
+ params(data: T.any(TerminalShop::Models::AddressAPI, TerminalShop::Util::AnyHash))
15
+ .returns(T.attached_class)
16
+ end
15
17
  def self.new(data:)
16
18
  end
17
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: {})
@@ -3,15 +3,14 @@
3
3
  module TerminalShop
4
4
  module Models
5
5
  class AddressListResponse < TerminalShop::BaseModel
6
+ # Shipping addresses.
6
7
  sig { returns(T::Array[TerminalShop::Models::AddressAPI]) }
7
- def data
8
- end
8
+ attr_accessor :data
9
9
 
10
- sig { params(_: T::Array[TerminalShop::Models::AddressAPI]).returns(T::Array[TerminalShop::Models::AddressAPI]) }
11
- def data=(_)
10
+ sig do
11
+ params(data: T::Array[T.any(TerminalShop::Models::AddressAPI, TerminalShop::Util::AnyHash)])
12
+ .returns(T.attached_class)
12
13
  end
13
-
14
- sig { params(data: T::Array[TerminalShop::Models::AddressAPI]).returns(T.attached_class) }
15
14
  def self.new(data:)
16
15
  end
17
16
 
@@ -3,38 +3,23 @@
3
3
  module TerminalShop
4
4
  module Models
5
5
  class AppAPI < TerminalShop::BaseModel
6
+ # Unique object identifier. The format and length of IDs may change over time.
6
7
  sig { returns(String) }
7
- def id
8
- end
9
-
10
- sig { params(_: String).returns(String) }
11
- def id=(_)
12
- end
8
+ attr_accessor :id
13
9
 
10
+ # Name of the app.
14
11
  sig { returns(String) }
15
- def name
16
- end
17
-
18
- sig { params(_: String).returns(String) }
19
- def name=(_)
20
- end
12
+ attr_accessor :name
21
13
 
14
+ # Redirect URI of the app.
22
15
  sig { returns(String) }
23
- def redirect_uri
24
- end
25
-
26
- sig { params(_: String).returns(String) }
27
- def redirect_uri=(_)
28
- end
16
+ attr_accessor :redirect_uri
29
17
 
18
+ # OAuth 2.0 client secret of the app (obfuscated).
30
19
  sig { returns(String) }
31
- def secret
32
- end
33
-
34
- sig { params(_: String).returns(String) }
35
- def secret=(_)
36
- end
20
+ attr_accessor :secret
37
21
 
22
+ # A Terminal App used for configuring an OAuth 2.0 client.
38
23
  sig { params(id: String, name: String, redirect_uri: String, secret: String).returns(T.attached_class) }
39
24
  def self.new(id:, name:, redirect_uri:, secret:)
40
25
  end
@@ -7,26 +7,16 @@ module TerminalShop
7
7
  include TerminalShop::RequestParameters
8
8
 
9
9
  sig { returns(String) }
10
- def name
11
- end
12
-
13
- sig { params(_: String).returns(String) }
14
- def name=(_)
15
- end
10
+ attr_accessor :name
16
11
 
17
12
  sig { returns(String) }
18
- def redirect_uri
19
- end
20
-
21
- sig { params(_: String).returns(String) }
22
- def redirect_uri=(_)
23
- end
13
+ attr_accessor :redirect_uri
24
14
 
25
15
  sig do
26
16
  params(
27
17
  name: String,
28
18
  redirect_uri: 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
@@ -4,17 +4,15 @@ module TerminalShop
4
4
  module Models
5
5
  class AppCreateResponse < TerminalShop::BaseModel
6
6
  sig { returns(TerminalShop::Models::AppCreateResponse::Data) }
7
- def data
8
- end
7
+ attr_reader :data
8
+
9
+ sig { params(data: T.any(TerminalShop::Models::AppCreateResponse::Data, TerminalShop::Util::AnyHash)).void }
10
+ attr_writer :data
9
11
 
10
12
  sig do
11
- params(_: TerminalShop::Models::AppCreateResponse::Data)
12
- .returns(TerminalShop::Models::AppCreateResponse::Data)
13
- end
14
- def data=(_)
13
+ params(data: T.any(TerminalShop::Models::AppCreateResponse::Data, TerminalShop::Util::AnyHash))
14
+ .returns(T.attached_class)
15
15
  end
16
-
17
- sig { params(data: TerminalShop::Models::AppCreateResponse::Data).returns(T.attached_class) }
18
16
  def self.new(data:)
19
17
  end
20
18
 
@@ -23,21 +21,13 @@ module TerminalShop
23
21
  end
24
22
 
25
23
  class Data < TerminalShop::BaseModel
24
+ # OAuth 2.0 client ID.
26
25
  sig { returns(String) }
27
- def id
28
- end
29
-
30
- sig { params(_: String).returns(String) }
31
- def id=(_)
32
- end
26
+ attr_accessor :id
33
27
 
28
+ # OAuth 2.0 client secret.
34
29
  sig { returns(String) }
35
- def secret
36
- end
37
-
38
- sig { params(_: String).returns(String) }
39
- def secret=(_)
40
- end
30
+ attr_accessor :secret
41
31
 
42
32
  sig { params(id: String, secret: String).returns(T.attached_class) }
43
33
  def self.new(id:, secret:)
@@ -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: {})
@@ -4,12 +4,7 @@ module TerminalShop
4
4
  module Models
5
5
  class AppDeleteResponse < 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)