orb-billing 0.1.3 → 0.3.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 (381) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +65 -0
  4. data/README.md +61 -51
  5. data/lib/orb/client.rb +7 -6
  6. data/lib/orb/file_part.rb +55 -0
  7. data/lib/orb/internal/page.rb +37 -39
  8. data/lib/orb/internal/transport/base_client.rb +21 -11
  9. data/lib/orb/internal/transport/pooled_net_requester.rb +3 -3
  10. data/lib/orb/internal/type/array_of.rb +28 -2
  11. data/lib/orb/internal/type/base_model.rb +83 -21
  12. data/lib/orb/internal/type/base_page.rb +10 -1
  13. data/lib/orb/internal/type/boolean.rb +6 -0
  14. data/lib/orb/internal/type/converter.rb +28 -1
  15. data/lib/orb/internal/type/enum.rb +28 -8
  16. data/lib/orb/internal/type/{io_like.rb → file_input.rb} +35 -15
  17. data/lib/orb/internal/type/hash_of.rb +28 -2
  18. data/lib/orb/internal/type/request_parameters.rb +1 -2
  19. data/lib/orb/internal/type/union.rb +27 -4
  20. data/lib/orb/internal/type/unknown.rb +6 -0
  21. data/lib/orb/internal/util.rb +105 -70
  22. data/lib/orb/internal.rb +5 -2
  23. data/lib/orb/models/alert.rb +68 -71
  24. data/lib/orb/models/alert_create_for_customer_params.rb +20 -25
  25. data/lib/orb/models/alert_create_for_external_customer_params.rb +20 -25
  26. data/lib/orb/models/alert_create_for_subscription_params.rb +20 -25
  27. data/lib/orb/models/alert_disable_params.rb +5 -9
  28. data/lib/orb/models/alert_enable_params.rb +5 -9
  29. data/lib/orb/models/alert_list_params.rb +26 -36
  30. data/lib/orb/models/alert_retrieve_params.rb +3 -8
  31. data/lib/orb/models/alert_update_params.rb +14 -18
  32. data/lib/orb/models/amount_discount.rb +14 -14
  33. data/lib/orb/models/billable_metric.rb +23 -20
  34. data/lib/orb/models/billing_cycle_relative_date.rb +2 -5
  35. data/lib/orb/models/coupon.rb +28 -21
  36. data/lib/orb/models/coupon_archive_params.rb +3 -8
  37. data/lib/orb/models/coupon_create_params.rb +24 -29
  38. data/lib/orb/models/coupon_fetch_params.rb +3 -8
  39. data/lib/orb/models/coupon_list_params.rb +17 -17
  40. data/lib/orb/models/coupons/subscription_list_params.rb +12 -15
  41. data/lib/orb/models/credit_note.rb +100 -166
  42. data/lib/orb/models/credit_note_create_params.rb +15 -23
  43. data/lib/orb/models/credit_note_fetch_params.rb +3 -8
  44. data/lib/orb/models/credit_note_list_params.rb +20 -30
  45. data/lib/orb/models/customer.rb +224 -271
  46. data/lib/orb/models/customer_create_params.rb +211 -252
  47. data/lib/orb/models/customer_delete_params.rb +3 -8
  48. data/lib/orb/models/customer_fetch_by_external_id_params.rb +3 -8
  49. data/lib/orb/models/customer_fetch_params.rb +3 -8
  50. data/lib/orb/models/customer_list_params.rb +20 -30
  51. data/lib/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rb +3 -8
  52. data/lib/orb/models/customer_sync_payment_methods_from_gateway_params.rb +3 -8
  53. data/lib/orb/models/customer_update_by_external_id_params.rb +207 -250
  54. data/lib/orb/models/customer_update_params.rb +207 -250
  55. data/lib/orb/models/customers/balance_transaction_create_params.rb +11 -16
  56. data/lib/orb/models/customers/balance_transaction_create_response.rb +33 -51
  57. data/lib/orb/models/customers/balance_transaction_list_params.rb +20 -30
  58. data/lib/orb/models/customers/balance_transaction_list_response.rb +33 -51
  59. data/lib/orb/models/customers/cost_list_by_external_id_params.rb +17 -17
  60. data/lib/orb/models/customers/cost_list_by_external_id_response.rb +22 -26
  61. data/lib/orb/models/customers/cost_list_params.rb +17 -17
  62. data/lib/orb/models/customers/cost_list_response.rb +22 -26
  63. data/lib/orb/models/customers/credit_list_by_external_id_params.rb +18 -22
  64. data/lib/orb/models/customers/credit_list_by_external_id_response.rb +10 -17
  65. data/lib/orb/models/customers/credit_list_params.rb +18 -22
  66. data/lib/orb/models/customers/credit_list_response.rb +10 -17
  67. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +64 -66
  68. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rb +300 -406
  69. data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +63 -66
  70. data/lib/orb/models/customers/credits/ledger_create_entry_response.rb +300 -406
  71. data/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rb +33 -48
  72. data/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rb +300 -406
  73. data/lib/orb/models/customers/credits/ledger_list_params.rb +32 -48
  74. data/lib/orb/models/customers/credits/ledger_list_response.rb +300 -406
  75. data/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rb +47 -50
  76. data/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rb +43 -46
  77. data/lib/orb/models/customers/credits/top_up_create_params.rb +46 -50
  78. data/lib/orb/models/customers/credits/top_up_create_response.rb +42 -46
  79. data/lib/orb/models/customers/credits/top_up_delete_by_external_id_params.rb +4 -9
  80. data/lib/orb/models/customers/credits/top_up_delete_params.rb +4 -9
  81. data/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rb +12 -15
  82. data/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rb +43 -46
  83. data/lib/orb/models/customers/credits/top_up_list_params.rb +12 -15
  84. data/lib/orb/models/customers/credits/top_up_list_response.rb +42 -46
  85. data/lib/orb/models/dimensional_price_group.rb +21 -15
  86. data/lib/orb/models/dimensional_price_group_create_params.rb +17 -23
  87. data/lib/orb/models/dimensional_price_group_list_params.rb +12 -15
  88. data/lib/orb/models/dimensional_price_group_retrieve_params.rb +3 -8
  89. data/lib/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rb +3 -8
  90. data/lib/orb/models/dimensional_price_groups.rb +3 -7
  91. data/lib/orb/models/discount.rb +2 -3
  92. data/lib/orb/models/evaluate_price_group.rb +8 -11
  93. data/lib/orb/models/event_deprecate_params.rb +3 -8
  94. data/lib/orb/models/event_deprecate_response.rb +2 -6
  95. data/lib/orb/models/event_ingest_params.rb +33 -27
  96. data/lib/orb/models/event_ingest_response.rb +23 -24
  97. data/lib/orb/models/event_search_params.rb +15 -11
  98. data/lib/orb/models/event_search_response.rb +27 -22
  99. data/lib/orb/models/event_update_params.rb +19 -13
  100. data/lib/orb/models/event_update_response.rb +2 -6
  101. data/lib/orb/models/events/backfill_close_params.rb +3 -8
  102. data/lib/orb/models/events/backfill_close_response.rb +34 -39
  103. data/lib/orb/models/events/backfill_create_params.rb +28 -32
  104. data/lib/orb/models/events/backfill_create_response.rb +34 -39
  105. data/lib/orb/models/events/backfill_fetch_params.rb +3 -8
  106. data/lib/orb/models/events/backfill_fetch_response.rb +34 -39
  107. data/lib/orb/models/events/backfill_list_params.rb +12 -15
  108. data/lib/orb/models/events/backfill_list_response.rb +34 -39
  109. data/lib/orb/models/events/backfill_revert_params.rb +3 -8
  110. data/lib/orb/models/events/backfill_revert_response.rb +34 -39
  111. data/lib/orb/models/events/event_volumes.rb +11 -17
  112. data/lib/orb/models/events/volume_list_params.rb +19 -22
  113. data/lib/orb/models/invoice.rb +589 -637
  114. data/lib/orb/models/invoice_create_params.rb +52 -61
  115. data/lib/orb/models/invoice_fetch_params.rb +3 -8
  116. data/lib/orb/models/invoice_fetch_upcoming_params.rb +4 -9
  117. data/lib/orb/models/invoice_fetch_upcoming_response.rb +584 -631
  118. data/lib/orb/models/invoice_issue_params.rb +10 -14
  119. data/lib/orb/models/invoice_level_discount.rb +2 -3
  120. data/lib/orb/models/invoice_line_item_create_params.rb +19 -14
  121. data/lib/orb/models/invoice_line_item_create_response.rb +247 -269
  122. data/lib/orb/models/invoice_list_params.rb +51 -66
  123. data/lib/orb/models/invoice_mark_paid_params.rb +9 -11
  124. data/lib/orb/models/invoice_pay_params.rb +3 -8
  125. data/lib/orb/models/invoice_update_params.rb +9 -9
  126. data/lib/orb/models/invoice_void_params.rb +3 -8
  127. data/lib/orb/models/item.rb +14 -25
  128. data/lib/orb/models/item_create_params.rb +5 -9
  129. data/lib/orb/models/item_fetch_params.rb +3 -8
  130. data/lib/orb/models/item_list_params.rb +12 -15
  131. data/lib/orb/models/item_update_params.rb +10 -22
  132. data/lib/orb/models/metric_create_params.rb +17 -13
  133. data/lib/orb/models/metric_fetch_params.rb +3 -8
  134. data/lib/orb/models/metric_list_params.rb +20 -30
  135. data/lib/orb/models/metric_update_params.rb +9 -9
  136. data/lib/orb/models/pagination_metadata.rb +3 -7
  137. data/lib/orb/models/percentage_discount.rb +15 -14
  138. data/lib/orb/models/plan.rb +250 -279
  139. data/lib/orb/models/plan_create_params.rb +1623 -1984
  140. data/lib/orb/models/plan_fetch_params.rb +3 -8
  141. data/lib/orb/models/plan_list_params.rb +25 -42
  142. data/lib/orb/models/plan_update_params.rb +12 -10
  143. data/lib/orb/models/plans/external_plan_id_fetch_params.rb +3 -8
  144. data/lib/orb/models/plans/external_plan_id_update_params.rb +12 -10
  145. data/lib/orb/models/price.rb +2709 -3820
  146. data/lib/orb/models/price_create_params.rb +203 -244
  147. data/lib/orb/models/price_evaluate_params.rb +21 -30
  148. data/lib/orb/models/price_evaluate_response.rb +2 -6
  149. data/lib/orb/models/price_fetch_params.rb +3 -8
  150. data/lib/orb/models/price_list_params.rb +12 -15
  151. data/lib/orb/models/price_update_params.rb +9 -9
  152. data/lib/orb/models/prices/external_price_id_fetch_params.rb +3 -8
  153. data/lib/orb/models/prices/external_price_id_update_params.rb +9 -9
  154. data/lib/orb/models/subscription.rb +343 -382
  155. data/lib/orb/models/subscription_cancel_params.rb +16 -16
  156. data/lib/orb/models/subscription_cancel_response.rb +339 -377
  157. data/lib/orb/models/subscription_change_apply_params.rb +7 -10
  158. data/lib/orb/models/subscription_change_apply_response.rb +365 -398
  159. data/lib/orb/models/subscription_change_cancel_params.rb +3 -8
  160. data/lib/orb/models/subscription_change_cancel_response.rb +365 -398
  161. data/lib/orb/models/subscription_change_retrieve_params.rb +3 -8
  162. data/lib/orb/models/subscription_change_retrieve_response.rb +366 -398
  163. data/lib/orb/models/subscription_create_params.rb +3771 -4402
  164. data/lib/orb/models/subscription_create_response.rb +339 -377
  165. data/lib/orb/models/subscription_fetch_costs_params.rb +17 -17
  166. data/lib/orb/models/subscription_fetch_costs_response.rb +22 -26
  167. data/lib/orb/models/subscription_fetch_params.rb +3 -8
  168. data/lib/orb/models/subscription_fetch_schedule_params.rb +20 -30
  169. data/lib/orb/models/subscription_fetch_schedule_response.rb +15 -17
  170. data/lib/orb/models/subscription_fetch_usage_params.rb +32 -43
  171. data/lib/orb/models/subscription_list_params.rb +28 -41
  172. data/lib/orb/models/subscription_price_intervals_params.rb +2018 -2472
  173. data/lib/orb/models/subscription_price_intervals_response.rb +342 -377
  174. data/lib/orb/models/subscription_schedule_plan_change_params.rb +3764 -4392
  175. data/lib/orb/models/subscription_schedule_plan_change_response.rb +342 -377
  176. data/lib/orb/models/subscription_trigger_phase_params.rb +12 -10
  177. data/lib/orb/models/subscription_trigger_phase_response.rb +341 -377
  178. data/lib/orb/models/subscription_unschedule_cancellation_params.rb +3 -8
  179. data/lib/orb/models/subscription_unschedule_cancellation_response.rb +342 -377
  180. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rb +5 -9
  181. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rb +343 -377
  182. data/lib/orb/models/subscription_unschedule_pending_plan_changes_params.rb +3 -8
  183. data/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rb +343 -377
  184. data/lib/orb/models/subscription_update_fixed_fee_quantity_params.rb +22 -33
  185. data/lib/orb/models/subscription_update_fixed_fee_quantity_response.rb +342 -377
  186. data/lib/orb/models/subscription_update_params.rb +21 -23
  187. data/lib/orb/models/subscription_update_trial_params.rb +15 -18
  188. data/lib/orb/models/subscription_update_trial_response.rb +341 -377
  189. data/lib/orb/models/subscription_usage.rb +37 -80
  190. data/lib/orb/models/subscriptions.rb +3 -7
  191. data/lib/orb/models/top_level_ping_params.rb +3 -8
  192. data/lib/orb/models/top_level_ping_response.rb +2 -6
  193. data/lib/orb/models/trial_discount.rb +16 -24
  194. data/lib/orb/models/usage_discount.rb +15 -14
  195. data/lib/orb/request_options.rb +3 -4
  196. data/lib/orb/resources/alerts.rb +48 -17
  197. data/lib/orb/resources/coupons/subscriptions.rb +9 -2
  198. data/lib/orb/resources/coupons.rb +25 -7
  199. data/lib/orb/resources/credit_notes.rb +17 -4
  200. data/lib/orb/resources/customers/balance_transactions.rb +18 -3
  201. data/lib/orb/resources/customers/costs.rb +26 -8
  202. data/lib/orb/resources/customers/credits/ledger.rb +108 -28
  203. data/lib/orb/resources/customers/credits/top_ups.rb +67 -20
  204. data/lib/orb/resources/customers/credits.rb +28 -8
  205. data/lib/orb/resources/customers.rb +135 -36
  206. data/lib/orb/resources/dimensional_price_groups.rb +19 -4
  207. data/lib/orb/resources/events/backfills.rb +32 -9
  208. data/lib/orb/resources/events/volume.rb +14 -4
  209. data/lib/orb/resources/events.rb +40 -11
  210. data/lib/orb/resources/invoice_line_items.rb +16 -6
  211. data/lib/orb/resources/invoices.rb +77 -17
  212. data/lib/orb/resources/items.rb +10 -3
  213. data/lib/orb/resources/metrics.rb +33 -8
  214. data/lib/orb/resources/plans/external_plan_id.rb +10 -2
  215. data/lib/orb/resources/plans.rb +47 -11
  216. data/lib/orb/resources/prices/external_price_id.rb +7 -1
  217. data/lib/orb/resources/prices.rb +97 -22
  218. data/lib/orb/resources/subscription_changes.rb +5 -2
  219. data/lib/orb/resources/subscriptions.rb +292 -78
  220. data/lib/orb/version.rb +1 -1
  221. data/lib/orb.rb +2 -10
  222. data/rbi/lib/orb/client.rbi +7 -6
  223. data/rbi/lib/orb/file_part.rbi +34 -0
  224. data/rbi/lib/orb/internal/page.rbi +1 -0
  225. data/rbi/lib/orb/internal/transport/base_client.rbi +18 -3
  226. data/rbi/lib/orb/internal/type/array_of.rbi +15 -9
  227. data/rbi/lib/orb/internal/type/base_model.rbi +22 -0
  228. data/rbi/lib/orb/internal/type/base_page.rbi +2 -0
  229. data/rbi/lib/orb/internal/type/boolean.rbi +4 -5
  230. data/rbi/lib/orb/internal/type/converter.rbi +8 -0
  231. data/rbi/lib/orb/internal/type/enum.rbi +7 -6
  232. data/rbi/lib/orb/internal/type/{io_like.rbi → file_input.rbi} +9 -7
  233. data/rbi/lib/orb/internal/type/hash_of.rbi +15 -9
  234. data/rbi/lib/orb/internal/type/union.rbi +7 -0
  235. data/rbi/lib/orb/internal/type/unknown.rbi +4 -5
  236. data/rbi/lib/orb/internal/util.rbi +39 -19
  237. data/rbi/lib/orb/internal.rbi +1 -2
  238. data/rbi/lib/orb/models/alert.rbi +28 -8
  239. data/rbi/lib/orb/models/alert_create_for_customer_params.rbi +16 -6
  240. data/rbi/lib/orb/models/alert_create_for_external_customer_params.rbi +16 -6
  241. data/rbi/lib/orb/models/alert_create_for_subscription_params.rbi +16 -6
  242. data/rbi/lib/orb/models/alert_disable_params.rbi +5 -2
  243. data/rbi/lib/orb/models/alert_enable_params.rbi +5 -2
  244. data/rbi/lib/orb/models/alert_list_params.rbi +6 -0
  245. data/rbi/lib/orb/models/alert_update_params.rbi +11 -4
  246. data/rbi/lib/orb/models/amount_discount.rbi +10 -4
  247. data/rbi/lib/orb/models/billable_metric.rbi +16 -3
  248. data/rbi/lib/orb/models/billing_cycle_relative_date.rbi +1 -1
  249. data/rbi/lib/orb/models/coupon.rbi +10 -3
  250. data/rbi/lib/orb/models/coupon_create_params.rbi +6 -3
  251. data/rbi/lib/orb/models/coupon_list_params.rbi +13 -3
  252. data/rbi/lib/orb/models/coupons/subscription_list_params.rbi +8 -2
  253. data/rbi/lib/orb/models/credit_note.rbi +44 -12
  254. data/rbi/lib/orb/models/credit_note_create_params.rbi +15 -6
  255. data/rbi/lib/orb/models/credit_note_list_params.rbi +3 -0
  256. data/rbi/lib/orb/models/customer.rbi +130 -11
  257. data/rbi/lib/orb/models/customer_create_params.rbi +142 -8
  258. data/rbi/lib/orb/models/customer_list_params.rbi +3 -0
  259. data/rbi/lib/orb/models/customer_update_by_external_id_params.rbi +140 -8
  260. data/rbi/lib/orb/models/customer_update_params.rbi +140 -8
  261. data/rbi/lib/orb/models/customers/balance_transaction_create_params.rbi +8 -4
  262. data/rbi/lib/orb/models/customers/balance_transaction_create_response.rbi +18 -8
  263. data/rbi/lib/orb/models/customers/balance_transaction_list_params.rbi +3 -0
  264. data/rbi/lib/orb/models/customers/balance_transaction_list_response.rbi +18 -8
  265. data/rbi/lib/orb/models/customers/cost_list_by_external_id_params.rbi +9 -5
  266. data/rbi/lib/orb/models/customers/cost_list_by_external_id_response.rbi +21 -4
  267. data/rbi/lib/orb/models/customers/cost_list_params.rbi +9 -5
  268. data/rbi/lib/orb/models/customers/cost_list_response.rbi +21 -4
  269. data/rbi/lib/orb/models/customers/credit_list_by_external_id_params.rbi +13 -3
  270. data/rbi/lib/orb/models/customers/credit_list_by_external_id_response.rbi +1 -2
  271. data/rbi/lib/orb/models/customers/credit_list_params.rbi +13 -3
  272. data/rbi/lib/orb/models/customers/credit_list_response.rbi +1 -2
  273. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +40 -18
  274. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbi +35 -56
  275. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_params.rbi +40 -6
  276. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_response.rbi +35 -56
  277. data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rbi +6 -16
  278. data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rbi +35 -56
  279. data/rbi/lib/orb/models/customers/credits/ledger_list_params.rbi +6 -4
  280. data/rbi/lib/orb/models/customers/credits/ledger_list_response.rbi +35 -56
  281. data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rbi +27 -10
  282. data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rbi +25 -10
  283. data/rbi/lib/orb/models/customers/credits/top_up_create_params.rbi +27 -4
  284. data/rbi/lib/orb/models/customers/credits/top_up_create_response.rbi +25 -10
  285. data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rbi +8 -2
  286. data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rbi +25 -10
  287. data/rbi/lib/orb/models/customers/credits/top_up_list_params.rbi +8 -2
  288. data/rbi/lib/orb/models/customers/credits/top_up_list_response.rbi +25 -4
  289. data/rbi/lib/orb/models/dimensional_price_group.rbi +11 -3
  290. data/rbi/lib/orb/models/dimensional_price_group_create_params.rbi +4 -0
  291. data/rbi/lib/orb/models/dimensional_price_group_list_params.rbi +8 -2
  292. data/rbi/lib/orb/models/evaluate_price_group.rbi +8 -2
  293. data/rbi/lib/orb/models/event_deprecate_response.rbi +4 -2
  294. data/rbi/lib/orb/models/event_ingest_params.rbi +22 -5
  295. data/rbi/lib/orb/models/event_ingest_response.rbi +15 -4
  296. data/rbi/lib/orb/models/event_search_params.rbi +14 -2
  297. data/rbi/lib/orb/models/event_search_response.rbi +14 -3
  298. data/rbi/lib/orb/models/event_update_params.rbi +10 -3
  299. data/rbi/lib/orb/models/event_update_response.rbi +4 -2
  300. data/rbi/lib/orb/models/events/backfill_close_response.rbi +14 -2
  301. data/rbi/lib/orb/models/events/backfill_create_params.rbi +18 -0
  302. data/rbi/lib/orb/models/events/backfill_create_response.rbi +14 -2
  303. data/rbi/lib/orb/models/events/backfill_fetch_response.rbi +14 -2
  304. data/rbi/lib/orb/models/events/backfill_list_params.rbi +8 -2
  305. data/rbi/lib/orb/models/events/backfill_list_response.rbi +14 -2
  306. data/rbi/lib/orb/models/events/backfill_revert_response.rbi +14 -2
  307. data/rbi/lib/orb/models/events/event_volumes.rbi +6 -2
  308. data/rbi/lib/orb/models/events/volume_list_params.rbi +18 -2
  309. data/rbi/lib/orb/models/invoice.rbi +375 -46
  310. data/rbi/lib/orb/models/invoice_create_params.rbi +38 -6
  311. data/rbi/lib/orb/models/invoice_fetch_upcoming_response.rbi +375 -66
  312. data/rbi/lib/orb/models/invoice_issue_params.rbi +9 -2
  313. data/rbi/lib/orb/models/invoice_line_item_create_params.rbi +16 -2
  314. data/rbi/lib/orb/models/invoice_line_item_create_response.rbi +141 -20
  315. data/rbi/lib/orb/models/invoice_list_params.rbi +9 -2
  316. data/rbi/lib/orb/models/invoice_mark_paid_params.rbi +9 -2
  317. data/rbi/lib/orb/models/invoice_update_params.rbi +7 -2
  318. data/rbi/lib/orb/models/item.rbi +1 -2
  319. data/rbi/lib/orb/models/item_create_params.rbi +5 -2
  320. data/rbi/lib/orb/models/item_list_params.rbi +8 -2
  321. data/rbi/lib/orb/models/item_update_params.rbi +1 -8
  322. data/rbi/lib/orb/models/metric_create_params.rbi +15 -2
  323. data/rbi/lib/orb/models/metric_list_params.rbi +3 -0
  324. data/rbi/lib/orb/models/metric_update_params.rbi +7 -2
  325. data/rbi/lib/orb/models/percentage_discount.rbi +11 -4
  326. data/rbi/lib/orb/models/plan.rbi +102 -15
  327. data/rbi/lib/orb/models/plan_create_params.rbi +997 -679
  328. data/rbi/lib/orb/models/plan_list_params.rbi +5 -1
  329. data/rbi/lib/orb/models/plan_update_params.rbi +11 -2
  330. data/rbi/lib/orb/models/plans/external_plan_id_update_params.rbi +11 -2
  331. data/rbi/lib/orb/models/price.rbi +717 -688
  332. data/rbi/lib/orb/models/price_create_params.rbi +137 -53
  333. data/rbi/lib/orb/models/price_evaluate_params.rbi +10 -0
  334. data/rbi/lib/orb/models/price_list_params.rbi +8 -2
  335. data/rbi/lib/orb/models/price_update_params.rbi +7 -2
  336. data/rbi/lib/orb/models/prices/external_price_id_update_params.rbi +7 -2
  337. data/rbi/lib/orb/models/subscription.rbi +174 -11
  338. data/rbi/lib/orb/models/subscription_cancel_params.rbi +8 -5
  339. data/rbi/lib/orb/models/subscription_cancel_response.rbi +187 -14
  340. data/rbi/lib/orb/models/subscription_change_apply_params.rbi +7 -2
  341. data/rbi/lib/orb/models/subscription_change_apply_response.rbi +199 -18
  342. data/rbi/lib/orb/models/subscription_change_cancel_response.rbi +199 -18
  343. data/rbi/lib/orb/models/subscription_change_retrieve_response.rbi +199 -18
  344. data/rbi/lib/orb/models/subscription_create_params.rbi +2282 -1536
  345. data/rbi/lib/orb/models/subscription_create_response.rbi +187 -14
  346. data/rbi/lib/orb/models/subscription_fetch_costs_params.rbi +9 -5
  347. data/rbi/lib/orb/models/subscription_fetch_costs_response.rbi +21 -4
  348. data/rbi/lib/orb/models/subscription_fetch_schedule_params.rbi +3 -0
  349. data/rbi/lib/orb/models/subscription_fetch_schedule_response.rbi +8 -2
  350. data/rbi/lib/orb/models/subscription_fetch_usage_params.rbi +13 -4
  351. data/rbi/lib/orb/models/subscription_list_params.rbi +4 -2
  352. data/rbi/lib/orb/models/subscription_price_intervals_params.rbi +1228 -861
  353. data/rbi/lib/orb/models/subscription_price_intervals_response.rbi +187 -14
  354. data/rbi/lib/orb/models/subscription_schedule_plan_change_params.rbi +2288 -1544
  355. data/rbi/lib/orb/models/subscription_schedule_plan_change_response.rbi +187 -14
  356. data/rbi/lib/orb/models/subscription_trigger_phase_params.rbi +10 -2
  357. data/rbi/lib/orb/models/subscription_trigger_phase_response.rbi +187 -14
  358. data/rbi/lib/orb/models/subscription_unschedule_cancellation_response.rbi +187 -14
  359. data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rbi +5 -2
  360. data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbi +187 -20
  361. data/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rbi +187 -14
  362. data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_params.rbi +11 -2
  363. data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_response.rbi +187 -14
  364. data/rbi/lib/orb/models/subscription_update_params.rbi +15 -0
  365. data/rbi/lib/orb/models/subscription_update_trial_params.rbi +11 -5
  366. data/rbi/lib/orb/models/subscription_update_trial_response.rbi +187 -14
  367. data/rbi/lib/orb/models/subscription_usage.rbi +2 -16
  368. data/rbi/lib/orb/models/trial_discount.rbi +5 -1
  369. data/rbi/lib/orb/models/usage_discount.rbi +11 -3
  370. data/sig/orb/file_part.rbs +21 -0
  371. data/sig/orb/internal/transport/base_client.rbs +9 -3
  372. data/sig/orb/internal/type/array_of.rbs +4 -0
  373. data/sig/orb/internal/type/base_model.rbs +12 -0
  374. data/sig/orb/internal/type/converter.rbs +4 -0
  375. data/sig/orb/internal/type/enum.rbs +4 -2
  376. data/sig/orb/internal/type/{io_like.rbs → file_input.rbs} +1 -1
  377. data/sig/orb/internal/type/hash_of.rbs +4 -0
  378. data/sig/orb/internal/type/union.rbs +4 -0
  379. data/sig/orb/internal/util.rbs +16 -12
  380. data/sig/orb/internal.rbs +1 -1
  381. metadata +9 -5
