flat_api 0.2.0 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (416) hide show
  1. checksums.yaml +5 -5
  2. data/lib/flat_api/api/account_api.rb +31 -21
  3. data/lib/flat_api/api/class_api.rb +1405 -405
  4. data/lib/flat_api/api/collection_api.rb +257 -169
  5. data/lib/flat_api/api/edu_resources_api.rb +851 -0
  6. data/lib/flat_api/api/group_api.rb +81 -55
  7. data/lib/flat_api/api/organization_api.rb +524 -180
  8. data/lib/flat_api/api/score_api.rb +944 -552
  9. data/lib/flat_api/api/task_api.rb +85 -0
  10. data/lib/flat_api/api/user_api.rb +112 -74
  11. data/lib/flat_api/api_client.rb +112 -107
  12. data/lib/flat_api/api_error.rb +24 -4
  13. data/lib/flat_api/configuration.rb +105 -16
  14. data/lib/flat_api/models/api_access_token.rb +268 -0
  15. data/lib/flat_api/models/app_scopes.rb +59 -0
  16. data/lib/flat_api/models/assignment.rb +192 -101
  17. data/lib/flat_api/models/assignment_capabilities.rb +283 -0
  18. data/lib/flat_api/models/assignment_capabilities_can_publish_in_class_error.rb +240 -0
  19. data/lib/flat_api/models/assignment_copy.rb +80 -169
  20. data/lib/flat_api/models/assignment_copy_response.rb +430 -0
  21. data/lib/flat_api/models/assignment_copy_to_class.rb +243 -0
  22. data/lib/flat_api/models/assignment_copy_to_resource_library.rb +233 -0
  23. data/lib/flat_api/models/assignment_submission.rb +249 -66
  24. data/lib/flat_api/models/assignment_submission_comment.rb +276 -0
  25. data/lib/flat_api/models/assignment_submission_comment_creation.rb +223 -0
  26. data/lib/flat_api/models/assignment_submission_comments.rb +225 -0
  27. data/lib/flat_api/models/assignment_submission_history.rb +384 -0
  28. data/lib/flat_api/models/assignment_submission_history_attachment.rb +235 -0
  29. data/lib/flat_api/models/assignment_submission_history_state.rb +43 -0
  30. data/lib/flat_api/models/assignment_submission_lti.rb +222 -0
  31. data/lib/flat_api/models/assignment_submission_playback_inner.rb +240 -0
  32. data/lib/flat_api/models/assignment_submission_state.rb +42 -0
  33. data/lib/flat_api/models/assignment_submission_update.rb +150 -50
  34. data/lib/flat_api/models/assignment_type.rb +44 -0
  35. data/lib/flat_api/models/assignment_update.rb +407 -0
  36. data/lib/flat_api/models/class_assignment.rb +613 -0
  37. data/lib/flat_api/models/class_assignment_all_of_canvas.rb +226 -0
  38. data/lib/flat_api/models/class_assignment_all_of_lti.rb +216 -0
  39. data/lib/flat_api/models/class_assignment_all_of_mfc.rb +226 -0
  40. data/lib/flat_api/models/class_assignment_update.rb +509 -0
  41. data/lib/flat_api/models/class_assignment_update_all_of_google_classroom.rb +217 -0
  42. data/lib/flat_api/models/class_assignment_update_all_of_microsoft_graph.rb +219 -0
  43. data/lib/flat_api/models/class_attachment_creation.rb +110 -41
  44. data/lib/flat_api/models/class_creation.rb +144 -43
  45. data/lib/flat_api/models/class_details.rb +175 -60
  46. data/lib/flat_api/models/class_details_canvas.rb +61 -34
  47. data/lib/flat_api/models/class_details_clever.rb +76 -48
  48. data/lib/flat_api/models/class_details_google_classroom.rb +66 -59
  49. data/lib/flat_api/models/class_details_google_drive.rb +63 -36
  50. data/lib/flat_api/models/class_details_issues.rb +218 -0
  51. data/lib/flat_api/models/class_details_issues_sync_inner.rb +270 -0
  52. data/lib/flat_api/models/class_details_lti.rb +65 -38
  53. data/lib/flat_api/models/class_details_mfc.rb +226 -0
  54. data/lib/flat_api/models/class_details_microsoft_graph.rb +215 -0
  55. data/lib/flat_api/models/class_grade_level.rb +43 -0
  56. data/lib/flat_api/models/class_roles.rb +18 -9
  57. data/lib/flat_api/models/class_state.rb +18 -9
  58. data/lib/flat_api/models/class_update.rb +144 -42
  59. data/lib/flat_api/models/collection.rb +138 -50
  60. data/lib/flat_api/models/collection_app.rb +236 -0
  61. data/lib/flat_api/models/collection_capabilities.rb +109 -47
  62. data/lib/flat_api/models/collection_creation.rb +132 -37
  63. data/lib/flat_api/models/collection_modification.rb +122 -35
  64. data/lib/flat_api/models/collection_privacy.rb +18 -9
  65. data/lib/flat_api/models/collection_type.rb +19 -9
  66. data/lib/flat_api/models/edu_library.rb +292 -0
  67. data/lib/flat_api/models/edu_resource.rb +366 -0
  68. data/lib/flat_api/models/edu_resource_capabilities.rb +236 -0
  69. data/lib/flat_api/models/edu_resource_copy.rb +223 -0
  70. data/lib/flat_api/models/edu_resource_creation.rb +301 -0
  71. data/lib/flat_api/models/edu_resource_folder.rb +216 -0
  72. data/lib/flat_api/models/edu_resource_lti_link.rb +223 -0
  73. data/lib/flat_api/models/edu_resource_move.rb +223 -0
  74. data/lib/flat_api/models/edu_resource_privacy.rb +41 -0
  75. data/lib/flat_api/models/edu_resource_resource.rb +105 -0
  76. data/lib/flat_api/models/edu_resource_type.rb +40 -0
  77. data/lib/flat_api/models/edu_resource_update.rb +277 -0
  78. data/lib/flat_api/models/edu_resource_use_in_class.rb +233 -0
  79. data/lib/flat_api/models/flat_error_response.rb +79 -38
  80. data/lib/flat_api/models/flat_locales.rb +30 -10
  81. data/lib/flat_api/models/google_classroom_coursework.rb +76 -38
  82. data/lib/flat_api/models/google_classroom_submission.rb +84 -36
  83. data/lib/flat_api/models/group.rb +72 -44
  84. data/lib/flat_api/models/group_details.rb +92 -43
  85. data/lib/flat_api/models/group_type.rb +18 -9
  86. data/lib/flat_api/models/license_mode.rb +18 -9
  87. data/lib/flat_api/models/license_sources.rb +21 -9
  88. data/lib/flat_api/models/lms_name.rb +19 -9
  89. data/lib/flat_api/models/lti_credentials.rb +95 -46
  90. data/lib/flat_api/models/lti_credentials_creation.rb +91 -38
  91. data/lib/flat_api/models/media_attachment.rb +167 -70
  92. data/lib/flat_api/models/media_score_sharing_mode.rb +19 -9
  93. data/lib/flat_api/models/microsoft_graph_assignment.rb +248 -0
  94. data/lib/flat_api/models/microsoft_graph_submission.rb +240 -0
  95. data/lib/flat_api/models/organization_invitation.rb +139 -44
  96. data/lib/flat_api/models/organization_invitation_creation.rb +99 -35
  97. data/lib/flat_api/models/organization_roles.rb +18 -9
  98. data/lib/flat_api/models/organization_user_access_token_creation.rb +225 -0
  99. data/lib/flat_api/models/resource_collaborator.rb +181 -51
  100. data/lib/flat_api/models/resource_collaborator_creation.rb +74 -47
  101. data/lib/flat_api/models/resource_rights.rb +145 -42
  102. data/lib/flat_api/models/score_comment.rb +93 -56
  103. data/lib/flat_api/models/score_comment_context.rb +103 -59
  104. data/lib/flat_api/models/score_comment_creation.rb +70 -41
  105. data/lib/flat_api/models/score_comment_moderation.rb +260 -0
  106. data/lib/flat_api/models/score_comment_update.rb +82 -49
  107. data/lib/flat_api/models/score_comments_counts.rb +67 -40
  108. data/lib/flat_api/models/score_creation.rb +81 -225
  109. data/lib/flat_api/models/score_creation_builder_data.rb +298 -0
  110. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data.rb +230 -0
  111. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_layout_data.rb +322 -0
  112. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data.rb +274 -0
  113. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data_instruments.rb +269 -0
  114. data/lib/flat_api/models/score_creation_common.rb +268 -0
  115. data/lib/flat_api/models/score_creation_file_import.rb +324 -0
  116. data/lib/flat_api/models/score_creation_google_drive_import.rb +291 -0
  117. data/lib/flat_api/models/score_creation_type.rb +19 -9
  118. data/lib/flat_api/models/score_details.rb +272 -81
  119. data/lib/flat_api/models/score_fork.rb +88 -36
  120. data/lib/flat_api/models/score_license.rb +19 -9
  121. data/lib/flat_api/models/score_likes_counts.rb +83 -35
  122. data/lib/flat_api/models/score_modification.rb +180 -50
  123. data/lib/flat_api/models/score_plays_counts.rb +236 -0
  124. data/lib/flat_api/models/score_privacy.rb +18 -9
  125. data/lib/flat_api/models/score_revision.rb +80 -43
  126. data/lib/flat_api/models/score_revision_creation.rb +105 -40
  127. data/lib/flat_api/models/score_revision_statistics.rb +83 -36
  128. data/lib/flat_api/models/score_source.rb +61 -35
  129. data/lib/flat_api/models/score_summary.rb +124 -40
  130. data/lib/flat_api/models/score_track.rb +172 -51
  131. data/lib/flat_api/models/score_track_creation.rb +101 -39
  132. data/lib/flat_api/models/score_track_point.rb +70 -38
  133. data/lib/flat_api/models/score_track_purpose.rb +40 -0
  134. data/lib/flat_api/models/score_track_state.rb +18 -9
  135. data/lib/flat_api/models/score_track_type.rb +18 -9
  136. data/lib/flat_api/models/score_track_update.rb +88 -37
  137. data/lib/flat_api/models/score_views_counts.rb +62 -35
  138. data/lib/flat_api/models/task.rb +364 -0
  139. data/lib/flat_api/models/task_export_options.rb +218 -0
  140. data/lib/flat_api/models/task_progress.rb +226 -0
  141. data/lib/flat_api/models/task_result.rb +226 -0
  142. data/lib/flat_api/models/tutteo_product.rb +42 -0
  143. data/lib/flat_api/models/user_admin_update.rb +219 -41
  144. data/lib/flat_api/models/user_azure_details.rb +235 -0
  145. data/lib/flat_api/models/user_basics.rb +187 -55
  146. data/lib/flat_api/models/user_community_profile_links.rb +272 -0
  147. data/lib/flat_api/models/user_creation.rb +215 -49
  148. data/lib/flat_api/models/user_details.rb +258 -93
  149. data/lib/flat_api/models/user_details_admin.rb +220 -68
  150. data/lib/flat_api/models/user_details_admin_all_of_license.rb +278 -0
  151. data/lib/flat_api/models/user_public.rb +242 -79
  152. data/lib/flat_api/models/user_public_summary.rb +201 -61
  153. data/lib/flat_api/models/user_signin_link.rb +225 -0
  154. data/lib/flat_api/models/user_signin_link_creation.rb +217 -0
  155. data/lib/flat_api/version.rb +5 -5
  156. data/lib/flat_api.rb +78 -15
  157. data/spec/api/account_api_spec.rb +11 -10
  158. data/spec/api/class_api_spec.rb +212 -68
  159. data/spec/api/collection_api_spec.rb +36 -37
  160. data/spec/api/edu_resources_api_spec.rb +181 -0
  161. data/spec/api/group_api_spec.rb +14 -15
  162. data/spec/api/organization_api_spec.rb +78 -39
  163. data/spec/api/score_api_spec.rb +105 -91
  164. data/spec/api/task_api_spec.rb +47 -0
  165. data/spec/api/user_api_spec.rb +27 -25
  166. data/spec/models/api_access_token_spec.rb +66 -0
  167. data/spec/models/app_scopes_spec.rb +30 -0
  168. data/spec/models/assignment_capabilities_can_publish_in_class_error_spec.rb +42 -0
  169. data/spec/models/assignment_capabilities_spec.rb +60 -0
  170. data/spec/models/assignment_copy_response_spec.rb +124 -0
  171. data/spec/models/assignment_copy_spec.rb +13 -23
  172. data/spec/models/assignment_copy_to_class_spec.rb +48 -0
  173. data/spec/models/assignment_copy_to_resource_library_spec.rb +42 -0
  174. data/spec/models/assignment_spec.rb +51 -39
  175. data/spec/models/assignment_submission_comment_creation_spec.rb +36 -0
  176. data/spec/models/assignment_submission_comment_spec.rb +72 -0
  177. data/spec/models/assignment_submission_comments_spec.rb +42 -0
  178. data/spec/models/assignment_submission_history_attachment_spec.rb +48 -0
  179. data/spec/models/assignment_submission_history_spec.rb +112 -0
  180. data/spec/models/assignment_submission_history_state_spec.rb +30 -0
  181. data/spec/models/assignment_submission_lti_spec.rb +36 -0
  182. data/spec/models/assignment_submission_playback_inner_spec.rb +42 -0
  183. data/spec/models/assignment_submission_spec.rb +68 -32
  184. data/spec/models/assignment_submission_state_spec.rb +30 -0
  185. data/spec/models/assignment_submission_update_spec.rb +29 -23
  186. data/spec/models/assignment_type_spec.rb +30 -0
  187. data/spec/models/assignment_update_spec.rb +100 -0
  188. data/spec/models/class_assignment_all_of_canvas_spec.rb +42 -0
  189. data/spec/models/class_assignment_all_of_lti_spec.rb +36 -0
  190. data/spec/models/class_assignment_all_of_mfc_spec.rb +42 -0
  191. data/spec/models/class_assignment_spec.rb +216 -0
  192. data/spec/models/class_assignment_update_all_of_google_classroom_spec.rb +36 -0
  193. data/spec/models/class_assignment_update_all_of_microsoft_graph_spec.rb +36 -0
  194. data/spec/models/class_assignment_update_spec.rb +150 -0
  195. data/spec/models/class_attachment_creation_spec.rb +41 -23
  196. data/spec/models/class_creation_spec.rb +34 -18
  197. data/spec/models/class_details_canvas_spec.rb +12 -18
  198. data/spec/models/class_details_clever_spec.rb +21 -27
  199. data/spec/models/class_details_google_classroom_spec.rb +12 -30
  200. data/spec/models/class_details_google_drive_spec.rb +12 -18
  201. data/spec/models/class_details_issues_spec.rb +36 -0
  202. data/spec/models/class_details_issues_sync_inner_spec.rb +52 -0
  203. data/spec/models/class_details_lti_spec.rb +13 -19
  204. data/spec/models/class_details_mfc_spec.rb +42 -0
  205. data/spec/models/class_details_microsoft_graph_spec.rb +36 -0
  206. data/spec/models/class_details_spec.rb +68 -34
  207. data/spec/models/class_grade_level_spec.rb +30 -0
  208. data/spec/models/class_roles_spec.rb +10 -16
  209. data/spec/models/class_state_spec.rb +10 -16
  210. data/spec/models/class_update_spec.rb +34 -18
  211. data/spec/models/collection_app_spec.rb +48 -0
  212. data/spec/models/collection_capabilities_spec.rb +15 -21
  213. data/spec/models/collection_creation_spec.rb +17 -17
  214. data/spec/models/collection_modification_spec.rb +17 -17
  215. data/spec/models/collection_privacy_spec.rb +10 -16
  216. data/spec/models/collection_spec.rb +39 -27
  217. data/spec/models/collection_type_spec.rb +10 -16
  218. data/spec/models/edu_library_spec.rb +62 -0
  219. data/spec/models/edu_resource_capabilities_spec.rb +48 -0
  220. data/spec/models/edu_resource_copy_spec.rb +36 -0
  221. data/spec/models/edu_resource_creation_spec.rb +48 -0
  222. data/spec/models/edu_resource_folder_spec.rb +36 -0
  223. data/spec/models/edu_resource_lti_link_spec.rb +36 -0
  224. data/spec/models/edu_resource_move_spec.rb +36 -0
  225. data/spec/models/edu_resource_privacy_spec.rb +30 -0
  226. data/spec/models/edu_resource_resource_spec.rb +32 -0
  227. data/spec/models/edu_resource_spec.rb +96 -0
  228. data/spec/models/edu_resource_type_spec.rb +30 -0
  229. data/spec/models/edu_resource_update_spec.rb +42 -0
  230. data/spec/models/edu_resource_use_in_class_spec.rb +42 -0
  231. data/spec/models/flat_error_response_spec.rb +14 -20
  232. data/spec/models/flat_locales_spec.rb +10 -16
  233. data/spec/models/google_classroom_coursework_spec.rb +19 -19
  234. data/spec/models/google_classroom_submission_spec.rb +13 -19
  235. data/spec/models/group_details_spec.rb +17 -23
  236. data/spec/models/group_spec.rb +21 -27
  237. data/spec/models/group_type_spec.rb +10 -16
  238. data/spec/models/license_mode_spec.rb +10 -16
  239. data/spec/models/license_sources_spec.rb +10 -16
  240. data/spec/models/lms_name_spec.rb +10 -16
  241. data/spec/models/lti_credentials_creation_spec.rb +12 -18
  242. data/spec/models/lti_credentials_spec.rb +19 -25
  243. data/spec/models/media_attachment_spec.rb +67 -37
  244. data/spec/models/media_score_sharing_mode_spec.rb +10 -16
  245. data/spec/models/microsoft_graph_assignment_spec.rb +54 -0
  246. data/spec/models/microsoft_graph_submission_spec.rb +42 -0
  247. data/spec/models/organization_invitation_creation_spec.rb +16 -18
  248. data/spec/models/organization_invitation_spec.rb +29 -23
  249. data/spec/models/organization_roles_spec.rb +10 -16
  250. data/spec/models/organization_user_access_token_creation_spec.rb +36 -0
  251. data/spec/models/resource_collaborator_creation_spec.rb +17 -23
  252. data/spec/models/resource_collaborator_spec.rb +47 -25
  253. data/spec/models/resource_rights_spec.rb +29 -19
  254. data/spec/models/score_comment_context_spec.rb +23 -23
  255. data/spec/models/score_comment_creation_spec.rb +16 -22
  256. data/spec/models/score_comment_moderation_spec.rb +46 -0
  257. data/spec/models/score_comment_spec.rb +35 -35
  258. data/spec/models/score_comment_update_spec.rb +14 -20
  259. data/spec/models/score_comments_counts_spec.rb +14 -20
  260. data/spec/models/score_creation_builder_data_all_of_builder_data_layout_data_spec.rb +82 -0
  261. data/spec/models/score_creation_builder_data_all_of_builder_data_score_data_instruments_spec.rb +60 -0
  262. data/spec/models/score_creation_builder_data_all_of_builder_data_score_data_spec.rb +66 -0
  263. data/spec/models/score_creation_builder_data_all_of_builder_data_spec.rb +42 -0
  264. data/spec/models/score_creation_builder_data_spec.rb +60 -0
  265. data/spec/models/score_creation_common_spec.rb +54 -0
  266. data/spec/models/score_creation_file_import_spec.rb +76 -0
  267. data/spec/models/score_creation_google_drive_import_spec.rb +60 -0
  268. data/spec/models/score_creation_spec.rb +12 -58
  269. data/spec/models/score_creation_type_spec.rb +10 -16
  270. data/spec/models/score_details_spec.rb +75 -45
  271. data/spec/models/score_fork_spec.rb +23 -17
  272. data/spec/models/score_license_spec.rb +10 -16
  273. data/spec/models/score_likes_counts_spec.rb +13 -19
  274. data/spec/models/score_modification_spec.rb +47 -23
  275. data/spec/models/score_plays_counts_spec.rb +48 -0
  276. data/spec/models/score_privacy_spec.rb +10 -16
  277. data/spec/models/score_revision_creation_spec.rb +18 -20
  278. data/spec/models/score_revision_spec.rb +23 -23
  279. data/spec/models/score_revision_statistics_spec.rb +24 -18
  280. data/spec/models/score_source_spec.rb +11 -17
  281. data/spec/models/score_summary_spec.rb +16 -22
  282. data/spec/models/score_track_creation_spec.rb +21 -21
  283. data/spec/models/score_track_point_spec.rb +17 -23
  284. data/spec/models/score_track_purpose_spec.rb +30 -0
  285. data/spec/models/score_track_spec.rb +28 -28
  286. data/spec/models/score_track_state_spec.rb +10 -16
  287. data/spec/models/score_track_type_spec.rb +10 -16
  288. data/spec/models/score_track_update_spec.rb +14 -20
  289. data/spec/models/score_views_counts_spec.rb +13 -19
  290. data/spec/models/task_export_options_spec.rb +36 -0
  291. data/spec/models/task_progress_spec.rb +42 -0
  292. data/spec/models/task_result_spec.rb +42 -0
  293. data/spec/models/task_spec.rb +100 -0
  294. data/spec/models/tutteo_product_spec.rb +30 -0
  295. data/spec/models/user_admin_update_spec.rb +36 -18
  296. data/spec/models/user_azure_details_spec.rb +48 -0
  297. data/spec/models/user_basics_spec.rb +47 -25
  298. data/spec/models/user_community_profile_links_spec.rb +66 -0
  299. data/spec/models/user_creation_spec.rb +36 -20
  300. data/spec/models/user_details_admin_all_of_license_spec.rb +60 -0
  301. data/spec/models/user_details_admin_spec.rb +60 -32
  302. data/spec/models/user_details_spec.rb +93 -45
  303. data/spec/models/user_public_spec.rb +71 -37
  304. data/spec/models/user_public_summary_spec.rb +51 -29
  305. data/spec/models/user_signin_link_creation_spec.rb +36 -0
  306. data/spec/models/user_signin_link_spec.rb +42 -0
  307. data/spec/spec_helper.rb +4 -4
  308. metadata +279 -327
  309. data/CHANGELOG.md +0 -17
  310. data/Gemfile +0 -7
  311. data/README.md +0 -271
  312. data/Rakefile +0 -8
  313. data/docs/AccountApi.md +0 -55
  314. data/docs/Assignment.md +0 -18
  315. data/docs/AssignmentCopy.md +0 -8
  316. data/docs/AssignmentCreation.md +0 -12
  317. data/docs/AssignmentSubmission.md +0 -19
  318. data/docs/AssignmentSubmissionUpdate.md +0 -11
  319. data/docs/ClassApi.md +0 -1051
  320. data/docs/ClassAttachmentCreation.md +0 -10
  321. data/docs/ClassCreation.md +0 -9
  322. data/docs/ClassDetails.md +0 -25
  323. data/docs/ClassDetailsCanvas.md +0 -9
  324. data/docs/ClassDetailsClever.md +0 -14
  325. data/docs/ClassDetailsGoogleClassroom.md +0 -11
  326. data/docs/ClassDetailsGoogleDrive.md +0 -9
  327. data/docs/ClassDetailsLti.md +0 -10
  328. data/docs/ClassRoles.md +0 -7
  329. data/docs/ClassState.md +0 -7
  330. data/docs/ClassUpdate.md +0 -9
  331. data/docs/Collection.md +0 -18
  332. data/docs/CollectionApi.md +0 -521
  333. data/docs/CollectionCapabilities.md +0 -12
  334. data/docs/CollectionCreation.md +0 -8
  335. data/docs/CollectionModification.md +0 -8
  336. data/docs/CollectionPrivacy.md +0 -7
  337. data/docs/CollectionTitle.md +0 -7
  338. data/docs/CollectionType.md +0 -7
  339. data/docs/FlatErrorResponse.md +0 -11
  340. data/docs/FlatLocales.md +0 -7
  341. data/docs/GoogleClassroomCoursework.md +0 -10
  342. data/docs/GoogleClassroomSubmission.md +0 -10
  343. data/docs/Group.md +0 -14
  344. data/docs/GroupApi.md +0 -167
  345. data/docs/GroupDetails.md +0 -14
  346. data/docs/GroupType.md +0 -7
  347. data/docs/LicenseMode.md +0 -7
  348. data/docs/LicenseSources.md +0 -7
  349. data/docs/LmsName.md +0 -7
  350. data/docs/LtiCredentials.md +0 -16
  351. data/docs/LtiCredentialsCreation.md +0 -9
  352. data/docs/MediaAttachment.md +0 -23
  353. data/docs/MediaScoreSharingMode.md +0 -7
  354. data/docs/OrganizationApi.md +0 -538
  355. data/docs/OrganizationInvitation.md +0 -14
  356. data/docs/OrganizationInvitationCreation.md +0 -9
  357. data/docs/OrganizationRoles.md +0 -7
  358. data/docs/ResourceCollaborator.md +0 -16
  359. data/docs/ResourceCollaboratorCreation.md +0 -14
  360. data/docs/ResourceRights.md +0 -10
  361. data/docs/ResourceSharingKey.md +0 -7
  362. data/docs/ScoreApi.md +0 -1658
  363. data/docs/ScoreComment.md +0 -22
  364. data/docs/ScoreCommentContext.md +0 -14
  365. data/docs/ScoreCommentCreation.md +0 -13
  366. data/docs/ScoreCommentUpdate.md +0 -11
  367. data/docs/ScoreCommentsCounts.md +0 -11
  368. data/docs/ScoreCreation.md +0 -14
  369. data/docs/ScoreCreationType.md +0 -7
  370. data/docs/ScoreData.md +0 -7
  371. data/docs/ScoreDataEncoding.md +0 -7
  372. data/docs/ScoreDetails.md +0 -36
  373. data/docs/ScoreFork.md +0 -8
  374. data/docs/ScoreLicense.md +0 -7
  375. data/docs/ScoreLikesCounts.md +0 -10
  376. data/docs/ScoreModification.md +0 -14
  377. data/docs/ScorePrivacy.md +0 -7
  378. data/docs/ScoreRevision.md +0 -14
  379. data/docs/ScoreRevisionCreation.md +0 -11
  380. data/docs/ScoreRevisionStatistics.md +0 -9
  381. data/docs/ScoreSource.md +0 -8
  382. data/docs/ScoreSummary.md +0 -13
  383. data/docs/ScoreTrack.md +0 -19
  384. data/docs/ScoreTrackCreation.md +0 -12
  385. data/docs/ScoreTrackPoint.md +0 -10
  386. data/docs/ScoreTrackState.md +0 -7
  387. data/docs/ScoreTrackType.md +0 -7
  388. data/docs/ScoreTrackUpdate.md +0 -11
  389. data/docs/ScoreViewsCounts.md +0 -10
  390. data/docs/UserAdminUpdate.md +0 -9
  391. data/docs/UserApi.md +0 -173
  392. data/docs/UserBasics.md +0 -13
  393. data/docs/UserCreation.md +0 -11
  394. data/docs/UserDetails.md +0 -28
  395. data/docs/UserDetailsAdmin.md +0 -20
  396. data/docs/UserDetailsAdminLicense.md +0 -12
  397. data/docs/UserInstruments.md +0 -7
  398. data/docs/UserPublic.md +0 -25
  399. data/docs/UserPublicSummary.md +0 -17
  400. data/flat_api.gemspec +0 -48
  401. data/lib/flat_api/models/assignment_creation.rb +0 -230
  402. data/lib/flat_api/models/collection_title.rb +0 -179
  403. data/lib/flat_api/models/resource_sharing_key.rb +0 -179
  404. data/lib/flat_api/models/score_data.rb +0 -179
  405. data/lib/flat_api/models/score_data_encoding.rb +0 -30
  406. data/lib/flat_api/models/user_details_admin_license.rb +0 -227
  407. data/lib/flat_api/models/user_instruments.rb +0 -179
  408. data/spec/api_client_spec.rb +0 -226
  409. data/spec/configuration_spec.rb +0 -42
  410. data/spec/models/assignment_creation_spec.rb +0 -66
  411. data/spec/models/collection_title_spec.rb +0 -36
  412. data/spec/models/resource_sharing_key_spec.rb +0 -36
  413. data/spec/models/score_data_encoding_spec.rb +0 -36
  414. data/spec/models/score_data_spec.rb +0 -36
  415. data/spec/models/user_details_admin_license_spec.rb +0 -66
  416. data/spec/models/user_instruments_spec.rb +0 -36
