flat_api 0.1.2 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (409) 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 +684 -0
  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 +1034 -570
  9. data/lib/flat_api/api/task_api.rb +85 -0
  10. data/lib/flat_api/api/user_api.rb +114 -76
  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 +373 -0
  60. data/lib/flat_api/models/collection_app.rb +236 -0
  61. data/lib/flat_api/models/collection_capabilities.rb +291 -0
  62. data/lib/flat_api/models/collection_creation.rb +288 -0
  63. data/lib/flat_api/models/collection_modification.rb +275 -0
  64. data/lib/flat_api/models/collection_privacy.rb +39 -0
  65. data/lib/flat_api/models/collection_type.rb +44 -0
  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 +403 -0
  100. data/lib/flat_api/models/{score_collaborator_creation.rb → resource_collaborator_creation.rb} +85 -48
  101. data/lib/flat_api/models/resource_rights.rb +318 -0
  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 -215
  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 +274 -83
  119. data/lib/flat_api/models/score_fork.rb +94 -32
  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 +175 -52
  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 +87 -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 +158 -0
  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 +139 -110
  164. data/spec/api/task_api_spec.rb +47 -0
  165. data/spec/api/user_api_spec.rb +28 -26
  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 +60 -0
  213. data/spec/models/collection_creation_spec.rb +42 -0
  214. data/spec/models/collection_modification_spec.rb +42 -0
  215. data/spec/models/collection_privacy_spec.rb +30 -0
  216. data/spec/models/collection_spec.rb +114 -0
  217. data/spec/models/collection_type_spec.rb +30 -0
  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 +72 -0
  252. data/spec/models/resource_collaborator_spec.rb +112 -0
  253. data/spec/models/resource_rights_spec.rb +64 -0
  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 -52
  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 +27 -15
  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 +51 -21
  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 +299 -312
  309. data/CHANGELOG.md +0 -13
  310. data/Gemfile +0 -7
  311. data/README.md +0 -249
  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/FlatErrorResponse.md +0 -11
  332. data/docs/FlatLocales.md +0 -7
  333. data/docs/GoogleClassroomCoursework.md +0 -10
  334. data/docs/GoogleClassroomSubmission.md +0 -10
  335. data/docs/Group.md +0 -14
  336. data/docs/GroupApi.md +0 -167
  337. data/docs/GroupDetails.md +0 -14
  338. data/docs/GroupType.md +0 -7
  339. data/docs/LicenseMode.md +0 -7
  340. data/docs/LicenseSources.md +0 -7
  341. data/docs/LmsName.md +0 -7
  342. data/docs/LtiCredentials.md +0 -16
  343. data/docs/LtiCredentialsCreation.md +0 -9
  344. data/docs/MediaAttachment.md +0 -23
  345. data/docs/MediaScoreSharingMode.md +0 -7
  346. data/docs/OrganizationApi.md +0 -538
  347. data/docs/OrganizationInvitation.md +0 -14
  348. data/docs/OrganizationInvitationCreation.md +0 -9
  349. data/docs/OrganizationRoles.md +0 -7
  350. data/docs/ScoreApi.md +0 -1605
  351. data/docs/ScoreCollaborator.md +0 -15
  352. data/docs/ScoreCollaboratorCreation.md +0 -13
  353. data/docs/ScoreComment.md +0 -22
  354. data/docs/ScoreCommentContext.md +0 -14
  355. data/docs/ScoreCommentCreation.md +0 -13
  356. data/docs/ScoreCommentUpdate.md +0 -11
  357. data/docs/ScoreCommentsCounts.md +0 -11
  358. data/docs/ScoreCreation.md +0 -13
  359. data/docs/ScoreCreationType.md +0 -7
  360. data/docs/ScoreData.md +0 -7
  361. data/docs/ScoreDataEncoding.md +0 -7
  362. data/docs/ScoreDetails.md +0 -36
  363. data/docs/ScoreFork.md +0 -7
  364. data/docs/ScoreLicense.md +0 -7
  365. data/docs/ScoreLikesCounts.md +0 -10
  366. data/docs/ScoreModification.md +0 -13
  367. data/docs/ScorePrivacy.md +0 -7
  368. data/docs/ScoreRevision.md +0 -14
  369. data/docs/ScoreRevisionCreation.md +0 -11
  370. data/docs/ScoreRevisionStatistics.md +0 -9
  371. data/docs/ScoreRights.md +0 -10
  372. data/docs/ScoreSource.md +0 -8
  373. data/docs/ScoreSummary.md +0 -13
  374. data/docs/ScoreTrack.md +0 -19
  375. data/docs/ScoreTrackCreation.md +0 -12
  376. data/docs/ScoreTrackPoint.md +0 -10
  377. data/docs/ScoreTrackState.md +0 -7
  378. data/docs/ScoreTrackType.md +0 -7
  379. data/docs/ScoreTrackUpdate.md +0 -11
  380. data/docs/ScoreViewsCounts.md +0 -10
  381. data/docs/UserAdminUpdate.md +0 -9
  382. data/docs/UserApi.md +0 -173
  383. data/docs/UserBasics.md +0 -13
  384. data/docs/UserCreation.md +0 -11
  385. data/docs/UserDetails.md +0 -28
  386. data/docs/UserDetailsAdmin.md +0 -20
  387. data/docs/UserDetailsAdminLicense.md +0 -12
  388. data/docs/UserInstruments.md +0 -7
  389. data/docs/UserPublic.md +0 -25
  390. data/docs/UserPublicSummary.md +0 -17
  391. data/flat_api.gemspec +0 -48
  392. data/git_push.sh +0 -55
  393. data/lib/flat_api/models/assignment_creation.rb +0 -230
  394. data/lib/flat_api/models/score_collaborator.rb +0 -263
  395. data/lib/flat_api/models/score_data.rb +0 -179
  396. data/lib/flat_api/models/score_data_encoding.rb +0 -30
  397. data/lib/flat_api/models/score_rights.rb +0 -215
  398. data/lib/flat_api/models/user_details_admin_license.rb +0 -227
  399. data/lib/flat_api/models/user_instruments.rb +0 -179
  400. data/spec/api_client_spec.rb +0 -226
  401. data/spec/configuration_spec.rb +0 -42
  402. data/spec/models/assignment_creation_spec.rb +0 -66
  403. data/spec/models/score_collaborator_creation_spec.rb +0 -72
  404. data/spec/models/score_collaborator_spec.rb +0 -84
  405. data/spec/models/score_data_encoding_spec.rb +0 -36
  406. data/spec/models/score_data_spec.rb +0 -36
  407. data/spec/models/score_rights_spec.rb +0 -48
  408. data/spec/models/user_details_admin_license_spec.rb +0 -66
  409. data/spec/models/user_instruments_spec.rb +0 -36