@@ -175,18 +175,17 @@ module Orb
175
175
  # @api private
176
176
  #
177
177
  # @param data [Hash{Symbol=>Object}, Array<Object>, Object]
178
- # @param pick [Symbol, Integer, Array<Symbol, Integer>, nil]
179
- # @param sentinel [Object, nil]
178
+ # @param pick [Symbol, Integer, Array<Symbol, Integer>, Proc, nil]
180
179
  # @param blk [Proc, nil]
181
180
  #
182
181
  # @return [Object, nil]
183
- def dig(data, pick, sentinel = nil, &blk)
184
- case [data, pick, blk]
185
- in [_, nil, nil]
182
+ def dig(data, pick, &blk)
183
+ case [data, pick]
184
+ in [_, nil]
186
185
  data
187
- in [Hash, Symbol, _] | [Array, Integer, _]
188
- blk.nil? ? data.fetch(pick, sentinel) : data.fetch(pick, &blk)
189
- in [Hash | Array, Array, _]
186
+ in [Hash, Symbol] | [Array, Integer]
187
+ data.fetch(pick) { blk&.call }
188
+ in [Hash | Array, Array]
190
189
  pick.reduce(data) do |acc, key|
191
190
  case acc
192
191
  in Hash if acc.key?(key)
@@ -194,11 +193,13 @@ module Orb
194
193
  in Array if key.is_a?(Integer) && key < acc.length
