moonbase-sdk 0.1.0.pre.alpha.1

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 (356) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +58 -0
  4. data/README.md +293 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/moonbase/client.rb +135 -0
  7. data/lib/moonbase/errors.rb +214 -0
  8. data/lib/moonbase/file_part.rb +55 -0
  9. data/lib/moonbase/internal/cursor_page.rb +111 -0
  10. data/lib/moonbase/internal/transport/base_client.rb +563 -0
  11. data/lib/moonbase/internal/transport/pooled_net_requester.rb +209 -0
  12. data/lib/moonbase/internal/type/array_of.rb +167 -0
  13. data/lib/moonbase/internal/type/base_model.rb +536 -0
  14. data/lib/moonbase/internal/type/base_page.rb +55 -0
  15. data/lib/moonbase/internal/type/boolean.rb +77 -0
  16. data/lib/moonbase/internal/type/converter.rb +300 -0
  17. data/lib/moonbase/internal/type/enum.rb +131 -0
  18. data/lib/moonbase/internal/type/file_input.rb +108 -0
  19. data/lib/moonbase/internal/type/hash_of.rb +187 -0
  20. data/lib/moonbase/internal/type/request_parameters.rb +42 -0
  21. data/lib/moonbase/internal/type/union.rb +260 -0
  22. data/lib/moonbase/internal/type/unknown.rb +81 -0
  23. data/lib/moonbase/internal/util.rb +914 -0
  24. data/lib/moonbase/internal.rb +20 -0
  25. data/lib/moonbase/models/activity.rb +1166 -0
  26. data/lib/moonbase/models/activity_list_params.rb +46 -0
  27. data/lib/moonbase/models/activity_retrieve_params.rb +14 -0
  28. data/lib/moonbase/models/address.rb +111 -0
  29. data/lib/moonbase/models/attendee.rb +82 -0
  30. data/lib/moonbase/models/boolean_value.rb +23 -0
  31. data/lib/moonbase/models/call.rb +220 -0
  32. data/lib/moonbase/models/call_create_params.rb +157 -0
  33. data/lib/moonbase/models/choice.rb +46 -0
  34. data/lib/moonbase/models/collection.rb +111 -0
  35. data/lib/moonbase/models/collection_list_params.rb +46 -0
  36. data/lib/moonbase/models/collection_retrieve_params.rb +37 -0
  37. data/lib/moonbase/models/collections/field_retrieve_params.rb +22 -0
  38. data/lib/moonbase/models/date_value.rb +23 -0
  39. data/lib/moonbase/models/datetime_value.rb +23 -0
  40. data/lib/moonbase/models/domain_value.rb +23 -0
  41. data/lib/moonbase/models/email_message.rb +273 -0
  42. data/lib/moonbase/models/email_value.rb +23 -0
  43. data/lib/moonbase/models/error.rb +90 -0
  44. data/lib/moonbase/models/field.rb +305 -0
  45. data/lib/moonbase/models/field_value.rb +75 -0
  46. data/lib/moonbase/models/file_list_params.rb +46 -0
  47. data/lib/moonbase/models/file_retrieve_params.rb +14 -0
  48. data/lib/moonbase/models/float_value.rb +23 -0
  49. data/lib/moonbase/models/form.rb +111 -0
  50. data/lib/moonbase/models/form_list_params.rb +64 -0
  51. data/lib/moonbase/models/form_retrieve_params.rb +35 -0
  52. data/lib/moonbase/models/funnel_step.rb +46 -0
  53. data/lib/moonbase/models/geo_value.rb +23 -0
  54. data/lib/moonbase/models/inbox.rb +90 -0
  55. data/lib/moonbase/models/inbox_conversation.rb +225 -0
  56. data/lib/moonbase/models/inbox_conversation_list_params.rb +74 -0
  57. data/lib/moonbase/models/inbox_conversation_retrieve_params.rb +39 -0
  58. data/lib/moonbase/models/inbox_list_params.rb +46 -0
  59. data/lib/moonbase/models/inbox_message_list_params.rb +83 -0
  60. data/lib/moonbase/models/inbox_message_retrieve_params.rb +38 -0
  61. data/lib/moonbase/models/inbox_retrieve_params.rb +37 -0
  62. data/lib/moonbase/models/integer_value.rb +23 -0
  63. data/lib/moonbase/models/item.rb +67 -0
  64. data/lib/moonbase/models/item_create_params.rb +30 -0
  65. data/lib/moonbase/models/item_delete_params.rb +14 -0
  66. data/lib/moonbase/models/item_retrieve_params.rb +14 -0
  67. data/lib/moonbase/models/item_update_params.rb +61 -0
  68. data/lib/moonbase/models/item_upsert_params.rb +78 -0
  69. data/lib/moonbase/models/meeting.rb +217 -0
  70. data/lib/moonbase/models/meeting_list_params.rb +46 -0
  71. data/lib/moonbase/models/meeting_retrieve_params.rb +37 -0
  72. data/lib/moonbase/models/monetary_value.rb +46 -0
  73. data/lib/moonbase/models/moonbase_file.rb +98 -0
  74. data/lib/moonbase/models/multi_line_text_value.rb +23 -0
  75. data/lib/moonbase/models/note.rb +87 -0
  76. data/lib/moonbase/models/note_list_params.rb +46 -0
  77. data/lib/moonbase/models/note_retrieve_params.rb +14 -0
  78. data/lib/moonbase/models/organizer.rb +77 -0
  79. data/lib/moonbase/models/percentage_value.rb +23 -0
  80. data/lib/moonbase/models/program.rb +241 -0
  81. data/lib/moonbase/models/program_list_params.rb +46 -0
  82. data/lib/moonbase/models/program_message_create_params.rb +50 -0
  83. data/lib/moonbase/models/program_message_create_response.rb +74 -0
  84. data/lib/moonbase/models/program_retrieve_params.rb +37 -0
  85. data/lib/moonbase/models/program_template.rb +99 -0
  86. data/lib/moonbase/models/program_template_list_params.rb +65 -0
  87. data/lib/moonbase/models/program_template_retrieve_params.rb +38 -0
  88. data/lib/moonbase/models/relation_value.rb +29 -0
  89. data/lib/moonbase/models/single_line_text_value.rb +23 -0
  90. data/lib/moonbase/models/social_linked_in_value.rb +40 -0
  91. data/lib/moonbase/models/social_x_value.rb +40 -0
  92. data/lib/moonbase/models/tagset.rb +117 -0
  93. data/lib/moonbase/models/tagset_list_params.rb +46 -0
  94. data/lib/moonbase/models/tagset_retrieve_params.rb +14 -0
  95. data/lib/moonbase/models/telephone_number.rb +23 -0
  96. data/lib/moonbase/models/url_value.rb +23 -0
  97. data/lib/moonbase/models/value.rb +72 -0
  98. data/lib/moonbase/models/view.rb +100 -0
  99. data/lib/moonbase/models/view_retrieve_params.rb +35 -0
  100. data/lib/moonbase/models/views/item_list_params.rb +48 -0
  101. data/lib/moonbase/models.rb +191 -0
  102. data/lib/moonbase/request_options.rb +77 -0
  103. data/lib/moonbase/resources/activities.rb +64 -0
  104. data/lib/moonbase/resources/calls.rb +46 -0
  105. data/lib/moonbase/resources/collections/fields.rb +43 -0
  106. data/lib/moonbase/resources/collections.rb +75 -0
  107. data/lib/moonbase/resources/files.rb +64 -0
  108. data/lib/moonbase/resources/forms.rb +73 -0
  109. data/lib/moonbase/resources/inbox_conversations.rb +75 -0
  110. data/lib/moonbase/resources/inbox_messages.rb +77 -0
  111. data/lib/moonbase/resources/inboxes.rb +71 -0
  112. data/lib/moonbase/resources/items.rb +142 -0
  113. data/lib/moonbase/resources/meetings.rb +71 -0
  114. data/lib/moonbase/resources/notes.rb +64 -0
  115. data/lib/moonbase/resources/program_messages.rb +40 -0
  116. data/lib/moonbase/resources/program_templates.rb +73 -0
  117. data/lib/moonbase/resources/programs.rb +71 -0
  118. data/lib/moonbase/resources/tagsets.rb +64 -0
  119. data/lib/moonbase/resources/views/items.rb +48 -0
  120. data/lib/moonbase/resources/views.rb +45 -0
  121. data/lib/moonbase/version.rb +5 -0
  122. data/lib/moonbase.rb +148 -0
  123. data/manifest.yaml +15 -0
  124. data/rbi/moonbase/client.rbi +95 -0
  125. data/rbi/moonbase/errors.rbi +178 -0
  126. data/rbi/moonbase/file_part.rbi +37 -0
  127. data/rbi/moonbase/internal/cursor_page.rbi +59 -0
  128. data/rbi/moonbase/internal/transport/base_client.rbi +293 -0
  129. data/rbi/moonbase/internal/transport/pooled_net_requester.rbi +79 -0
  130. data/rbi/moonbase/internal/type/array_of.rbi +104 -0
  131. data/rbi/moonbase/internal/type/base_model.rbi +302 -0
  132. data/rbi/moonbase/internal/type/base_page.rbi +42 -0
  133. data/rbi/moonbase/internal/type/boolean.rbi +58 -0
  134. data/rbi/moonbase/internal/type/converter.rbi +162 -0
  135. data/rbi/moonbase/internal/type/enum.rbi +82 -0
  136. data/rbi/moonbase/internal/type/file_input.rbi +59 -0
  137. data/rbi/moonbase/internal/type/hash_of.rbi +104 -0
  138. data/rbi/moonbase/internal/type/request_parameters.rbi +29 -0
  139. data/rbi/moonbase/internal/type/union.rbi +121 -0
  140. data/rbi/moonbase/internal/type/unknown.rbi +58 -0
  141. data/rbi/moonbase/internal/util.rbi +487 -0
  142. data/rbi/moonbase/internal.rbi +16 -0
  143. data/rbi/moonbase/models/activity.rbi +1976 -0
  144. data/rbi/moonbase/models/activity_list_params.rbi +78 -0
  145. data/rbi/moonbase/models/activity_retrieve_params.rbi +27 -0
  146. data/rbi/moonbase/models/address.rbi +158 -0
  147. data/rbi/moonbase/models/attendee.rbi +118 -0
  148. data/rbi/moonbase/models/boolean_value.rbi +29 -0
  149. data/rbi/moonbase/models/call.rbi +293 -0
  150. data/rbi/moonbase/models/call_create_params.rbi +263 -0
  151. data/rbi/moonbase/models/choice.rbi +65 -0
  152. data/rbi/moonbase/models/collection.rbi +155 -0
  153. data/rbi/moonbase/models/collection_list_params.rbi +78 -0
  154. data/rbi/moonbase/models/collection_retrieve_params.rbi +90 -0
  155. data/rbi/moonbase/models/collections/field_retrieve_params.rbi +40 -0
  156. data/rbi/moonbase/models/date_value.rbi +25 -0
  157. data/rbi/moonbase/models/datetime_value.rbi +27 -0
  158. data/rbi/moonbase/models/domain_value.rbi +27 -0
  159. data/rbi/moonbase/models/email_message.rbi +394 -0
  160. data/rbi/moonbase/models/email_value.rbi +27 -0
  161. data/rbi/moonbase/models/error.rbi +139 -0
  162. data/rbi/moonbase/models/field.rbi +471 -0
  163. data/rbi/moonbase/models/field_value.rbi +46 -0
  164. data/rbi/moonbase/models/file_list_params.rbi +78 -0
  165. data/rbi/moonbase/models/file_retrieve_params.rbi +27 -0
  166. data/rbi/moonbase/models/float_value.rbi +27 -0
  167. data/rbi/moonbase/models/form.rbi +161 -0
  168. data/rbi/moonbase/models/form_list_params.rbi +121 -0
  169. data/rbi/moonbase/models/form_retrieve_params.rbi +78 -0
  170. data/rbi/moonbase/models/funnel_step.rbi +67 -0
  171. data/rbi/moonbase/models/geo_value.rbi +25 -0
  172. data/rbi/moonbase/models/inbox.rbi +127 -0
  173. data/rbi/moonbase/models/inbox_conversation.rbi +323 -0
  174. data/rbi/moonbase/models/inbox_conversation_list_params.rbi +151 -0
  175. data/rbi/moonbase/models/inbox_conversation_retrieve_params.rbi +103 -0
  176. data/rbi/moonbase/models/inbox_list_params.rbi +78 -0
  177. data/rbi/moonbase/models/inbox_message_list_params.rbi +159 -0
  178. data/rbi/moonbase/models/inbox_message_retrieve_params.rbi +100 -0
  179. data/rbi/moonbase/models/inbox_retrieve_params.rbi +73 -0
  180. data/rbi/moonbase/models/integer_value.rbi +27 -0
  181. data/rbi/moonbase/models/item.rbi +107 -0
  182. data/rbi/moonbase/models/item_create_params.rbi +135 -0
  183. data/rbi/moonbase/models/item_delete_params.rbi +27 -0
  184. data/rbi/moonbase/models/item_retrieve_params.rbi +27 -0
  185. data/rbi/moonbase/models/item_update_params.rbi +236 -0
  186. data/rbi/moonbase/models/item_upsert_params.rbi +338 -0
  187. data/rbi/moonbase/models/meeting.rbi +299 -0
  188. data/rbi/moonbase/models/meeting_list_params.rbi +78 -0
  189. data/rbi/moonbase/models/meeting_retrieve_params.rbi +88 -0
  190. data/rbi/moonbase/models/monetary_value.rbi +73 -0
  191. data/rbi/moonbase/models/moonbase_file.rbi +133 -0
  192. data/rbi/moonbase/models/multi_line_text_value.rbi +27 -0
  193. data/rbi/moonbase/models/note.rbi +131 -0
  194. data/rbi/moonbase/models/note_list_params.rbi +78 -0
  195. data/rbi/moonbase/models/note_retrieve_params.rbi +27 -0
  196. data/rbi/moonbase/models/organizer.rbi +113 -0
  197. data/rbi/moonbase/models/percentage_value.rbi +27 -0
  198. data/rbi/moonbase/models/program.rbi +355 -0
  199. data/rbi/moonbase/models/program_list_params.rbi +78 -0
  200. data/rbi/moonbase/models/program_message_create_params.rbi +94 -0
  201. data/rbi/moonbase/models/program_message_create_response.rbi +116 -0
  202. data/rbi/moonbase/models/program_retrieve_params.rbi +88 -0
  203. data/rbi/moonbase/models/program_template.rbi +138 -0
  204. data/rbi/moonbase/models/program_template_list_params.rbi +131 -0
  205. data/rbi/moonbase/models/program_template_retrieve_params.rbi +94 -0
  206. data/rbi/moonbase/models/relation_value.rbi +39 -0
  207. data/rbi/moonbase/models/single_line_text_value.rbi +27 -0
  208. data/rbi/moonbase/models/social_linked_in_value.rbi +71 -0
  209. data/rbi/moonbase/models/social_x_value.rbi +66 -0
  210. data/rbi/moonbase/models/tagset.rbi +168 -0
  211. data/rbi/moonbase/models/tagset_list_params.rbi +78 -0
  212. data/rbi/moonbase/models/tagset_retrieve_params.rbi +27 -0
  213. data/rbi/moonbase/models/telephone_number.rbi +29 -0
  214. data/rbi/moonbase/models/url_value.rbi +25 -0
  215. data/rbi/moonbase/models/value.rbi +39 -0
  216. data/rbi/moonbase/models/view.rbi +141 -0
  217. data/rbi/moonbase/models/view_retrieve_params.rbi +78 -0
  218. data/rbi/moonbase/models/views/item_list_params.rbi +80 -0
  219. data/rbi/moonbase/models.rbi +155 -0
  220. data/rbi/moonbase/request_options.rbi +59 -0
  221. data/rbi/moonbase/resources/activities.rbi +51 -0
  222. data/rbi/moonbase/resources/calls.rbi +51 -0
  223. data/rbi/moonbase/resources/collections/fields.rbi +31 -0
  224. data/rbi/moonbase/resources/collections.rbi +59 -0
  225. data/rbi/moonbase/resources/files.rbi +51 -0
  226. data/rbi/moonbase/resources/forms.rbi +59 -0
  227. data/rbi/moonbase/resources/inbox_conversations.rbi +66 -0
  228. data/rbi/moonbase/resources/inbox_messages.rbi +67 -0
  229. data/rbi/moonbase/resources/inboxes.rbi +55 -0
  230. data/rbi/moonbase/resources/items.rbi +234 -0
  231. data/rbi/moonbase/resources/meetings.rbi +55 -0
  232. data/rbi/moonbase/resources/notes.rbi +51 -0
  233. data/rbi/moonbase/resources/program_messages.rbi +32 -0
  234. data/rbi/moonbase/resources/program_templates.rbi +63 -0
  235. data/rbi/moonbase/resources/programs.rbi +55 -0
  236. data/rbi/moonbase/resources/tagsets.rbi +51 -0
  237. data/rbi/moonbase/resources/views/items.rbi +42 -0
  238. data/rbi/moonbase/resources/views.rbi +33 -0
  239. data/rbi/moonbase/version.rbi +5 -0
  240. data/sig/moonbase/client.rbs +56 -0
  241. data/sig/moonbase/errors.rbs +110 -0
  242. data/sig/moonbase/file_part.rbs +21 -0
  243. data/sig/moonbase/internal/cursor_page.rbs +36 -0
  244. data/sig/moonbase/internal/transport/base_client.rbs +131 -0
  245. data/sig/moonbase/internal/transport/pooled_net_requester.rbs +45 -0
  246. data/sig/moonbase/internal/type/array_of.rbs +48 -0
  247. data/sig/moonbase/internal/type/base_model.rbs +102 -0
  248. data/sig/moonbase/internal/type/base_page.rbs +24 -0
  249. data/sig/moonbase/internal/type/boolean.rbs +26 -0
  250. data/sig/moonbase/internal/type/converter.rbs +62 -0
  251. data/sig/moonbase/internal/type/enum.rbs +32 -0
  252. data/sig/moonbase/internal/type/file_input.rbs +25 -0
  253. data/sig/moonbase/internal/type/hash_of.rbs +48 -0
  254. data/sig/moonbase/internal/type/request_parameters.rbs +17 -0
  255. data/sig/moonbase/internal/type/union.rbs +52 -0
  256. data/sig/moonbase/internal/type/unknown.rbs +26 -0
  257. data/sig/moonbase/internal/util.rbs +185 -0
  258. data/sig/moonbase/internal.rbs +9 -0
  259. data/sig/moonbase/models/activity.rbs +977 -0
  260. data/sig/moonbase/models/activity_list_params.rbs +38 -0
  261. data/sig/moonbase/models/activity_retrieve_params.rbs +15 -0
  262. data/sig/moonbase/models/address.rbs +90 -0
  263. data/sig/moonbase/models/attendee.rbs +61 -0
  264. data/sig/moonbase/models/boolean_value.rbs +15 -0
  265. data/sig/moonbase/models/call.rbs +194 -0
  266. data/sig/moonbase/models/call_create_params.rbs +152 -0
  267. data/sig/moonbase/models/choice.rbs +41 -0
  268. data/sig/moonbase/models/collection.rbs +85 -0
  269. data/sig/moonbase/models/collection_list_params.rbs +38 -0
  270. data/sig/moonbase/models/collection_retrieve_params.rbs +39 -0
  271. data/sig/moonbase/models/collections/field_retrieve_params.rbs +25 -0
  272. data/sig/moonbase/models/date_value.rbs +15 -0
  273. data/sig/moonbase/models/datetime_value.rbs +15 -0
  274. data/sig/moonbase/models/domain_value.rbs +15 -0
  275. data/sig/moonbase/models/email_message.rbs +221 -0
  276. data/sig/moonbase/models/email_value.rbs +15 -0
  277. data/sig/moonbase/models/error.rbs +78 -0
  278. data/sig/moonbase/models/field.rbs +266 -0
  279. data/sig/moonbase/models/field_value.rbs +33 -0
  280. data/sig/moonbase/models/file_list_params.rbs +38 -0
  281. data/sig/moonbase/models/file_retrieve_params.rbs +15 -0
  282. data/sig/moonbase/models/float_value.rbs +18 -0
  283. data/sig/moonbase/models/form.rbs +89 -0
  284. data/sig/moonbase/models/form_list_params.rbs +61 -0
  285. data/sig/moonbase/models/form_retrieve_params.rbs +38 -0
  286. data/sig/moonbase/models/funnel_step.rbs +38 -0
  287. data/sig/moonbase/models/geo_value.rbs +15 -0
  288. data/sig/moonbase/models/inbox.rbs +70 -0
  289. data/sig/moonbase/models/inbox_conversation.rbs +169 -0
  290. data/sig/moonbase/models/inbox_conversation_list_params.rbs +69 -0
  291. data/sig/moonbase/models/inbox_conversation_retrieve_params.rbs +41 -0
  292. data/sig/moonbase/models/inbox_list_params.rbs +38 -0
  293. data/sig/moonbase/models/inbox_message_list_params.rbs +77 -0
  294. data/sig/moonbase/models/inbox_message_retrieve_params.rbs +42 -0
  295. data/sig/moonbase/models/inbox_retrieve_params.rbs +38 -0
  296. data/sig/moonbase/models/integer_value.rbs +22 -0
  297. data/sig/moonbase/models/item.rbs +57 -0
  298. data/sig/moonbase/models/item_create_params.rbs +31 -0
  299. data/sig/moonbase/models/item_delete_params.rbs +15 -0
  300. data/sig/moonbase/models/item_retrieve_params.rbs +15 -0
  301. data/sig/moonbase/models/item_update_params.rbs +67 -0
  302. data/sig/moonbase/models/item_upsert_params.rbs +77 -0
  303. data/sig/moonbase/models/meeting.rbs +179 -0
  304. data/sig/moonbase/models/meeting_list_params.rbs +38 -0
  305. data/sig/moonbase/models/meeting_retrieve_params.rbs +39 -0
  306. data/sig/moonbase/models/monetary_value.rbs +48 -0
  307. data/sig/moonbase/models/moonbase_file.rbs +71 -0
  308. data/sig/moonbase/models/multi_line_text_value.rbs +16 -0
  309. data/sig/moonbase/models/note.rbs +75 -0
  310. data/sig/moonbase/models/note_list_params.rbs +38 -0
  311. data/sig/moonbase/models/note_retrieve_params.rbs +15 -0
  312. data/sig/moonbase/models/organizer.rbs +61 -0
  313. data/sig/moonbase/models/percentage_value.rbs +19 -0
  314. data/sig/moonbase/models/program.rbs +204 -0
  315. data/sig/moonbase/models/program_list_params.rbs +38 -0
  316. data/sig/moonbase/models/program_message_create_params.rbs +48 -0
  317. data/sig/moonbase/models/program_message_create_response.rbs +55 -0
  318. data/sig/moonbase/models/program_retrieve_params.rbs +39 -0
  319. data/sig/moonbase/models/program_template.rbs +75 -0
  320. data/sig/moonbase/models/program_template_list_params.rbs +61 -0
  321. data/sig/moonbase/models/program_template_retrieve_params.rbs +40 -0
  322. data/sig/moonbase/models/relation_value.rbs +15 -0
  323. data/sig/moonbase/models/single_line_text_value.rbs +16 -0
  324. data/sig/moonbase/models/social_linked_in_value.rbs +41 -0
  325. data/sig/moonbase/models/social_x_value.rbs +38 -0
  326. data/sig/moonbase/models/tagset.rbs +89 -0
  327. data/sig/moonbase/models/tagset_list_params.rbs +38 -0
  328. data/sig/moonbase/models/tagset_retrieve_params.rbs +15 -0
  329. data/sig/moonbase/models/telephone_number.rbs +22 -0
  330. data/sig/moonbase/models/url_value.rbs +15 -0
  331. data/sig/moonbase/models/value.rbs +30 -0
  332. data/sig/moonbase/models/view.rbs +80 -0
  333. data/sig/moonbase/models/view_retrieve_params.rbs +38 -0
  334. data/sig/moonbase/models/views/item_list_params.rbs +40 -0
  335. data/sig/moonbase/models.rbs +151 -0
  336. data/sig/moonbase/request_options.rbs +34 -0
  337. data/sig/moonbase/resources/activities.rbs +19 -0
  338. data/sig/moonbase/resources/calls.rbs +20 -0
  339. data/sig/moonbase/resources/collections/fields.rbs +15 -0
  340. data/sig/moonbase/resources/collections.rbs +22 -0
  341. data/sig/moonbase/resources/files.rbs +19 -0
  342. data/sig/moonbase/resources/forms.rbs +21 -0
  343. data/sig/moonbase/resources/inbox_conversations.rbs +22 -0
  344. data/sig/moonbase/resources/inbox_messages.rbs +23 -0
  345. data/sig/moonbase/resources/inboxes.rbs +20 -0
  346. data/sig/moonbase/resources/items.rbs +40 -0
  347. data/sig/moonbase/resources/meetings.rbs +20 -0
  348. data/sig/moonbase/resources/notes.rbs +19 -0
  349. data/sig/moonbase/resources/program_messages.rbs +14 -0
  350. data/sig/moonbase/resources/program_templates.rbs +21 -0
  351. data/sig/moonbase/resources/programs.rbs +20 -0
  352. data/sig/moonbase/resources/tagsets.rbs +19 -0
  353. data/sig/moonbase/resources/views/items.rbs +17 -0
  354. data/sig/moonbase/resources/views.rbs +15 -0
  355. data/sig/moonbase/version.rbs +3 -0
  356. metadata +413 -0