@@ -0,0 +1,373 @@
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
+ # Collection of scores
18
+ class Collection
19
+ # Unique identifier of the collection
20
+ attr_accessor :id
21
+
22
+ # The title of the collection
23
+ attr_accessor :title
24
+
25
+ # The url where the collection can be viewed in a web browser
26
+ attr_accessor :html_url
27
+
28
+ attr_accessor :type
29
+
30
+ attr_accessor :privacy
31
+
32
+ # The private sharing key of the collection (available when the `privacy` mode is set to `privateLink`)
33
+ attr_accessor :sharing_key
34
+
35
+ attr_accessor :app
36
+
37
+ # The date when the collection was created
38
+ attr_accessor :creation_date
39
+
40
+ attr_accessor :user
41
+
42
+ # If the score has been created in an organization, the identifier of this organization.
43
+ attr_accessor :organization
44
+
45
+ attr_accessor :rights
46
+
47
+ # The list of the collaborators of the collection
48
+ attr_accessor :collaborators
49
+
50
+ attr_accessor :capabilities
51
+
52
+ # The List of parent collections, which includes all the collections this score is included. Please note that you might not have access to all of them.
53
+ attr_accessor :collections
54
+
55
+ class EnumAttributeValidator
56
+ attr_reader :datatype
57
+ attr_reader :allowable_values
58
+
59
+ def initialize(datatype, allowable_values)
60
+ @allowable_values = allowable_values.map do |value|
61
+ case datatype.to_s
62
+ when /Integer/i
63
+ value.to_i
64
+ when /Float/i
65
+ value.to_f
66
+ else
67
+ value
68
+ end
69
+ end
70
+ end
71
+
72
+ def valid?(value)
73
+ !value || allowable_values.include?(value)
74
+ end
75
+ end
76
+
77
+ # Attribute mapping from ruby-style variable name to JSON key.
78
+ def self.attribute_map
79
+ {
80
+ :'id' => :'id',
81
+ :'title' => :'title',
82
+ :'html_url' => :'htmlUrl',
83
+ :'type' => :'type',
84
+ :'privacy' => :'privacy',
85
+ :'sharing_key' => :'sharingKey',
86
+ :'app' => :'app',
87
+ :'creation_date' => :'creationDate',
88
+ :'user' => :'user',
89
+ :'organization' => :'organization',
90
+ :'rights' => :'rights',
91
+ :'collaborators' => :'collaborators',
92
+ :'capabilities' => :'capabilities',
93
+ :'collections' => :'collections'
94
+ }
95
+ end
96
+
97
+ # Returns all the JSON keys this model knows about
98
+ def self.acceptable_attributes
99
+ attribute_map.values
100
+ end
101
+
102
+ # Attribute type mapping.
103
+ def self.openapi_types
104
+ {
105
+ :'id' => :'String',
106
+ :'title' => :'String',
107
+ :'html_url' => :'String',
108
+ :'type' => :'CollectionType',
109
+ :'privacy' => :'CollectionPrivacy',
110
+ :'sharing_key' => :'String',
111
+ :'app' => :'CollectionApp',
112
+ :'creation_date' => :'Time',
113
+ :'user' => :'UserPublicSummary',
114
+ :'organization' => :'String',
115
+ :'rights' => :'ResourceRights',
116
+ :'collaborators' => :'Array<ResourceCollaborator>',
117
+ :'capabilities' => :'CollectionCapabilities',
118
+ :'collections' => :'Array<String>'
119
+ }
120
+ end
121
+
122
+ # List of attributes with nullable: true
123
+ def self.openapi_nullable
124
+ Set.new([
125
+ ])
126
+ end
127
+
128
+ # Initializes the object
129
+ # @param [Hash] attributes Model attributes in the form of hash
130
+ def initialize(attributes = {})
131
+ if (!attributes.is_a?(Hash))
132
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FlatApi::Collection` initialize method"
133
+ end
134
+
135
+ # check to see if the attribute exists and convert string to symbol for hash key
136
+ attributes = attributes.each_with_object({}) { |(k, v), h|
137
+ if (!self.class.attribute_map.key?(k.to_sym))
138
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::Collection`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
139
+ end
140
+ h[k.to_sym] = v
141
+ }
142
+
143
+ if attributes.key?(:'id')
144
+ self.id = attributes[:'id']
145
+ end
146
+
147
+ if attributes.key?(:'title')
148
+ self.title = attributes[:'title']
149
+ end
150
+
151
+ if attributes.key?(:'html_url')
152
+ self.html_url = attributes[:'html_url']
153
+ end
154
+
155
+ if attributes.key?(:'type')
156
+ self.type = attributes[:'type']
157
+ end
158
+
159
+ if attributes.key?(:'privacy')
160
+ self.privacy = attributes[:'privacy']
161
+ end
162
+
163
+ if attributes.key?(:'sharing_key')
164
+ self.sharing_key = attributes[:'sharing_key']
165
+ end
166
+
167
+ if attributes.key?(:'app')
168
+ self.app = attributes[:'app']
169
+ end
170
+
171
+ if attributes.key?(:'creation_date')
172
+ self.creation_date = attributes[:'creation_date']
173
+ end
174
+
175
+ if attributes.key?(:'user')
176
+ self.user = attributes[:'user']
177
+ end
178
+
179
+ if attributes.key?(:'organization')
180
+ self.organization = attributes[:'organization']
181
+ end
182
+
183
+ if attributes.key?(:'rights')
184
+ self.rights = attributes[:'rights']
185
+ end
186
+
187
+ if attributes.key?(:'collaborators')
188
+ if (value = attributes[:'collaborators']).is_a?(Array)
189
+ self.collaborators = value
190
+ end
191
+ end
192
+
193
+ if attributes.key?(:'capabilities')
194
+ self.capabilities = attributes[:'capabilities']
195
+ else
196
+ self.capabilities = nil
197
+ end
198
+
199
+ if attributes.key?(:'collections')
200
+ if (value = attributes[:'collections']).is_a?(Array)
201
+ self.collections = value
202
+ end
203
+ end
204
+ end
205
+
206
+ # Show invalid properties with the reasons. Usually used together with valid?
207
+ # @return Array for valid properties with the reasons
208
+ def list_invalid_properties
209
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
210
+ invalid_properties = Array.new
211
+ if @capabilities.nil?
212
+ invalid_properties.push('invalid value for "capabilities", capabilities cannot be nil.')
213
+ end
214
+
215
+ invalid_properties
216
+ end
217
+
218
+ # Check to see if the all the properties in the model are valid
219
+ # @return true if the model is valid
220
+ def valid?
221
+ warn '[DEPRECATED] the `valid?` method is obsolete'
222
+ return false if @capabilities.nil?
223
+ true
224
+ end
225
+
226
+ # Checks equality by comparing each attribute.
227
+ # @param [Object] Object to be compared
228
+ def ==(o)
229
+ return true if self.equal?(o)
230
+ self.class == o.class &&
231
+ id == o.id &&
232
+ title == o.title &&
233
+ html_url == o.html_url &&
234
+ type == o.type &&
235
+ privacy == o.privacy &&
236
+ sharing_key == o.sharing_key &&
237
+ app == o.app &&
238
+ creation_date == o.creation_date &&
239
+ user == o.user &&
240
+ organization == o.organization &&
241
+ rights == o.rights &&
242
+ collaborators == o.collaborators &&
243
+ capabilities == o.capabilities &&
244
+ collections == o.collections
245
+ end
246
+
247
+ # @see the `==` method
248
+ # @param [Object] Object to be compared
249
+ def eql?(o)
250
+ self == o
251
+ end
252
+
253
+ # Calculates hash code according to all attributes.
254
+ # @return [Integer] Hash code
255
+ def hash
256
+ [id, title, html_url, type, privacy, sharing_key, app, creation_date, user, organization, rights, collaborators, capabilities, collections].hash
257
+ end
258
+
259
+ # Builds the object from hash
260
+ # @param [Hash] attributes Model attributes in the form of hash
261
+ # @return [Object] Returns the model itself
262
+ def self.build_from_hash(attributes)
263
+ return nil unless attributes.is_a?(Hash)
264
+ attributes = attributes.transform_keys(&:to_sym)
265
+ transformed_hash = {}
266
+ openapi_types.each_pair do |key, type|
267
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
268
+ transformed_hash["#{key}"] = nil
269
+ elsif type =~ /\AArray<(.*)>/i
270
+ # check to ensure the input is an array given that the attribute
271
+ # is documented as an array but the input is not
272
+ if attributes[attribute_map[key]].is_a?(Array)
273
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
274
+ end
275
+ elsif !attributes[attribute_map[key]].nil?
276
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
277
+ end
278
+ end
279
+ new(transformed_hash)
280
+ end
281
+
282
+ # Deserializes the data based on type
283
+ # @param string type Data type
284
+ # @param string value Value to be deserialized
285
+ # @return [Object] Deserialized data
286
+ def self._deserialize(type, value)
287
+ case type.to_sym
288
+ when :Time
289
+ Time.parse(value)
290
+ when :Date
291
+ Date.parse(value)
292
+ when :String
293
+ value.to_s
294
+ when :Integer
295
+ value.to_i
296
+ when :Float
297
+ value.to_f
298
+ when :Boolean
299
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
300
+ true
301
+ else
302
+ false
303
+ end
304
+ when :Object
305
+ # generic object (usually a Hash), return directly
306
+ value
307
+ when /\AArray<(?<inner_type>.+)>\z/
308
+ inner_type = Regexp.last_match[:inner_type]
309
+ value.map { |v| _deserialize(inner_type, v) }
310
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
311
+ k_type = Regexp.last_match[:k_type]
312
+ v_type = Regexp.last_match[:v_type]
313
+ {}.tap do |hash|
314
+ value.each do |k, v|
315
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
316
+ end
317
+ end
318
+ else # model
319
+ # models (e.g. Pet) or oneOf
320
+ klass = FlatApi.const_get(type)
321
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
322
+ end
323
+ end
324
+
325
+ # Returns the string representation of the object
326
+ # @return [String] String presentation of the object
327
+ def to_s
328
+ to_hash.to_s
329
+ end
330
+
331
+ # to_body is an alias to to_hash (backward compatibility)
332
+ # @return [Hash] Returns the object in the form of hash
333
+ def to_body
334
+ to_hash
335
+ end
336
+
337
+ # Returns the object in the form of hash
338
+ # @return [Hash] Returns the object in the form of hash
339
+ def to_hash
340
+ hash = {}
341
+ self.class.attribute_map.each_pair do |attr, param|
342
+ value = self.send(attr)
343
+ if value.nil?
344
+ is_nullable = self.class.openapi_nullable.include?(attr)
345
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
346
+ end
347
+
348
+ hash[param] = _to_hash(value)
349
+ end
350
+ hash
351
+ end
352
+
353
+ # Outputs non-array value in the form of hash
354
+ # For object, use to_hash. Otherwise, just return the value
355
+ # @param [Object] value Any valid value
356
+ # @return [Hash] Returns the value in the form of hash
357
+ def _to_hash(value)
358
+ if value.is_a?(Array)
359
+ value.compact.map { |v| _to_hash(v) }
360
+ elsif value.is_a?(Hash)
361
+ {}.tap do |hash|
362
+ value.each { |k, v| hash[k] = _to_hash(v) }
363
+ end
364
+ elsif value.respond_to? :to_hash
365
+ value.to_hash
366
+ else
367
+ value
368
+ end
369
+ end
370
+
371
+ end
372
+
373
+ end
@@ -0,0 +1,236 @@
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
+ # For App collections, the details of the app that created the collection
18
+ class CollectionApp
19
+ # The app unique identifier
20
+ attr_accessor :id
21
+
22
+ # The name of the app
23
+ attr_accessor :name
24
+
25
+ # The app logo url
26
+ attr_accessor :logo
27
+
28
+ # Attribute mapping from ruby-style variable name to JSON key.
29
+ def self.attribute_map
30
+ {
31
+ :'id' => :'id',
32
+ :'name' => :'name',
33
+ :'logo' => :'logo'
34
+ }
35
+ end
36
+
37
+ # Returns all the JSON keys this model knows about
38
+ def self.acceptable_attributes
39
+ attribute_map.values
40
+ end
41
+
42
+ # Attribute type mapping.
43
+ def self.openapi_types
44
+ {
45
+ :'id' => :'String',
46
+ :'name' => :'String',
47
+ :'logo' => :'String'
48
+ }
49
+ end
50
+
51
+ # List of attributes with nullable: true
52
+ def self.openapi_nullable
53
+ Set.new([
54
+ ])
55
+ end
56
+
57
+ # Initializes the object
58
+ # @param [Hash] attributes Model attributes in the form of hash
59
+ def initialize(attributes = {})
60
+ if (!attributes.is_a?(Hash))
61
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FlatApi::CollectionApp` initialize method"
62
+ end
63
+
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!self.class.attribute_map.key?(k.to_sym))
67
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::CollectionApp`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
68
+ end
69
+ h[k.to_sym] = v
70
+ }
71
+
72
+ if attributes.key?(:'id')
73
+ self.id = attributes[:'id']
74
+ end
75
+
76
+ if attributes.key?(:'name')
77
+ self.name = attributes[:'name']
78
+ end
79
+
80
+ if attributes.key?(:'logo')
81
+ self.logo = attributes[:'logo']
82
+ end
83
+ end
84
+
85
+ # Show invalid properties with the reasons. Usually used together with valid?
86
+ # @return Array for valid properties with the reasons
87
+ def list_invalid_properties
88
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
89
+ invalid_properties = Array.new
90
+ invalid_properties
91
+ end
92
+
93
+ # Check to see if the all the properties in the model are valid
94
+ # @return true if the model is valid
95
+ def valid?
96
+ warn '[DEPRECATED] the `valid?` method is obsolete'
97
+ true
98
+ end
99
+
100
+ # Checks equality by comparing each attribute.
101
+ # @param [Object] Object to be compared
102
+ def ==(o)
103
+ return true if self.equal?(o)
104
+ self.class == o.class &&
105
+ id == o.id &&
106
+ name == o.name &&
107
+ logo == o.logo
108
+ end
109
+
110
+ # @see the `==` method
111
+ # @param [Object] Object to be compared
112
+ def eql?(o)
113
+ self == o
114
+ end
115
+
116
+ # Calculates hash code according to all attributes.
117
+ # @return [Integer] Hash code
118
+ def hash
119
+ [id, name, logo].hash
120
+ end
121
+
122
+ # Builds the object from hash
123
+ # @param [Hash] attributes Model attributes in the form of hash
124
+ # @return [Object] Returns the model itself
125
+ def self.build_from_hash(attributes)
126
+ return nil unless attributes.is_a?(Hash)
127
+ attributes = attributes.transform_keys(&:to_sym)
128
+ transformed_hash = {}
129
+ openapi_types.each_pair do |key, type|
130
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
131
+ transformed_hash["#{key}"] = nil
132
+ elsif type =~ /\AArray<(.*)>/i
133
+ # check to ensure the input is an array given that the attribute
134
+ # is documented as an array but the input is not
135
+ if attributes[attribute_map[key]].is_a?(Array)
136
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
137
+ end
138
+ elsif !attributes[attribute_map[key]].nil?
139
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
140
+ end
141
+ end
142
+ new(transformed_hash)
143
+ end
144
+
145
+ # Deserializes the data based on type
146
+ # @param string type Data type
147
+ # @param string value Value to be deserialized
148
+ # @return [Object] Deserialized data
149
+ def self._deserialize(type, value)
150
+ case type.to_sym
151
+ when :Time
152
+ Time.parse(value)
153
+ when :Date
154
+ Date.parse(value)
155
+ when :String
156
+ value.to_s
157
+ when :Integer
158
+ value.to_i
159
+ when :Float
160
+ value.to_f
161
+ when :Boolean
162
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
163
+ true
164
+ else
165
+ false
166
+ end
167
+ when :Object
168
+ # generic object (usually a Hash), return directly
169
+ value
170
+ when /\AArray<(?<inner_type>.+)>\z/
171
+ inner_type = Regexp.last_match[:inner_type]
172
+ value.map { |v| _deserialize(inner_type, v) }
173
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
174
+ k_type = Regexp.last_match[:k_type]
175
+ v_type = Regexp.last_match[:v_type]
176
+ {}.tap do |hash|
177
+ value.each do |k, v|
178
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
179
+ end
180
+ end
181
+ else # model
182
+ # models (e.g. Pet) or oneOf
183
+ klass = FlatApi.const_get(type)
184
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
185
+ end
186
+ end
187
+
188
+ # Returns the string representation of the object
189
+ # @return [String] String presentation of the object
190
+ def to_s
191
+ to_hash.to_s
192
+ end
193
+
194
+ # to_body is an alias to to_hash (backward compatibility)
195
+ # @return [Hash] Returns the object in the form of hash
196
+ def to_body
197
+ to_hash
198
+ end
199
+
200
+ # Returns the object in the form of hash
201
+ # @return [Hash] Returns the object in the form of hash
202
+ def to_hash
203
+ hash = {}
204
+ self.class.attribute_map.each_pair do |attr, param|
205
+ value = self.send(attr)
206
+ if value.nil?
207
+ is_nullable = self.class.openapi_nullable.include?(attr)
208
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
209
+ end
210
+
211
+ hash[param] = _to_hash(value)
212
+ end
213
+ hash
214
+ end
215
+
216
+ # Outputs non-array value in the form of hash
217
+ # For object, use to_hash. Otherwise, just return the value
218
+ # @param [Object] value Any valid value
219
+ # @return [Hash] Returns the value in the form of hash
220
+ def _to_hash(value)
221
+ if value.is_a?(Array)
222
+ value.compact.map { |v| _to_hash(v) }
223
+ elsif value.is_a?(Hash)
224
+ {}.tap do |hash|
225
+ value.each { |k, v| hash[k] = _to_hash(v) }
226
+ end
227
+ elsif value.respond_to? :to_hash
228
+ value.to_hash
229
+ else
230
+ value
231
+ end
232
+ end
233
+
234
+ end
235
+
236
+ end