195
194
  acc[key]
196
195
  else
197
- return blk.nil? ? sentinel : blk.call
196
+ return blk&.call
198
197
  end
199
198
  end
200
- in _
201
- blk.nil? ? sentinel : blk.call
199
+ in [_, Proc]
200
+ pick.call(data)
201
+ else
202
+ blk&.call
202
203
  end
203
204
  end
204
205
  end
@@ -348,27 +349,6 @@ module Orb
348
349
  end
349
350
  end
350
351
 
351
- # @api private
352
- class SerializationAdapter
353
- # @return [Pathname, IO]
354
- attr_reader :inner
355
-
356
- # @param a [Object]
357
- #
358
- # @return [String]
359
- def to_json(*a) = (inner.is_a?(IO) ? inner.read : inner.read(binmode: true)).to_json(*a)
360
-
361
- # @param a [Object]
362
- #
363
- # @return [String]
364
- def to_yaml(*a) = (inner.is_a?(IO) ? inner.read : inner.read(binmode: true)).to_yaml(*a)
365
-
366
- # @api private
367
- #
368
- # @param inner [Pathname, IO]
369
- def initialize(inner) = @inner = inner
370
- end
371
-
372
352
  # @api private
373
353
  #
374
354
  # An adapter that satisfies the IO interface required by `::IO.copy_stream`
