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,214 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Moonbase
4
+ module Errors
5
+ class Error < StandardError
6
+ # @!attribute cause
7
+ #
8
+ # @return [StandardError, nil]
9
+ end
10
+
11
+ class ConversionError < Moonbase::Errors::Error
12
+ # @return [StandardError, nil]
13
+ def cause = @cause.nil? ? super : @cause
14
+
15
+ # @api private
16
+ #
17
+ # @param on [Class<StandardError>]
18
+ # @param method [Symbol]
19
+ # @param target [Object]
20
+ # @param value [Object]
21
+ # @param cause [StandardError, nil]
22
+ def initialize(on:, method:, target:, value:, cause: nil)
23
+ cls = on.name.split("::").last
24
+
25
+ message = [
26
+ "Failed to parse #{cls}.#{method} from #{value.class} to #{target.inspect}.",
27
+ "To get the unparsed API response, use #{cls}[#{method.inspect}].",
28
+ cause && "Cause: #{cause.message}"
29
+ ].filter(&:itself).join(" ")
30
+
31
+ @cause = cause
32
+ super(message)
33
+ end
34
+ end
35
+
36
+ class APIError < Moonbase::Errors::Error
37
+ # @return [URI::Generic]
38
+ attr_accessor :url
39
+
40
+ # @return [Integer, nil]
41
+ attr_accessor :status
42
+
43
+ # @return [Object, nil]
44
+ attr_accessor :body
45
+
46
+ # @api private
47
+ #
48
+ # @param url [URI::Generic]
49
+ # @param status [Integer, nil]
50
+ # @param body [Object, nil]
51
+ # @param request [nil]
52
+ # @param response [nil]
53
+ # @param message [String, nil]
54
+ def initialize(url:, status: nil, body: nil, request: nil, response: nil, message: nil)
55
+ @url = url
56
+ @status = status
57
+ @body = body
58
+ @request = request
59
+ @response = response
60
+ super(message)
61
+ end
62
+ end
63
+
64
+ class APIConnectionError < Moonbase::Errors::APIError
65
+ # @!attribute status
66
+ #
67
+ # @return [nil]
68
+
69
+ # @!attribute body
70
+ #
71
+ # @return [nil]
72
+
73
+ # @api private
74
+ #
75
+ # @param url [URI::Generic]
76
+ # @param status [nil]
77
+ # @param body [nil]
78
+ # @param request [nil]
79
+ # @param response [nil]
80
+ # @param message [String, nil]
81
+ def initialize(
82
+ url:,
83
+ status: nil,
84
+ body: nil,
85
+ request: nil,
86
+ response: nil,
87
+ message: "Connection error."
88
+ )
89
+ super
90
+ end
91
+ end
92
+
93
+ class APITimeoutError < Moonbase::Errors::APIConnectionError
94
+ # @api private
95
+ #
96
+ # @param url [URI::Generic]
97
+ # @param status [nil]
98
+ # @param body [nil]
99
+ # @param request [nil]
100
+ # @param response [nil]
101
+ # @param message [String, nil]
102
+ def initialize(
103
+ url:,
104
+ status: nil,
105
+ body: nil,
106
+ request: nil,
107
+ response: nil,
108
+ message: "Request timed out."
109
+ )
110
+ super
111
+ end
112
+ end
113
+
114
+ class APIStatusError < Moonbase::Errors::APIError
115
+ # @api private
116
+ #
117
+ # @param url [URI::Generic]
118
+ # @param status [Integer]
119
+ # @param body [Object, nil]
120
+ # @param request [nil]
121
+ # @param response [nil]
122
+ # @param message [String, nil]
123
+ #
124
+ # @return [self]
125
+ def self.for(url:, status:, body:, request:, response:, message: nil)
126
+ kwargs = {
127
+ url: url,
128
+ status: status,
129
+ body: body,
130
+ request: request,
131
+ response: response,
132
+ message: message
133
+ }
134
+
135
+ case status
136
+ in 400
137
+ Moonbase::Errors::BadRequestError.new(**kwargs)
138
+ in 401
139
+ Moonbase::Errors::AuthenticationError.new(**kwargs)
140
+ in 403
141
+ Moonbase::Errors::PermissionDeniedError.new(**kwargs)
142
+ in 404
143
+ Moonbase::Errors::NotFoundError.new(**kwargs)
144
+ in 409
145
+ Moonbase::Errors::ConflictError.new(**kwargs)
146
+ in 422
147
+ Moonbase::Errors::UnprocessableEntityError.new(**kwargs)
148
+ in 429
149
+ Moonbase::Errors::RateLimitError.new(**kwargs)
150
+ in (500..)
151
+ Moonbase::Errors::InternalServerError.new(**kwargs)
152
+ else
153
+ Moonbase::Errors::APIStatusError.new(**kwargs)
154
+ end
155
+ end
156
+
157
+ # @!parse
158
+ # # @return [Integer]
159
+ # attr_accessor :status
160
+
161
+ # @api private
162
+ #
163
+ # @param url [URI::Generic]
164
+ # @param status [Integer]
165
+ # @param body [Object, nil]
166
+ # @param request [nil]
167
+ # @param response [nil]
168
+ # @param message [String, nil]
169
+ def initialize(url:, status:, body:, request:, response:, message: nil)
170
+ message ||= {url: url.to_s, status: status, body: body}
171
+ super(
172
+ url: url,
173
+ status: status,
174
+ body: body,
175
+ request: request,
176
+ response: response,
177
+ message: message&.to_s
178
+ )
179
+ end
180
+ end
181
+
182
+ class BadRequestError < Moonbase::Errors::APIStatusError
183
+ HTTP_STATUS = 400
184
+ end
185
+
186
+ class AuthenticationError < Moonbase::Errors::APIStatusError
187
+ HTTP_STATUS = 401
188
+ end
189
+
190
+ class PermissionDeniedError < Moonbase::Errors::APIStatusError
191
+ HTTP_STATUS = 403
192
+ end
193
+
194
+ class NotFoundError < Moonbase::Errors::APIStatusError
195
+ HTTP_STATUS = 404
196
+ end
197
+
198
+ class ConflictError < Moonbase::Errors::APIStatusError
199
+ HTTP_STATUS = 409
200
+ end
201
+
202
+ class UnprocessableEntityError < Moonbase::Errors::APIStatusError
203
+ HTTP_STATUS = 422
204
+ end
205
+
206
+ class RateLimitError < Moonbase::Errors::APIStatusError
207
+ HTTP_STATUS = 429
208
+ end
209
+
210
+ class InternalServerError < Moonbase::Errors::APIStatusError
211
+ HTTP_STATUS = (500..)
212
+ end
213
+ end
214
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Moonbase
4
+ class FilePart
5
+ # @return [Pathname, StringIO, IO, String]
6
+ attr_reader :content
7
+
8
+ # @return [String, nil]
9
+ attr_reader :content_type
10
+
11
+ # @return [String, nil]
12
+ attr_reader :filename
13
+
14
+ # @api private
15
+ #
16
+ # @return [String]
17
+ private def read
18
+ case content
19
+ in Pathname
20
+ content.read(binmode: true)
21
+ in StringIO
22
+ content.string
23
+ in IO
24
+ content.read
25
+ in String
26
+ content
27
+ end
28
+ end
29
+
30
+ # @param a [Object]
31
+ #
32
+ # @return [String]
33
+ def to_json(*a) = read.to_json(*a)
34
+
35
+ # @param a [Object]
36
+ #
37
+ # @return [String]
38
+ def to_yaml(*a) = read.to_yaml(*a)
39
+
40
+ # @param content [Pathname, StringIO, IO, String]
41
+ # @param filename [String, nil]
42
+ # @param content_type [String, nil]
43
+ def initialize(content, filename: nil, content_type: nil)
44
+ @content = content
45
+ @filename =
46
+ case content
47
+ in Pathname
48
+ filename.nil? ? content.basename.to_path : ::File.basename(filename)
49
+ else
50
+ filename.nil? ? nil : ::File.basename(filename)
51
+ end
52
+ @content_type = content_type
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,111 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Moonbase
4
+ module Internal
5
+ # @generic Elem
6
+ #
7
+ # @example
8
+ # if cursor_page.has_next?
9
+ # cursor_page = cursor_page.next_page
10
+ # end
11
+ #
12
+ # @example
13
+ # cursor_page.auto_paging_each do |activity|
14
+ # puts(activity)
15
+ # end
16
+ class CursorPage
17
+ include Moonbase::Internal::Type::BasePage
18
+
19
+ # @return [Array<generic<Elem>>, nil]
20
+ attr_accessor :data
21
+
22
+ # @return [Meta]
23
+ attr_accessor :meta
24
+
25
+ # @return [Boolean]
26
+ def next_page?
27
+ !data.to_a.empty? && !meta&.cursor&.next_.to_s.empty?
28
+ end
29
+
30
+ # @raise [Moonbase::HTTP::Error]
31
+ # @return [self]
32
+ def next_page
33
+ unless next_page?
34
+ message = "No more pages available. Please check #next_page? before calling ##{__method__}"
35
+ raise RuntimeError.new(message)
36
+ end
37
+
38
+ req = Moonbase::Internal::Util.deep_merge(@req, {query: {after: meta&.cursor&.next_}})
39
+ @client.request(req)
40
+ end
41
+
42
+ # @param blk [Proc]
43
+ #
44
+ # @yieldparam [generic<Elem>]
45
+ def auto_paging_each(&blk)
46
+ unless block_given?
47
+ raise ArgumentError.new("A block must be given to ##{__method__}")
48
+ end
49
+
50
+ page = self
51
+ loop do
52
+ page.data&.each(&blk)
53
+
54
+ break unless page.next_page?
55
+ page = page.next_page
56
+ end
57
+ end
58
+
59
+ # @api private
60
+ #
61
+ # @param client [Moonbase::Internal::Transport::BaseClient]
62
+ # @param req [Hash{Symbol=>Object}]
63
+ # @param headers [Hash{String=>String}, Net::HTTPHeader]
64
+ # @param page_data [Hash{Symbol=>Object}]
65
+ def initialize(client:, req:, headers:, page_data:)
66
+ super
67
+
68
+ case page_data
69
+ in {data: Array => data}
70
+ @data = data.map { Moonbase::Internal::Type::Converter.coerce(@model, _1) }
71
+ else
72
+ end
73
+ case page_data
74
+ in {meta: Hash | nil => meta}
75
+ @meta = Moonbase::Internal::Type::Converter.coerce(Moonbase::Internal::CursorPage::Meta, meta)
76
+ else
77
+ end
78
+ end
79
+
80
+ # @api private
81
+ #
82
+ # @return [String]
83
+ def inspect
84
+ model = Moonbase::Internal::Type::Converter.inspect(@model, depth: 1)
85
+
86
+ "#<#{self.class}[#{model}]:0x#{object_id.to_s(16)}>"
87
+ end
88
+
89
+ class Meta < Moonbase::Internal::Type::BaseModel
90
+ # @!attribute cursor
91
+ #
92
+ # @return [Meta::Cursor, nil]
93
+ optional :cursor, -> { Meta::Cursor }
94
+
95
+ # @!method initialize(cursor: nil)
96
+ # @param cursor [Meta::Cursor]
97
+
98
+ # @see Meta#cursor
99
+ class Cursor < Moonbase::Internal::Type::BaseModel
100
+ # @!attribute next_
101
+ #
102
+ # @return [String, nil]
103
+ optional :next_, String, api_name: :next
104
+
105
+ # @!method initialize(next_: nil)
106
+ # @param next_ [String]
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end