@@ -0,0 +1,187 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Moonbase
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # @abstract
9
+ #
10
+ # @generic Elem
11
+ #
12
+ # Hash of items of a given type.
13
+ class HashOf
14
+ include Moonbase::Internal::Type::Converter
15
+ include Moonbase::Internal::Util::SorbetRuntimeSupport
16
+
17
+ private_class_method :new
18
+
19
+ # @overload [](type_info, spec = {})
20
+ #
21
+ # @param type_info [Hash{Symbol=>Object}, Proc, Moonbase::Internal::Type::Converter, Class]
22
+ #
23
+ # @param spec [Hash{Symbol=>Object}] .
24
+ #
25
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
26
+ #
27
+ # @option spec [Proc] :enum
28
+ #
29
+ # @option spec [Proc] :union
30
+ #
31
+ # @option spec [Boolean] :"nil?"
32
+ #
33
+ # @return [self]
34
+ def self.[](...) = new(...)
35
+
36
+ # @api public
37
+ #
38
+ # @param other [Object]
39
+ #
40
+ # @return [Boolean]
41
+ def ===(other)
42
+ type = item_type
43
+ case other
44
+ in Hash
45
+ other.all? do |key, val|
46
+ case [key, val]
47
+ in [Symbol | String, ^type]
48
+ true
49
+ else
50
+ false
51
+ end
52
+ end
53
+ else
54
+ false
55
+ end
56
+ end
57
+
58
+ # @api public
59
+ #
60
+ # @param other [Object]
61
+ #
62
+ # @return [Boolean]
63
+ def ==(other)
64
+ # rubocop:disable Layout/LineLength
65
+ other.is_a?(Moonbase::Internal::Type::HashOf) && other.nilable? == nilable? && other.item_type == item_type
66
+ # rubocop:enable Layout/LineLength
67
+ end
68
+
69
+ # @api public
70
+ #
71
+ # @return [Integer]
72
+ def hash = [self.class, item_type].hash
73
+
74
+ # @api private
75
+ #
76
+ # @param value [Hash{Object=>Object}, Object]
77
+ #
78
+ # @param state [Hash{Symbol=>Object}] .
79
+ #
80
+ # @option state [Boolean] :translate_names
81
+ #
82
+ # @option state [Boolean] :strictness
83
+ #
84
+ # @option state [Hash{Symbol=>Object}] :exactness
85
+ #
86
+ # @option state [Class<StandardError>] :error
87
+ #
88
+ # @option state [Integer] :branched
89
+ #
90
+ # @return [Hash{Symbol=>Object}, Object]
91
+ def coerce(value, state:)
92
+ exactness = state.fetch(:exactness)
93
+
94
+ unless value.is_a?(Hash)
95
+ exactness[:no] += 1
96
+ state[:error] = TypeError.new("#{value.class} can't be coerced into #{Hash}")
97
+ return value
98
+ end
99
+
100
+ target = item_type
101
+ exactness[:yes] += 1
102
+ value
103
+ .to_h do |key, val|
104
+ k = key.is_a?(String) ? key.to_sym : key
105
+ v =
106
+ case [nilable?, val]
107
+ in [true, nil]
108
+ exactness[:yes] += 1
109
+ nil
110
+ else
111
+ Moonbase::Internal::Type::Converter.coerce(target, val, state: state)
112
+ end
113
+
114
+ exactness[:no] += 1 unless k.is_a?(Symbol)
115
+ [k, v]
116
+ end
117
+ end
118
+
119
+ # @api private
120
+ #
121
+ # @param value [Hash{Object=>Object}, Object]
122
+ #
123
+ # @param state [Hash{Symbol=>Object}] .
124
+ #
125
+ # @option state [Boolean] :can_retry
126
+ #
127
+ # @return [Hash{Symbol=>Object}, Object]
128
+ def dump(value, state:)
129
+ target = item_type
130
+ if value.is_a?(Hash)
131
+ value.transform_values do
132
+ Moonbase::Internal::Type::Converter.dump(target, _1, state: state)
133
+ end
134
+ else
135
+ super
136
+ end
137
+ end
138
+
139
+ # @api private
140
+ #
141
+ # @return [Object]
142
+ def to_sorbet_type
143
+ T::Hash[Moonbase::Internal::Util::SorbetRuntimeSupport.to_sorbet_type(item_type)]
144
+ end
145
+
146
+ # @api private
147
+ #
148
+ # @return [generic<Elem>]
149
+ protected def item_type = @item_type_fn.call
150
+
151
+ # @api private
152
+ #
153
+ # @return [Boolean]
154
+ protected def nilable? = @nilable
155
+
156
+ # @api private
157
+ #
158
+ # @param type_info [Hash{Symbol=>Object}, Proc, Moonbase::Internal::Type::Converter, Class]
159
+ #
160
+ # @param spec [Hash{Symbol=>Object}] .
161
+ #
162
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
163
+ #
164
+ # @option spec [Proc] :enum
165
+ #
166
+ # @option spec [Proc] :union
167
+ #
168
+ # @option spec [Boolean] :"nil?"
169
+ def initialize(type_info, spec = {})
170
+ @item_type_fn = Moonbase::Internal::Type::Converter.type_info(type_info || spec)
171
+ @nilable = spec.fetch(:nil?, false)
172
+ end
173
+
174
+ # @api private
175
+ #
176
+ # @param depth [Integer]
177
+ #
178
+ # @return [String]
179
+ def inspect(depth: 0)
180
+ items = Moonbase::Internal::Type::Converter.inspect(item_type, depth: depth.succ)
181
+
182
+ "#{self.class}[#{[items, nilable? ? 'nil' : nil].compact.join(' | ')}]"
183
+ end
184
+ end
185
+ end
186
+ end
187
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Moonbase
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ module RequestParameters
8
+ # @!attribute request_options
9
+ # Options to specify HTTP behaviour for this request.
10
+ #
11
+ # @return [Moonbase::RequestOptions, Hash{Symbol=>Object}]
12
+
13
+ # @param mod [Module]
14
+ def self.included(mod)
15
+ raise ArgumentError.new(mod) unless mod <= Moonbase::Internal::Type::BaseModel
16
+
17
+ mod.optional(:request_options, Moonbase::RequestOptions)
18
+ end
19
+
20
+ # @api private
21
+ module Converter
22
+ # @api private
23
+ #
24
+ # @param params [Object]
25
+ #
26
+ # @return [Array(Object, Hash{Symbol=>Object})]
27
+ def dump_request(params)
28
+ state = {can_retry: true}
29
+ case (dumped = dump(params, state: state))
30
+ in Hash
31
+ options = Moonbase::Internal::Util.coerce_hash!(dumped[:request_options]).to_h
32
+ request_options = state.fetch(:can_retry) ? options : {**options, max_retries: 0}
33
+ [dumped.except(:request_options), request_options]
34
+ else
35
+ [dumped, nil]
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,260 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Moonbase
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # @example
9
+ # # `activity` is a `Moonbase::Activity`
10
+ # case activity
11
+ # when Moonbase::Activity::ActivityCallOccurred
12
+ # puts(activity.id)
13
+ # when Moonbase::Activity::ActivityFormSubmitted
14
+ # puts(activity.links)
15
+ # when Moonbase::Activity::ActivityInboxMessageSent
16
+ # puts(activity.occurred_at)
17
+ # else
18
+ # puts(activity)
19
+ # end
20
+ #
21
+ # @example
22
+ # case activity
23
+ # in {type: :"activity/call_occurred", id: id, links: links, occurred_at: occurred_at}
24
+ # puts(id)
25
+ # in {type: :"activity/form_submitted", id: id, links: links, occurred_at: occurred_at}
26
+ # puts(links)
27
+ # in {type: :"activity/inbox_message_sent", id: id, links: links, occurred_at: occurred_at}
28
+ # puts(occurred_at)
29
+ # else
30
+ # puts(activity)
31
+ # end
32
+ module Union
33
+ include Moonbase::Internal::Type::Converter
34
+ include Moonbase::Internal::Util::SorbetRuntimeSupport
35
+
36
+ # @api private
37
+ #
38
+ # All of the specified variant info for this union.
39
+ #
40
+ # @return [Array<Array(Symbol, Proc)>]
41
+ private def known_variants = (@known_variants ||= [])
42
+
43
+ # @api private
44
+ #
45
+ # @return [Array<Array(Symbol, Object)>]
46
+ protected def derefed_variants
47
+ known_variants.map { |key, variant_fn| [key, variant_fn.call] }
48
+ end
49
+
50
+ # All of the specified variants for this union.
51
+ #
52
+ # @return [Array<Object>]
53
+ def variants = derefed_variants.map(&:last)
54
+
55
+ # @api private
56
+ #
57
+ # @param property [Symbol]
58
+ private def discriminator(property)
59
+ case property
60
+ in Symbol
61
+ @discriminator = property
62
+ end
63
+ end
64
+
65
+ # @api private
66
+ #
67
+ # @param key [Symbol, Hash{Symbol=>Object}, Proc, Moonbase::Internal::Type::Converter, Class]
68
+ #
69
+ # @param spec [Hash{Symbol=>Object}, Proc, Moonbase::Internal::Type::Converter, Class] .
70
+ #
71
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
72
+ #
73
+ # @option spec [Proc] :enum
74
+ #
75
+ # @option spec [Proc] :union
76
+ #
77
+ # @option spec [Boolean] :"nil?"
78
+ private def variant(key, spec = nil)
79
+ variant_info =
80
+ case key
81
+ in Symbol
82
+ [key, Moonbase::Internal::Type::Converter.type_info(spec)]
83
+ in Proc | Moonbase::Internal::Type::Converter | Class | Hash
84
+ [nil, Moonbase::Internal::Type::Converter.type_info(key)]
85
+ end
86
+
87
+ known_variants << variant_info
88
+ end
89
+
90
+ # @api private
91
+ #
92
+ # @param value [Object]
93
+ #
94
+ # @return [Moonbase::Internal::Type::Converter, Class, nil]
95
+ private def resolve_variant(value)
96
+ case [@discriminator, value]
97
+ in [_, Moonbase::Internal::Type::BaseModel]
98
+ value.class
99
+ in [Symbol, Hash]
100
+ key = value.fetch(@discriminator) do
101
+ value.fetch(@discriminator.to_s, Moonbase::Internal::OMIT)
102
+ end
103
+
104
+ return nil if key == Moonbase::Internal::OMIT
105
+
106
+ key = key.to_sym if key.is_a?(String)
107
+ known_variants.find { |k,| k == key }&.last&.call
108
+ else
109
+ nil
110
+ end
111
+ end
112
+
113
+ # rubocop:disable Style/HashEachMethods
114
+ # rubocop:disable Style/CaseEquality
115
+
116
+ # @api public
117
+ #
118
+ # @param other [Object]
119
+ #
120
+ # @return [Boolean]
121
+ def ===(other)
122
+ known_variants.any? do |_, variant_fn|
123
+ variant_fn.call === other
124
+ end
125
+ end
126
+
127
+ # @api public
128
+ #
129
+ # @param other [Object]
130
+ #
131
+ # @return [Boolean]
132
+ def ==(other)
133
+ Moonbase::Internal::Type::Union === other && other.derefed_variants == derefed_variants
134
+ end
135
+
136
+ # @api public
137
+ #
138
+ # @return [Integer]
139
+ def hash = variants.hash
140
+
141
+ # @api private
142
+ #
143
+ # Tries to efficiently coerce the given value to one of the known variants.
144
+ #
145
+ # If the value cannot match any of the known variants, the coercion is considered
146
+ # non-viable and returns the original value.
147
+ #
148
+ # @param value [Object]
149
+ #
150
+ # @param state [Hash{Symbol=>Object}] .
151
+ #
152
+ # @option state [Boolean] :translate_names
153
+ #
154
+ # @option state [Boolean] :strictness
155
+ #
156
+ # @option state [Hash{Symbol=>Object}] :exactness
157
+ #
158
+ # @option state [Class<StandardError>] :error
159
+ #
160
+ # @option state [Integer] :branched
161
+ #
162
+ # @return [Object]
163
+ def coerce(value, state:)
164
+ if (target = resolve_variant(value))
165
+ return Moonbase::Internal::Type::Converter.coerce(target, value, state: state)
166
+ end
167
+
168
+ strictness = state.fetch(:strictness)
169
+ exactness = state.fetch(:exactness)
170
+
171
+ alternatives = []
172
+ known_variants.each do |_, variant_fn|
173
+ target = variant_fn.call
174
+ exact = state[:exactness] = {yes: 0, no: 0, maybe: 0}
175
+ state[:branched] += 1
176
+
177
+ coerced = Moonbase::Internal::Type::Converter.coerce(target, value, state: state)
178
+ yes, no, maybe = exact.values
179
+ if (no + maybe).zero? || (!strictness && yes.positive?)
180
+ exact.each { exactness[_1] += _2 }
181
+ state[:exactness] = exactness
182
+ return coerced
183
+ elsif maybe.positive?
184
+ alternatives << [[-yes, -maybe, no], exact, coerced]
185
+ end
186
+ end
187
+
188
+ case alternatives.sort_by!(&:first)
189
+ in []
190
+ exactness[:no] += 1
191
+ state[:error] = ArgumentError.new("no matching variant for #{value.inspect}")
192
+ value
193
+ in [[_, exact, coerced], *]
194
+ exact.each { exactness[_1] += _2 }
195
+ coerced
196
+ end
197
+ .tap { state[:exactness] = exactness }
198
+ ensure
199
+ state[:strictness] = strictness
200
+ end
201
+
202
+ # @api private
203
+ #
204
+ # @param value [Object]
205
+ #
206
+ # @param state [Hash{Symbol=>Object}] .
207
+ #
208
+ # @option state [Boolean] :can_retry
209
+ #
210
+ # @return [Object]
211
+ def dump(value, state:)
212
+ if (target = resolve_variant(value))
213
+ return Moonbase::Internal::Type::Converter.dump(target, value, state: state)
214
+ end
215
+
216
+ known_variants.each do
217
+ target = _2.call
218
+ return Moonbase::Internal::Type::Converter.dump(target, value, state: state) if target === value
219
+ end
220
+
221
+ super
222
+ end
223
+
224
+ # @api private
225
+ #
226
+ # @return [Object]
227
+ def to_sorbet_type
228
+ types = variants.map { Moonbase::Internal::Util::SorbetRuntimeSupport.to_sorbet_type(_1) }.uniq
229
+ case types
230
+ in []
231
+ T.noreturn
232
+ in [type]
233
+ type
234
+ else
235
+ T.any(*types)
236
+ end
237
+ end
238
+
239
+ # rubocop:enable Style/CaseEquality
240
+ # rubocop:enable Style/HashEachMethods
241
+
242
+ # @api private
243
+ #
244
+ # @param depth [Integer]
245
+ #
246
+ # @return [String]
247
+ def inspect(depth: 0)
248
+ if depth.positive?
249
+ return is_a?(Module) ? super() : self.class.name
250
+ end
251
+
252
+ members = variants.map { Moonbase::Internal::Type::Converter.inspect(_1, depth: depth.succ) }
253
+ prefix = is_a?(Module) ? name : self.class.name
254
+
255
+ "#{prefix}[#{members.join(' | ')}]"
256
+ end
257
+ end
258
+ end
259
+ end
260
+ end
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Moonbase
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # @abstract
9
+ #
10
+ # When we don't know what to expect for the value.
11
+ class Unknown
12
+ extend Moonbase::Internal::Type::Converter
13
+ extend Moonbase::Internal::Util::SorbetRuntimeSupport
14
+
15
+ # rubocop:disable Lint/UnusedMethodArgument
16
+
17
+ private_class_method :new
18
+
19
+ # @api public
20
+ #
21
+ # @param other [Object]
22
+ #
23
+ # @return [Boolean]
24
+ def self.===(other) = true
25
+
26
+ # @api public
27
+ #
28
+ # @param other [Object]
29
+ #
30
+ # @return [Boolean]
31
+ def self.==(other) = other.is_a?(Class) && other <= Moonbase::Internal::Type::Unknown
32
+
33
+ class << self
34
+ # @api private
35
+ #
36
+ # No coercion needed for Unknown type.
37
+ #
38
+ # @param value [Object]
39
+ #
40
+ # @param state [Hash{Symbol=>Object}] .
41
+ #
42
+ # @option state [Boolean] :translate_names
43
+ #
44
+ # @option state [Boolean] :strictness
45
+ #
46
+ # @option state [Hash{Symbol=>Object}] :exactness
47
+ #
48
+ # @option state [Class<StandardError>] :error
49
+ #
50
+ # @option state [Integer] :branched
51
+ #
52
+ # @return [Object]
53
+ def coerce(value, state:)
54
+ state.fetch(:exactness)[:yes] += 1
55
+ value
56
+ end
57
+
58
+ # @!method dump(value, state:)
59
+ # @api private
60
+ #
61
+ # @param value [Object]
62
+ #
63
+ # @param state [Hash{Symbol=>Object}] .
64
+ #
65
+ # @option state [Boolean] :can_retry
66
+ #
67
+ # @return [Object]
68
+
69
+ # @api private
70
+ #
71
+ # @return [Object]
72
+ def to_sorbet_type
73
+ T.anything
74
+ end
75
+ end
76
+
77
+ # rubocop:enable Lint/UnusedMethodArgument
78
+ end
79
+ end
80
+ end
81
+ end