@@ -448,7 +428,7 @@ module Orb
448
428
  else
449
429
  src
450
430
  end
451
- @buf = String.new.b
431
+ @buf = String.new
452
432
  @blk = blk
453
433
  end
454
434
  end
@@ -460,7 +440,7 @@ module Orb
460
440
  # @return [Enumerable<String>]
461
441
  def writable_enum(&blk)
462
442
  Enumerator.new do |y|
463
- buf = String.new.b
443
+ buf = String.new
464
444
  y.define_singleton_method(:write) do
465
445
  self << buf.replace(_1)
466
446
  buf.bytesize
@@ -471,46 +451,44 @@ module Orb
471
451
  end
472
452
  end
473
453
 
454
+ # @type [Regexp]
455
+ JSON_CONTENT = %r{^application/(?:vnd(?:\.[^.]+)*\+)?json(?!l)}
456
+ # @type [Regexp]
457
+ JSONL_CONTENT = %r{^application/(?:x-)?jsonl}
458
+
474
459
  class << self
475
460
  # @api private
476
461
  #
477
462
  # @param y [Enumerator::Yielder]
478
- # @param boundary [String]
479
- # @param key [Symbol, String]
480
463
  # @param val [Object]
481
464
  # @param closing [Array<Proc>]
482
- private def write_multipart_chunk(y, boundary:, key:, val:, closing:)
483
- val = val.inner if val.is_a?(Orb::Internal::Util::SerializationAdapter)
465
+ # @param content_type [String, nil]
466
+ private def write_multipart_content(y, val:, closing:, content_type: nil)
467
+ content_type ||= "application/octet-stream"
484
468
 