@@ -0,0 +1,613 @@
1
+ =begin
2
+ #Flat API
3
+
4
+ #The Flat API allows you to easily extend the abilities of the [Flat Platform](https://flat.io), with a wide range of use cases including the following: * Creating and importing new music scores using MusicXML, MIDI, Guitar Pro (GP3, GP4, GP5, GPX, GP), PowerTab, TuxGuitar and MuseScore files * Browsing, updating, copying, exporting the user's scores (for example in MP3, WAV or MIDI) * Managing educational resources with Flat for Education: creating & updating the organization accounts, the classes, rosters and assignments. The Flat API is built on HTTP. Our API is RESTful It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. The [schema](/swagger.yaml) of this API follows the [OpenAPI Initiative (OAI) specification](https://www.openapis.org/), you can use and work with [compatible Swagger tools](http://swagger.io/open-source-integrations/). This API features Cross-Origin Resource Sharing (CORS) implemented in compliance with [W3C spec](https://www.w3.org/TR/cors/). You can use your favorite HTTP/REST library for your programming language to use Flat's API. This specification and reference is [available on Github](https://github.com/FlatIO/api-reference). Getting Started and learn more: * [API Overview and introduction](https://flat.io/developers/docs/api/) * [Authentication (Personal Access Tokens or OAuth2)](https://flat.io/developers/docs/api/authentication.html) * [SDKs](https://flat.io/developers/docs/api/sdks.html) * [Rate Limits](https://flat.io/developers/docs/api/rate-limits.html) * [Changelog](https://flat.io/developers/docs/api/changelog.html)
5
+
6
+ The version of the OpenAPI document: 2.20.0
7
+ Contact: developers@flat.io
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.3.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module FlatApi
17
+ class ClassAssignment
18
+ # Unique identifier of the assignment
19
+ attr_accessor :id
20
+
21
+ attr_accessor :type
22
+
23
+ attr_accessor :capabilities
24
+
25
+ # Title of the assignment
26
+ attr_accessor :title
27
+
28
+ # Description and content of the assignment
29
+ attr_accessor :description
30
+
31
+ # The URL of the cover to display
32
+ attr_accessor :cover
33
+
34
+ # The id of the cover to display
35
+ attr_accessor :cover_file
36
+
37
+ attr_accessor :attachments
38
+
39
+ # For all assignments created after 02/2023, all the underlying resources must be dedicated and stored in the assignment. This boolean indicates that this assignment only supports dedicated attachments.
40
+ attr_accessor :use_dedicated_attachments
41
+
42
+ # If set, the grading will be enabled for the assignement
43
+ attr_accessor :max_points
44
+
45
+ # For worksheets, how grading will work for the assignment: - If set to `auto`, the grades will be automatically released when the student submits the submissions - If set to `manual`, the grades will only be set as `draftGrade` and will be released when the teacher returns the submissions
46
+ attr_accessor :release_grades
47
+
48
+ # Mixing worksheets exercises for each student
49
+ attr_accessor :shuffle_exercises
50
+
51
+ # The id of the associated toolset
52
+ attr_accessor :toolset
53
+
54
+ # The number of playback authorized on the scores of the assignment.
55
+ attr_accessor :nb_playback_authorized
56
+
57
+ # The User unique identifier of the creator of this assignment
58
+ attr_accessor :creator
59
+
60
+ # State of the assignment
61
+ attr_accessor :state
62
+
63
+ # The unique identifier of the class where this assignment was posted
64
+ attr_accessor :classroom
65
+
66
+ # The creation date of this assignment
67
+ attr_accessor :creation_date
68
+
69
+ # The publication (scheduled) date of the assignment. If this one is specified, the assignment will only be listed to the teachers of the class.
70
+ attr_accessor :scheduled_date
71
+
72
+ # The due date of this assignment, late submissions will be marked as paste due.
73
+ attr_accessor :due_date
74
+
75
+ # Possible modes of assigning assignments
76
+ attr_accessor :assignee_mode
77
+
78
+ # Identifiers for the students that have access to the assignment
79
+ attr_accessor :assigned_students
80
+
81
+ attr_accessor :submissions
82
+
83
+ attr_accessor :google_classroom
84
+
85
+ attr_accessor :microsoft_graph
86
+
87
+ attr_accessor :mfc
88
+
89
+ attr_accessor :canvas
90
+
91
+ attr_accessor :lti
92
+
93
+ # Detected issue for this assignment
94
+ attr_accessor :issue
95
+
96
+ class EnumAttributeValidator
97
+ attr_reader :datatype
98
+ attr_reader :allowable_values
99
+
100
+ def initialize(datatype, allowable_values)
101
+ @allowable_values = allowable_values.map do |value|
102
+ case datatype.to_s
103
+ when /Integer/i
104
+ value.to_i
105
+ when /Float/i
106
+ value.to_f
107
+ else
108
+ value
109
+ end
110
+ end
111
+ end
112
+
113
+ def valid?(value)
114
+ !value || allowable_values.include?(value)
115
+ end
116
+ end
117
+
118
+ # Attribute mapping from ruby-style variable name to JSON key.
119
+ def self.attribute_map
120
+ {
121
+ :'id' => :'id',
122
+ :'type' => :'type',
123
+ :'capabilities' => :'capabilities',
124
+ :'title' => :'title',
125
+ :'description' => :'description',
126
+ :'cover' => :'cover',
127
+ :'cover_file' => :'coverFile',
128
+ :'attachments' => :'attachments',
129
+ :'use_dedicated_attachments' => :'useDedicatedAttachments',
130
+ :'max_points' => :'maxPoints',
131
+ :'release_grades' => :'releaseGrades',
132
+ :'shuffle_exercises' => :'shuffleExercises',
133
+ :'toolset' => :'toolset',
134
+ :'nb_playback_authorized' => :'nbPlaybackAuthorized',
135
+ :'creator' => :'creator',
136
+ :'state' => :'state',
137
+ :'classroom' => :'classroom',
138
+ :'creation_date' => :'creationDate',
139
+ :'scheduled_date' => :'scheduledDate',
140
+ :'due_date' => :'dueDate',
141
+ :'assignee_mode' => :'assigneeMode',
142
+ :'assigned_students' => :'assignedStudents',
143
+ :'submissions' => :'submissions',
144
+ :'google_classroom' => :'googleClassroom',
145
+ :'microsoft_graph' => :'microsoftGraph',
146
+ :'mfc' => :'mfc',
147
+ :'canvas' => :'canvas',
148
+ :'lti' => :'lti',
149
+ :'issue' => :'issue'
150
+ }
151
+ end
152
+
153
+ # Returns all the JSON keys this model knows about
154
+ def self.acceptable_attributes
155
+ attribute_map.values
156
+ end
157
+
158
+ # Attribute type mapping.
159
+ def self.openapi_types
160
+ {
161
+ :'id' => :'String',
162
+ :'type' => :'AssignmentType',
163
+ :'capabilities' => :'AssignmentCapabilities',
164
+ :'title' => :'String',
165
+ :'description' => :'String',
166
+ :'cover' => :'String',
167
+ :'cover_file' => :'String',
168
+ :'attachments' => :'Array<MediaAttachment>',
169
+ :'use_dedicated_attachments' => :'Boolean',
170
+ :'max_points' => :'Float',
171
+ :'release_grades' => :'String',
172
+ :'shuffle_exercises' => :'Boolean',
173
+ :'toolset' => :'String',
174
+ :'nb_playback_authorized' => :'Float',
175
+ :'creator' => :'String',
176
+ :'state' => :'String',
177
+ :'classroom' => :'String',
178
+ :'creation_date' => :'Time',
179
+ :'scheduled_date' => :'Time',
180
+ :'due_date' => :'Time',
181
+ :'assignee_mode' => :'String',
182
+ :'assigned_students' => :'Array<String>',
183
+ :'submissions' => :'Array<AssignmentSubmission>',
184
+ :'google_classroom' => :'GoogleClassroomCoursework',
185
+ :'microsoft_graph' => :'MicrosoftGraphAssignment',
186
+ :'mfc' => :'ClassAssignmentAllOfMfc',
187
+ :'canvas' => :'ClassAssignmentAllOfCanvas',
188
+ :'lti' => :'ClassAssignmentAllOfLti',
189
+ :'issue' => :'String'
190
+ }
191
+ end
192
+
193
+ # List of attributes with nullable: true
194
+ def self.openapi_nullable
195
+ Set.new([
196
+ ])
197
+ end
198
+
199
+ # List of class defined in allOf (OpenAPI v3)
200
+ def self.openapi_all_of
201
+ [
202
+ :'Assignment'
203
+ ]
204
+ end
205
+
206
+ # Initializes the object
207
+ # @param [Hash] attributes Model attributes in the form of hash
208
+ def initialize(attributes = {})
209
+ if (!attributes.is_a?(Hash))
210
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FlatApi::ClassAssignment` initialize method"
211
+ end
212
+
213
+ # check to see if the attribute exists and convert string to symbol for hash key
214
+ attributes = attributes.each_with_object({}) { |(k, v), h|
215
+ if (!self.class.attribute_map.key?(k.to_sym))
216
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::ClassAssignment`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
217
+ end
218
+ h[k.to_sym] = v
219
+ }
220
+
221
+ if attributes.key?(:'id')
222
+ self.id = attributes[:'id']
223
+ else
224
+ self.id = nil
225
+ end
226
+
227
+ if attributes.key?(:'type')
228
+ self.type = attributes[:'type']
229
+ else
230
+ self.type = nil
231
+ end
232
+
233
+ if attributes.key?(:'capabilities')
234
+ self.capabilities = attributes[:'capabilities']
235
+ else
236
+ self.capabilities = nil
237
+ end
238
+
239
+ if attributes.key?(:'title')
240
+ self.title = attributes[:'title']
241
+ else
242
+ self.title = nil
243
+ end
244
+
245
+ if attributes.key?(:'description')
246
+ self.description = attributes[:'description']
247
+ end
248
+
249
+ if attributes.key?(:'cover')
250
+ self.cover = attributes[:'cover']
251
+ end
252
+
253
+ if attributes.key?(:'cover_file')
254
+ self.cover_file = attributes[:'cover_file']
255
+ end
256
+
257
+ if attributes.key?(:'attachments')
258
+ if (value = attributes[:'attachments']).is_a?(Array)
259
+ self.attachments = value
260
+ end
261
+ else
262
+ self.attachments = nil
263
+ end
264
+
265
+ if attributes.key?(:'use_dedicated_attachments')
266
+ self.use_dedicated_attachments = attributes[:'use_dedicated_attachments']
267
+ end
268
+
269
+ if attributes.key?(:'max_points')
270
+ self.max_points = attributes[:'max_points']
271
+ end
272
+
273
+ if attributes.key?(:'release_grades')
274
+ self.release_grades = attributes[:'release_grades']
275
+ end
276
+
277
+ if attributes.key?(:'shuffle_exercises')
278
+ self.shuffle_exercises = attributes[:'shuffle_exercises']
279
+ end
280
+
281
+ if attributes.key?(:'toolset')
282
+ self.toolset = attributes[:'toolset']
283
+ end
284
+
285
+ if attributes.key?(:'nb_playback_authorized')
286
+ self.nb_playback_authorized = attributes[:'nb_playback_authorized']
287
+ end
288
+
289
+ if attributes.key?(:'creator')
290
+ self.creator = attributes[:'creator']
291
+ end
292
+
293
+ if attributes.key?(:'state')
294
+ self.state = attributes[:'state']
295
+ else
296
+ self.state = nil
297
+ end
298
+
299
+ if attributes.key?(:'classroom')
300
+ self.classroom = attributes[:'classroom']
301
+ end
302
+
303
+ if attributes.key?(:'creation_date')
304
+ self.creation_date = attributes[:'creation_date']
305
+ else
306
+ self.creation_date = nil
307
+ end
308
+
309
+ if attributes.key?(:'scheduled_date')
310
+ self.scheduled_date = attributes[:'scheduled_date']
311
+ end
312
+
313
+ if attributes.key?(:'due_date')
314
+ self.due_date = attributes[:'due_date']
315
+ end
316
+
317
+ if attributes.key?(:'assignee_mode')
318
+ self.assignee_mode = attributes[:'assignee_mode']
319
+ end
320
+
321
+ if attributes.key?(:'assigned_students')
322
+ if (value = attributes[:'assigned_students']).is_a?(Array)
323
+ self.assigned_students = value
324
+ end
325
+ end
326
+
327
+ if attributes.key?(:'submissions')
328
+ if (value = attributes[:'submissions']).is_a?(Array)
329
+ self.submissions = value
330
+ end
331
+ else
332
+ self.submissions = nil
333
+ end
334
+
335
+ if attributes.key?(:'google_classroom')
336
+ self.google_classroom = attributes[:'google_classroom']
337
+ end
338
+
339
+ if attributes.key?(:'microsoft_graph')
340
+ self.microsoft_graph = attributes[:'microsoft_graph']
341
+ end
342
+
343
+ if attributes.key?(:'mfc')
344
+ self.mfc = attributes[:'mfc']
345
+ end
346
+
347
+ if attributes.key?(:'canvas')
348
+ self.canvas = attributes[:'canvas']
349
+ end
350
+
351
+ if attributes.key?(:'lti')
352
+ self.lti = attributes[:'lti']
353
+ end
354
+
355
+ if attributes.key?(:'issue')
356
+ self.issue = attributes[:'issue']
357
+ end
358
+ end
359
+
360
+ # Show invalid properties with the reasons. Usually used together with valid?
361
+ # @return Array for valid properties with the reasons
362
+ def list_invalid_properties
363
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
364
+ invalid_properties = Array.new
365
+ if @id.nil?
366
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
367
+ end
368
+
369
+ if @type.nil?
370
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
371
+ end
372
+
373
+ if @capabilities.nil?
374
+ invalid_properties.push('invalid value for "capabilities", capabilities cannot be nil.')
375
+ end
376
+
377
+ if @title.nil?
378
+ invalid_properties.push('invalid value for "title", title cannot be nil.')
379
+ end
380
+
381
+ if @attachments.nil?
382
+ invalid_properties.push('invalid value for "attachments", attachments cannot be nil.')
383
+ end
384
+
385
+ if @state.nil?
386
+ invalid_properties.push('invalid value for "state", state cannot be nil.')
387
+ end
388
+
389
+ if @creation_date.nil?
390
+ invalid_properties.push('invalid value for "creation_date", creation_date cannot be nil.')
391
+ end
392
+
393
+ if @submissions.nil?
394
+ invalid_properties.push('invalid value for "submissions", submissions cannot be nil.')
395
+ end
396
+
397
+ invalid_properties
398
+ end
399
+
400
+ # Check to see if the all the properties in the model are valid
401
+ # @return true if the model is valid
402
+ def valid?
403
+ warn '[DEPRECATED] the `valid?` method is obsolete'
404
+ return false if @id.nil?
405
+ return false if @type.nil?
406
+ return false if @capabilities.nil?
407
+ return false if @title.nil?
408
+ return false if @attachments.nil?
409
+ release_grades_validator = EnumAttributeValidator.new('String', ["auto", "manual"])
410
+ return false unless release_grades_validator.valid?(@release_grades)
411
+ return false if @state.nil?
412
+ state_validator = EnumAttributeValidator.new('String', ["draft", "active", "archived"])
413
+ return false unless state_validator.valid?(@state)
414
+ return false if @creation_date.nil?
415
+ assignee_mode_validator = EnumAttributeValidator.new('String', ["everyone", "selected"])
416
+ return false unless assignee_mode_validator.valid?(@assignee_mode)
417
+ return false if @submissions.nil?
418
+ true
419
+ end
420
+
421
+ # Custom attribute writer method checking allowed values (enum).
422
+ # @param [Object] release_grades Object to be assigned
423
+ def release_grades=(release_grades)
424
+ validator = EnumAttributeValidator.new('String', ["auto", "manual"])
425
+ unless validator.valid?(release_grades)
426
+ fail ArgumentError, "invalid value for \"release_grades\", must be one of #{validator.allowable_values}."
427
+ end
428
+ @release_grades = release_grades
429
+ end
430
+
431
+ # Custom attribute writer method checking allowed values (enum).
432
+ # @param [Object] state Object to be assigned
433
+ def state=(state)
434
+ validator = EnumAttributeValidator.new('String', ["draft", "active", "archived"])
435
+ unless validator.valid?(state)
436
+ fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}."
437
+ end
438
+ @state = state
439
+ end
440
+
441
+ # Custom attribute writer method checking allowed values (enum).
442
+ # @param [Object] assignee_mode Object to be assigned
443
+ def assignee_mode=(assignee_mode)
444
+ validator = EnumAttributeValidator.new('String', ["everyone", "selected"])
445
+ unless validator.valid?(assignee_mode)
446
+ fail ArgumentError, "invalid value for \"assignee_mode\", must be one of #{validator.allowable_values}."
447
+ end
448
+ @assignee_mode = assignee_mode
449
+ end
450
+
451
+ # Checks equality by comparing each attribute.
452
+ # @param [Object] Object to be compared
453
+ def ==(o)
454
+ return true if self.equal?(o)
455
+ self.class == o.class &&
456
+ id == o.id &&
457
+ type == o.type &&
458
+ capabilities == o.capabilities &&
459
+ title == o.title &&
460
+ description == o.description &&
461
+ cover == o.cover &&
462
+ cover_file == o.cover_file &&
463
+ attachments == o.attachments &&
464
+ use_dedicated_attachments == o.use_dedicated_attachments &&
465
+ max_points == o.max_points &&
466
+ release_grades == o.release_grades &&
467
+ shuffle_exercises == o.shuffle_exercises &&
468
+ toolset == o.toolset &&
469
+ nb_playback_authorized == o.nb_playback_authorized &&
470
+ creator == o.creator &&
471
+ state == o.state &&
472
+ classroom == o.classroom &&
473
+ creation_date == o.creation_date &&
474
+ scheduled_date == o.scheduled_date &&
475
+ due_date == o.due_date &&
476
+ assignee_mode == o.assignee_mode &&
477
+ assigned_students == o.assigned_students &&
478
+ submissions == o.submissions &&
479
+ google_classroom == o.google_classroom &&
480
+ microsoft_graph == o.microsoft_graph &&
481
+ mfc == o.mfc &&
482
+ canvas == o.canvas &&
483
+ lti == o.lti &&
484
+ issue == o.issue
485
+ end
486
+
487
+ # @see the `==` method
488
+ # @param [Object] Object to be compared
489
+ def eql?(o)
490
+ self == o
491
+ end
492
+
493
+ # Calculates hash code according to all attributes.
494
+ # @return [Integer] Hash code
495
+ def hash
496
+ [id, type, capabilities, title, description, cover, cover_file, attachments, use_dedicated_attachments, max_points, release_grades, shuffle_exercises, toolset, nb_playback_authorized, creator, state, classroom, creation_date, scheduled_date, due_date, assignee_mode, assigned_students, submissions, google_classroom, microsoft_graph, mfc, canvas, lti, issue].hash
497
+ end
498
+
499
+ # Builds the object from hash
500
+ # @param [Hash] attributes Model attributes in the form of hash
501
+ # @return [Object] Returns the model itself
502
+ def self.build_from_hash(attributes)
503
+ return nil unless attributes.is_a?(Hash)
504
+ attributes = attributes.transform_keys(&:to_sym)
505
+ transformed_hash = {}
506
+ openapi_types.each_pair do |key, type|
507
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
508
+ transformed_hash["#{key}"] = nil
509
+ elsif type =~ /\AArray<(.*)>/i
510
+ # check to ensure the input is an array given that the attribute
511
+ # is documented as an array but the input is not
512
+ if attributes[attribute_map[key]].is_a?(Array)
513
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
514
+ end
515
+ elsif !attributes[attribute_map[key]].nil?
516
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
517
+ end
518
+ end
519
+ new(transformed_hash)
520
+ end
521
+
522
+ # Deserializes the data based on type
523
+ # @param string type Data type
524
+ # @param string value Value to be deserialized
525
+ # @return [Object] Deserialized data
526
+ def self._deserialize(type, value)
527
+ case type.to_sym
528
+ when :Time
529
+ Time.parse(value)
530
+ when :Date
531
+ Date.parse(value)
532
+ when :String
533
+ value.to_s
534
+ when :Integer
535
+ value.to_i
536
+ when :Float
537
+ value.to_f
538
+ when :Boolean
539
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
540
+ true
541
+ else
542
+ false
543
+ end
544
+ when :Object
545
+ # generic object (usually a Hash), return directly
546
+ value
547
+ when /\AArray<(?<inner_type>.+)>\z/
548
+ inner_type = Regexp.last_match[:inner_type]
549
+ value.map { |v| _deserialize(inner_type, v) }
550
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
551
+ k_type = Regexp.last_match[:k_type]
552
+ v_type = Regexp.last_match[:v_type]
553
+ {}.tap do |hash|
554
+ value.each do |k, v|
555
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
556
+ end
557
+ end
558
+ else # model
559
+ # models (e.g. Pet) or oneOf
560
+ klass = FlatApi.const_get(type)
561
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
562
+ end
563
+ end
564
+
565
+ # Returns the string representation of the object
566
+ # @return [String] String presentation of the object
567
+ def to_s
568
+ to_hash.to_s
569
+ end
570
+
571
+ # to_body is an alias to to_hash (backward compatibility)
572
+ # @return [Hash] Returns the object in the form of hash
573
+ def to_body
574
+ to_hash
575
+ end
576
+
577
+ # Returns the object in the form of hash
578
+ # @return [Hash] Returns the object in the form of hash
579
+ def to_hash
580
+ hash = {}
581
+ self.class.attribute_map.each_pair do |attr, param|
582
+ value = self.send(attr)
583
+ if value.nil?
584
+ is_nullable = self.class.openapi_nullable.include?(attr)
585
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
586
+ end
587
+
588
+ hash[param] = _to_hash(value)
589
+ end
590
+ hash
591
+ end
592
+
593
+ # Outputs non-array value in the form of hash
594
+ # For object, use to_hash. Otherwise, just return the value
595
+ # @param [Object] value Any valid value
596
+ # @return [Hash] Returns the value in the form of hash
597
+ def _to_hash(value)
598
+ if value.is_a?(Array)
599
+ value.compact.map { |v| _to_hash(v) }
600
+ elsif value.is_a?(Hash)
601
+ {}.tap do |hash|
602
+ value.each { |k, v| hash[k] = _to_hash(v) }
603
+ end
604
+ elsif value.respond_to? :to_hash
605
+ value.to_hash
606
+ else
607
+ value
608
+ end
609
+ end
610
+
611
+ end
612
+
613
+ end