485
- y << "--#{boundary}\r\n"
486
- y << "Content-Disposition: form-data"
487
- unless key.nil?
488
- name = ERB::Util.url_encode(key.to_s)
489
- y << "; name=\"#{name}\""
490
- end
491
- case val
492
- in Pathname | IO
493
- filename = ERB::Util.url_encode(File.basename(val.to_path))
494
- y << "; filename=\"#{filename}\""
495
- else
496
- end
497
- y << "\r\n"
498
469
  case val
470
+ in Orb::FilePart
471
+ return write_multipart_content(
472
+ y,
473
+ val: val.content,
474
+ closing: closing,
475
+ content_type: val.content_type
476
+ )
499
477
  in Pathname
500
- y << "Content-Type: application/octet-stream\r\n\r\n"
478
+ y << "Content-Type: #{content_type}\r\n\r\n"
501
479
  io = val.open(binmode: true)
502
480
  closing << io.method(:close)
503
481
  IO.copy_stream(io, y)
504
482
  in IO
505
- y << "Content-Type: application/octet-stream\r\n\r\n"
483
+ y << "Content-Type: #{content_type}\r\n\r\n"
506
484
  IO.copy_stream(val, y)
507
485
  in StringIO
508
- y << "Content-Type: application/octet-stream\r\n\r\n"
486
+ y << "Content-Type: #{content_type}\r\n\r\n"
509
487
  y << val.string
510
488
  in String
511
- y << "Content-Type: application/octet-stream\r\n\r\n"
489
+ y << "Content-Type: #{content_type}\r\n\r\n"
512
490
  y << val.to_s
513
- in _ if primitive?(val)
491
+ in -> { primitive?(_1) }
514
492
  y << "Content-Type: text/plain\r\n\r\n"
515
493
  y << val.to_s
516
494
  else
@@ -520,6 +498,36 @@ module Orb
520
498
  y << "\r\n"
521
499
  end
522
500
 
501
+ # @api private
502
+ #
503
+ # @param y [Enumerator::Yielder]
504
+ # @param boundary [String]
505
+ # @param key [Symbol, String]
506
+ # @param val [Object]
507
+ # @param closing [Array<Proc>]
508
+ private def write_multipart_chunk(y, boundary:, key:, val:, closing:)
509
+ y << "--#{boundary}\r\n"
510
+ y << "Content-Disposition: form-data"
511
+
512
+ unless key.nil?
513
+ name = ERB::Util.url_encode(key.to_s)
514
+ y << "; name=\"#{name}\""
515
+ end
516
+
517
+ case val
518
+ in Orb::FilePart unless val.filename.nil?
519
+ filename = ERB::Util.url_encode(val.filename)
520
+ y << "; filename=\"#{filename}\""
521
+ in Pathname | IO
522
+ filename = ERB::Util.url_encode(File.basename(val.to_path))
523
+ y << "; filename=\"#{filename}\""
524
+ else
525
+ end
526
+ y << "\r\n"
527
+
528
+ write_multipart_content(y, val: val, closing: closing)
529
+ end
530
+
523
531
  # @api private
524
532
  #
525
533
  # @param body [Object]
@@ -560,14 +568,12 @@ module Orb
560
568
  # @return [Object]
561
569
  def encode_content(headers, body)
562
570
  content_type = headers["content-type"]
563
- body = body.inner if body.is_a?(Orb::Internal::Util::SerializationAdapter)
564
-
565
571
  case [content_type, body]
566
- in [%r{^application/(?:vnd\.api\+)?json}, Hash | Array | -> { primitive?(_1) }]
572
+ in [Orb::Internal::Util::JSON_CONTENT, Hash | Array | -> { primitive?(_1) }]
567
573
  [headers, JSON.fast_generate(body)]
568
- in [%r{^application/(?:x-)?jsonl}, Enumerable] unless body.is_a?(StringIO) || body.is_a?(IO)
574
+ in [Orb::Internal::Util::JSONL_CONTENT, Enumerable] unless body.is_a?(Orb::Internal::Type::FileInput)
569
575
  [headers, body.lazy.map { JSON.fast_generate(_1) }]
570
- in [%r{^multipart/form-data}, Hash | Pathname | StringIO | IO]
576
+ in [%r{^multipart/form-data}, Hash | Orb::Internal::Type::FileInput]
571
577
  boundary, strio = encode_multipart_streaming(body)
572
578
  headers = {**headers, "content-type" => "#{content_type}; boundary=#{boundary}"}
573
579
  [headers, strio]
@@ -575,6 +581,8 @@ module Orb
575
581
  [headers, body.to_s]
576
582
  in [_, StringIO]
577
583
  [headers, body.string]
584
+ in [_, Orb::FilePart]
585
+ [headers, body.content]
578
586
  else
579
587
  [headers, body]
580
588
  end
@@ -582,6 +590,27 @@ module Orb
582
590
 
583
591
  # @api private
584
592
  #
593
+ # https://www.iana.org/assignments/character-sets/character-sets.xhtml
594
+ #
595
+ # @param content_type [String]
596
+ # @param text [String]
597
+ def force_charset!(content_type, text:)
598
+ charset = /charset=([^;\s]+)/.match(content_type)&.captures&.first
599
+
600
+ return unless charset
601
+
602
+ begin
603
+ encoding = Encoding.find(charset)
604
+ text.force_encoding(encoding)
605
+ rescue ArgumentError
606
+ nil
607
+ end
608
+ end
609
+
610
+ # @api private
611
+ #
612
+ # Assumes each chunk in stream has `Encoding::BINARY`.
613
+ #
585
614
  # @param headers [Hash{String=>String}, Net::HTTPHeader]
586
615
  # @param stream [Enumerable<String>]
587
616
  # @param suppress_error [Boolean]
@@ -589,8 +618,8 @@ module Orb
589
618
  # @raise [JSON::ParserError]
590
619
  # @return [Object]
591
620
  def decode_content(headers, stream:, suppress_error: false)
592
- case headers["content-type"]
593
- in %r{^application/(?:vnd\.api\+)?json}
621
+ case (content_type = headers["content-type"])
622
+ in Orb::Internal::Util::JSON_CONTENT
594
623
  json = stream.to_a.join
595
624
  begin
596
625
  JSON.parse(json, symbolize_names: true)
@@ -598,7 +627,7 @@ module Orb
598
627
  raise e unless suppress_error
599
628
  json
600
629
  end
601
- in %r{^application/(?:x-)?jsonl}
630
+ in Orb::Internal::Util::JSONL_CONTENT
602
631
  lines = decode_lines(stream)
603
632
  chain_fused(lines) do |y|
604
633
  lines.each { y << JSON.parse(_1, symbolize_names: true) }
@@ -606,11 +635,10 @@ module Orb
606
635
  in %r{^text/event-stream}
607
636
  lines = decode_lines(stream)
608
637
  decode_sse(lines)
609
- in %r{^text/}
610
- stream.to_a.join
611
638
  else
612
- # TODO: parsing other response types
613
- StringIO.new(stream.to_a.join)
639
+ text = stream.to_a.join
640
+ force_charset!(content_type, text: text)
641
+ StringIO.new(text)
614
642
  end
615
643
  end
616
644
  end
@@ -675,12 +703,17 @@ module Orb
675
703
  class << self
676
704
  # @api private
677
705
  #
706
+ # Assumes Strings have been forced into having `Encoding::BINARY`.
707
+ #
708
+ # This decoder is responsible for reassembling lines split across multiple
709
+ # fragments.
710
+ #
678
711
  # @param enum [Enumerable<String>]
679
712
  #
680
713
  # @return [Enumerable<String>]
681
714
  def decode_lines(enum)
682
715
  re = /(\r\n|\r|\n)/
683
- buffer = String.new.b
716
+ buffer = String.new
684
717
  cr_seen = nil
685
718
 
686
719
  chain_fused(enum) do |y|
@@ -711,6 +744,8 @@ module Orb
711
744
  #
712
745
  # https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream
713
746
  #
747
+ # Assumes that `lines` has been decoded with `#decode_lines`.
748
+ #
714
749
  # @param lines [Enumerable<String>]
715
750
  #
716
751
  # @return [Enumerable<Hash{Symbol=>Object}>]
@@ -734,7 +769,7 @@ module Orb
734
769
  in "event"
735
770
  current.merge!(event: value)
736
771
  in "data"
737
- (current[:data] ||= String.new.b) << (value << "\n")
772
+ (current[:data] ||= String.new) << (value << "\n")
738
773
  in "id" unless value.include?("\0")
739
774
  current.merge!(id: value)
740
775
  in "retry" if /^\d+$/ =~ value
data/lib/orb/internal.rb CHANGED
@@ -1,8 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Orb
4
- # @api private
5
4
  module Internal
6
- OMIT = Object.new.freeze
5
+ OMIT =
6
+ Object.new.tap do
7
+ _1.define_singleton_method(:inspect) { "#<#{Orb::Internal}::OMIT>" }
8
+ end
9
+ .freeze
7
10
  end
8
11
  end
@@ -65,27 +65,36 @@ module Orb
65
65
  # @return [Symbol, Orb::Models::Alert::Type]
66
66
  required :type, enum: -> { Orb::Models::Alert::Type }
67
67
 
68
- # @!parse
69
- # # [Alerts within Orb](/product-catalog/configuring-alerts) monitor spending,
70
- # # usage, or credit balance and trigger webhooks when a threshold is exceeded.
71
- # #
72
- # # Alerts created through the API can be scoped to either customers or
73
- # # subscriptions.
74
- # #
75
- # # @param id [String]
76
- # # @param created_at [Time]
77
- # # @param currency [String, nil]
78
- # # @param customer [Orb::Models::Alert::Customer, nil]
79
- # # @param enabled [Boolean]
80
- # # @param metric [Orb::Models::Alert::Metric, nil]
81
- # # @param plan [Orb::Models::Alert::Plan, nil]
82
- # # @param subscription [Orb::Models::Alert::Subscription, nil]
83
- # # @param thresholds [Array<Orb::Models::Alert::Threshold>, nil]
84
- # # @param type [Symbol, Orb::Models::Alert::Type]
85
- # #
86
- # def initialize(id:, created_at:, currency:, customer:, enabled:, metric:, plan:, subscription:, thresholds:, type:, **) = super
87
-
88
- # def initialize: (Hash | Orb::Internal::Type::BaseModel) -> void
68
+ # @!method initialize(id:, created_at:, currency:, customer:, enabled:, metric:, plan:, subscription:, thresholds:, type:)
69
+ # Some parameter documentations has been truncated, see {Orb::Models::Alert} for
70
+ # more details.
71
+ #
72
+ # [Alerts within Orb](/product-catalog/configuring-alerts) monitor spending,
73
+ # usage, or credit balance and trigger webhooks when a threshold is exceeded.
74
+ #
75
+ # Alerts created through the API can be scoped to either customers or
76
+ # subscriptions.
77
+ #
78
+ # @param id [String] Also referred to as alert_id in this documentation.
79
+ #
80
+ # @param created_at [Time] The creation time of the resource in Orb.
81
+ #
82
+ # @param currency [String, nil] The name of the currency the credit balance or invoice cost is denominated in.
83
+ #
84
+ # @param customer [Orb::Models::Alert::Customer, nil] The customer the alert applies to.
85
+ #
86
+ # @param enabled [Boolean] Whether the alert is enabled or disabled.
87
+ #
88
+ # @param metric [Orb::Models::Alert::Metric, nil] The metric the alert applies to.
89
+ #
90
+ # @param plan [Orb::Models::Alert::Plan, nil] The plan the alert applies to.
91
+ #
92
+ # @param subscription [Orb::Models::Alert::Subscription, nil] The subscription the alert applies to.
93
+ #
94
+ # @param thresholds [Array<Orb::Models::Alert::Threshold>, nil] The thresholds that define the conditions under which the alert will be triggere
95
+ # ...
96
+ #
97
+ # @param type [Symbol, Orb::Models::Alert::Type] The type of alert. This must be a valid alert type.
89
98
 
90
99
  # @see Orb::Models::Alert#customer
91
100
  class Customer < Orb::Internal::Type::BaseModel
@@ -99,15 +108,11 @@ module Orb
99
108
  # @return [String, nil]
100
109
  required :external_customer_id, String, nil?: true
101
110
 
102
- # @!parse
103
- # # The customer the alert applies to.
104
- # #
105
- # # @param id [String]
106
- # # @param external_customer_id [String, nil]
107
- # #
108
- # def initialize(id:, external_customer_id:, **) = super
109
-
110
- # def initialize: (Hash | Orb::Internal::Type::BaseModel) -> void
111
+ # @!method initialize(id:, external_customer_id:)
112
+ # The customer the alert applies to.
113
+ #
114
+ # @param id [String]
115
+ # @param external_customer_id [String, nil]
111
116
  end
112
117
 
113
118
  # @see Orb::Models::Alert#metric
@@ -117,14 +122,10 @@ module Orb
117
122
  # @return [String]
118
123
  required :id, String
119
124
 
120
- # @!parse
121
- # # The metric the alert applies to.
122
- # #
123
- # # @param id [String]
124
- # #
125
- # def initialize(id:, **) = super
126
-
127
- # def initialize: (Hash | Orb::Internal::Type::BaseModel) -> void
125
+ # @!method initialize(id:)
126
+ # The metric the alert applies to.
127
+ #
128
+ # @param id [String]
128
129
  end
129
130
 
130
131
  # @see Orb::Models::Alert#plan
@@ -152,17 +153,20 @@ module Orb
152
153
  # @return [String]
153
154
  required :plan_version, String
154
155
 
155
- # @!parse
156
- # # The plan the alert applies to.
157
- # #
158
- # # @param id [String, nil]
159
- # # @param external_plan_id [String, nil]
160
- # # @param name [String, nil]
161
- # # @param plan_version [String]
162
- # #
163
- # def initialize(id:, external_plan_id:, name:, plan_version:, **) = super
164
-
165
- # def initialize: (Hash | Orb::Internal::Type::BaseModel) -> void
156
+ # @!method initialize(id:, external_plan_id:, name:, plan_version:)
157
+ # Some parameter documentations has been truncated, see {Orb::Models::Alert::Plan}
158
+ # for more details.
159
+ #
160
+ # The plan the alert applies to.
161
+ #
162
+ # @param id [String, nil]
163
+ #
164
+ # @param external_plan_id [String, nil] An optional user-defined ID for this plan resource, used throughout the system a
165
+ # ...
166
+ #
167
+ # @param name [String, nil]
168
+ #
169
+ # @param plan_version [String]
166
170
  end
167
171
 
168
172
  # @see Orb::Models::Alert#subscription
@@ -172,14 +176,10 @@ module Orb
172
176
  # @return [String]
173
177
  required :id, String
174
178
 
175
- # @!parse
176
- # # The subscription the alert applies to.
177
- # #
178
- # # @param id [String]
179
- # #
180
- # def initialize(id:, **) = super
181
-
182
- # def initialize: (Hash | Orb::Internal::Type::BaseModel) -> void
179
+ # @!method initialize(id:)
180
+ # The subscription the alert applies to.
181
+ #
182
+ # @param id [String]
183
183
  end
184
184
 
185
185
  class Threshold < Orb::Internal::Type::BaseModel
@@ -191,15 +191,15 @@ module Orb
191
191
  # @return [Float]
192
192
  required :value, Float
193
193
 
194
- # @!parse
195
- # # Thresholds are used to define the conditions under which an alert will be
196
- # # triggered.
197
- # #
198
- # # @param value [Float]
199
- # #
200
- # def initialize(value:, **) = super
201
-
202
- # def initialize: (Hash | Orb::Internal::Type::BaseModel) -> void
194
+ # @!method initialize(value:)
195
+ # Some parameter documentations has been truncated, see
196
+ # {Orb::Models::Alert::Threshold} for more details.
197
+ #
198
+ # Thresholds are used to define the conditions under which an alert will be
199
+ # triggered.
200
+ #
201
+ # @param value [Float] The value at which an alert will fire. For credit balance alerts, the alert will
202
+ # ...
203
203
  end
204
204
 
205
205
  # The type of alert. This must be a valid alert type.
@@ -214,11 +214,8 @@ module Orb
214
214
  USAGE_EXCEEDED = :usage_exceeded
215
215
  COST_EXCEEDED = :cost_exceeded
216
216
 
217
- finalize!
218
-
219
- # @!parse
220
- # # @return [Array<Symbol>]
221
- # def self.values; end
217
+ # @!method self.values
218
+ # @return [Array<Symbol>]
222
219
  end
223
220
  end
224
221
  end
@@ -4,8 +4,7 @@ module Orb
4
4
  module Models
5
5
  # @see Orb::Resources::Alerts#create_for_customer
6
6
  class AlertCreateForCustomerParams < Orb::Internal::Type::BaseModel
7
- # @!parse
8
- # extend Orb::Internal::Type::RequestParameters::Converter
7
+ extend Orb::Internal::Type::RequestParameters::Converter
9
8
  include Orb::Internal::Type::RequestParameters
10
9
 
11
10
  # @!attribute currency
@@ -28,15 +27,14 @@ module Orb
28
27
  -> { Orb::Internal::Type::ArrayOf[Orb::Models::AlertCreateForCustomerParams::Threshold] },
29
28
  nil?: true
30
29
 
31
- # @!parse
32
- # # @param currency [String]
33
- # # @param type [Symbol, Orb::Models::AlertCreateForCustomerParams::Type]
34
- # # @param thresholds [Array<Orb::Models::AlertCreateForCustomerParams::Threshold>, nil]
35
- # # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}]
36
- # #
37
- # def initialize(currency:, type:, thresholds: nil, request_options: {}, **) = super
38
-
39
- # def initialize: (Hash | Orb::Internal::Type::BaseModel) -> void
30
+ # @!method initialize(currency:, type:, thresholds: nil, request_options: {})
31
+ # @param currency [String] The case sensitive currency or custom pricing unit to use for this alert.
32
+ #
33
+ # @param type [Symbol, Orb::Models::AlertCreateForCustomerParams::Type] The type of alert to create. This must be a valid alert type.
34
+ #
35
+ # @param thresholds [Array<Orb::Models::AlertCreateForCustomerParams::Threshold>, nil] The thresholds that define the values at which the alert will be triggered.
36
+ #
37
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}]
40
38
 
41
39
  # The type of alert to create. This must be a valid alert type.
42
40
  module Type
@@ -46,11 +44,8 @@ module Orb
46
44
  CREDIT_BALANCE_DROPPED = :credit_balance_dropped
47
45
  CREDIT_BALANCE_RECOVERED = :credit_balance_recovered
48
46
 
49
- finalize!
50
-
51
- # @!parse
52
- # # @return [Array<Symbol>]
53
- # def self.values; end
47
+ # @!method self.values
48
+ # @return [Array<Symbol>]
54
49
  end
55
50
 
56
51
  class Threshold < Orb::Internal::Type::BaseModel
@@ -62,15 +57,15 @@ module Orb
62
57
  # @return [Float]
63
58
  required :value, Float
64
59
 
65
- # @!parse
66
- # # Thresholds are used to define the conditions under which an alert will be
67
- # # triggered.
68
- # #
69
- # # @param value [Float]
70
- # #
71
- # def initialize(value:, **) = super
72
-
73
- # def initialize: (Hash | Orb::Internal::Type::BaseModel) -> void
60
+ # @!method initialize(value:)
61
+ # Some parameter documentations has been truncated, see
62
+ # {Orb::Models::AlertCreateForCustomerParams::Threshold} for more details.
63
+ #
64
+ # Thresholds are used to define the conditions under which an alert will be
65
+ # triggered.
66
+ #
67
+ # @param value [Float] The value at which an alert will fire. For credit balance alerts, the alert will
68
+ # ...
74
69
  end
75
70
  end
76
71
  end
@@ -4,8 +4,7 @@ module Orb
4
4
  module Models
5
5
  # @see Orb::Resources::Alerts#create_for_external_customer
6
6
  class AlertCreateForExternalCustomerParams < Orb::Internal::Type::BaseModel
7
- # @!parse
8
- # extend Orb::Internal::Type::RequestParameters::Converter
7
+ extend Orb::Internal::Type::RequestParameters::Converter
9
8
  include Orb::Internal::Type::RequestParameters
10
9
 
11
10
  # @!attribute currency
@@ -28,15 +27,14 @@ module Orb
28
27
  -> { Orb::Internal::Type::ArrayOf[Orb::Models::AlertCreateForExternalCustomerParams::Threshold] },
29
28
  nil?: true
30
29
 
31
- # @!parse
32
- # # @param currency [String]
33
- # # @param type [Symbol, Orb::Models::AlertCreateForExternalCustomerParams::Type]
34
- # # @param thresholds [Array<Orb::Models::AlertCreateForExternalCustomerParams::Threshold>, nil]
35
- # # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}]
36
- # #
37
- # def initialize(currency:, type:, thresholds: nil, request_options: {}, **) = super
38
-
39
- # def initialize: (Hash | Orb::Internal::Type::BaseModel) -> void
30
+ # @!method initialize(currency:, type:, thresholds: nil, request_options: {})
31
+ # @param currency [String] The case sensitive currency or custom pricing unit to use for this alert.
32
+ #
33
+ # @param type [Symbol, Orb::Models::AlertCreateForExternalCustomerParams::Type] The type of alert to create. This must be a valid alert type.
34
+ #
35
+ # @param thresholds [Array<Orb::Models::AlertCreateForExternalCustomerParams::Threshold>, nil] The thresholds that define the values at which the alert will be triggered.
36
+ #
37
+ # @param request_options [Orb::RequestOptions, Hash{Symbol=>Object}]
40
38
 
41
39
  # The type of alert to create. This must be a valid alert type.
42
40
  module Type
@@ -46,11 +44,8 @@ module Orb
46
44
  CREDIT_BALANCE_DROPPED = :credit_balance_dropped
47
45
  CREDIT_BALANCE_RECOVERED = :credit_balance_recovered
48
46
 
49
- finalize!
50
-
51
- # @!parse
52
- # # @return [Array<Symbol>]
53
- # def self.values; end
47
+ # @!method self.values
48
+ # @return [Array<Symbol>]
54
49
  end
55
50
 
56
51
  class Threshold < Orb::Internal::Type::BaseModel
@@ -62,15 +57,15 @@ module Orb
62
57
  # @return [Float]
63
58
  required :value, Float
64
59
 
65
- # @!parse
66
- # # Thresholds are used to define the conditions under which an alert will be
67
- # # triggered.
68
- # #
69
- # # @param value [Float]
70
- # #
71
- # def initialize(value:, **) = super
72
-
73
- # def initialize: (Hash | Orb::Internal::Type::BaseModel) -> void
60
+ # @!method initialize(value:)
61
+ # Some parameter documentations has been truncated, see
62
+ # {Orb::Models::AlertCreateForExternalCustomerParams::Threshold} for more details.
63
+ #
64
+ # Thresholds are used to define the conditions under which an alert will be
65
+ # triggered.
66
+ #
67
+ # @param value [Float] The value at which an alert will fire. For credit balance alerts, the alert will
68
+ # ...
74
69
  end
75
70
  end
76
71
  end