flat_api 0.2.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +60 -8
  3. data/LICENSE +201 -0
  4. data/README.md +62 -241
  5. data/lib/flat_api/api/account_api.rb +32 -22
  6. data/lib/flat_api/api/class_api.rb +1671 -453
  7. data/lib/flat_api/api/collection_api.rb +286 -185
  8. data/lib/flat_api/api/edu_resources_api.rb +863 -0
  9. data/lib/flat_api/api/group_api.rb +506 -57
  10. data/lib/flat_api/api/omr_api.rb +894 -0
  11. data/lib/flat_api/api/organization_api.rb +808 -192
  12. data/lib/flat_api/api/score_api.rb +1030 -589
  13. data/lib/flat_api/api/task_api.rb +85 -0
  14. data/lib/flat_api/api/user_api.rb +151 -82
  15. data/lib/flat_api/api_client.rb +223 -145
  16. data/lib/flat_api/api_error.rb +24 -4
  17. data/lib/flat_api/api_model_base.rb +88 -0
  18. data/lib/flat_api/client.rb +69 -0
  19. data/lib/flat_api/configuration.rb +224 -36
  20. data/lib/flat_api/errors.rb +86 -0
  21. data/lib/flat_api/models/add_group_user200_response.rb +148 -0
  22. data/lib/flat_api/models/add_group_user_request.rb +165 -0
  23. data/lib/flat_api/models/api_access_token.rb +201 -0
  24. data/lib/flat_api/models/app_scopes.rb +61 -0
  25. data/lib/flat_api/models/assignment.rb +362 -166
  26. data/lib/flat_api/models/assignment_capabilities.rb +256 -0
  27. data/lib/flat_api/models/assignment_capabilities_can_publish_in_class_error.rb +193 -0
  28. data/lib/flat_api/models/assignment_copy.rb +79 -169
  29. data/lib/flat_api/models/assignment_copy_response.rb +535 -0
  30. data/lib/flat_api/models/assignment_copy_to_class.rb +186 -0
  31. data/lib/flat_api/models/assignment_copy_to_resource_library.rb +176 -0
  32. data/lib/flat_api/models/assignment_group.rb +232 -0
  33. data/lib/flat_api/models/assignment_submission.rb +337 -131
  34. data/lib/flat_api/models/assignment_submission_comment.rb +209 -0
  35. data/lib/flat_api/models/assignment_submission_comment_creation.rb +166 -0
  36. data/lib/flat_api/models/assignment_submission_comments.rb +158 -0
  37. data/lib/flat_api/models/assignment_submission_history.rb +337 -0
  38. data/lib/flat_api/models/assignment_submission_history_attachment.rb +168 -0
  39. data/lib/flat_api/models/assignment_submission_history_state.rb +43 -0
  40. data/lib/flat_api/models/assignment_submission_lti.rb +200 -0
  41. data/lib/flat_api/models/assignment_submission_playback.rb +193 -0
  42. data/lib/flat_api/models/assignment_submission_state.rb +42 -0
  43. data/lib/flat_api/models/assignment_submission_students_mode.rb +40 -0
  44. data/lib/flat_api/models/assignment_submission_update.rb +157 -113
  45. data/lib/flat_api/models/assignment_type.rb +45 -0
  46. data/lib/flat_api/models/assignment_update.rb +538 -0
  47. data/lib/flat_api/models/class_assignment.rb +750 -0
  48. data/lib/flat_api/models/class_assignment_all_of_canvas.rb +159 -0
  49. data/lib/flat_api/models/class_assignment_all_of_lti.rb +149 -0
  50. data/lib/flat_api/models/class_assignment_all_of_mfc.rb +159 -0
  51. data/lib/flat_api/models/class_assignment_update.rb +652 -0
  52. data/lib/flat_api/models/class_assignment_update_all_of_google_classroom.rb +150 -0
  53. data/lib/flat_api/models/class_assignment_update_all_of_microsoft_graph.rb +152 -0
  54. data/lib/flat_api/models/class_attachment_creation.rb +140 -106
  55. data/lib/flat_api/models/class_creation.rb +142 -108
  56. data/lib/flat_api/models/class_details.rb +244 -125
  57. data/lib/flat_api/models/class_details_canvas.rb +59 -99
  58. data/lib/flat_api/models/class_details_clever.rb +74 -113
  59. data/lib/flat_api/models/class_details_google_classroom.rb +64 -124
  60. data/lib/flat_api/models/class_details_google_drive.rb +61 -101
  61. data/lib/flat_api/models/class_details_issues.rb +151 -0
  62. data/lib/flat_api/models/class_details_issues_sync_inner.rb +203 -0
  63. data/lib/flat_api/models/class_details_lti.rb +76 -106
  64. data/lib/flat_api/models/class_details_mfc.rb +159 -0
  65. data/lib/flat_api/models/class_details_microsoft_graph.rb +148 -0
  66. data/lib/flat_api/models/class_grade_level.rb +43 -0
  67. data/lib/flat_api/models/class_roles.rb +18 -9
  68. data/lib/flat_api/models/class_state.rb +19 -9
  69. data/lib/flat_api/models/class_update.rb +142 -107
  70. data/lib/flat_api/models/collection.rb +304 -115
  71. data/lib/flat_api/models/collection_app.rb +169 -0
  72. data/lib/flat_api/models/collection_capabilities.rb +157 -112
  73. data/lib/flat_api/models/collection_contents.rb +166 -0
  74. data/lib/flat_api/models/collection_creation.rb +120 -104
  75. data/lib/flat_api/models/collection_modification.rb +122 -100
  76. data/lib/flat_api/models/collection_privacy.rb +18 -9
  77. data/lib/flat_api/models/collection_type.rb +22 -11
  78. data/lib/flat_api/models/credit_transaction.rb +388 -0
  79. data/lib/flat_api/models/edu_library.rb +273 -0
  80. data/lib/flat_api/models/edu_resource.rb +383 -0
  81. data/lib/flat_api/models/edu_resource_assignment_creation.rb +170 -0
  82. data/lib/flat_api/models/edu_resource_capabilities.rb +179 -0
  83. data/lib/flat_api/models/edu_resource_copy.rb +166 -0
  84. data/lib/flat_api/models/edu_resource_creation.rb +311 -0
  85. data/lib/flat_api/models/edu_resource_folder.rb +171 -0
  86. data/lib/flat_api/models/edu_resource_lti_link.rb +166 -0
  87. data/lib/flat_api/models/edu_resource_move.rb +166 -0
  88. data/lib/flat_api/models/edu_resource_privacy.rb +41 -0
  89. data/lib/flat_api/models/edu_resource_resource.rb +104 -0
  90. data/lib/flat_api/models/edu_resource_type.rb +40 -0
  91. data/lib/flat_api/models/edu_resource_update.rb +292 -0
  92. data/lib/flat_api/models/edu_resource_use_in_class.rb +176 -0
  93. data/lib/flat_api/models/flat_error_response.rb +109 -105
  94. data/lib/flat_api/models/google_classroom_coursework.rb +74 -103
  95. data/lib/flat_api/models/google_classroom_submission.rb +112 -101
  96. data/lib/flat_api/models/grade.rb +51 -0
  97. data/lib/flat_api/models/group.rb +70 -122
  98. data/lib/flat_api/models/group_creation.rb +238 -0
  99. data/lib/flat_api/models/group_details.rb +253 -110
  100. data/lib/flat_api/models/group_type.rb +20 -9
  101. data/lib/flat_api/models/license_mode.rb +18 -9
  102. data/lib/flat_api/models/license_sources.rb +21 -9
  103. data/lib/flat_api/models/lms_name.rb +19 -9
  104. data/lib/flat_api/models/lti_configuration.rb +56 -0
  105. data/lib/flat_api/models/lti_configuration1p1.rb +361 -0
  106. data/lib/flat_api/models/lti_configuration1p1_all_of_tool.rb +199 -0
  107. data/lib/flat_api/models/lti_configuration1p3.rb +106 -0
  108. data/lib/flat_api/models/lti_configuration1p3_base.rb +336 -0
  109. data/lib/flat_api/models/lti_configuration1p3_base_supported_services.rb +166 -0
  110. data/lib/flat_api/models/lti_configuration1p3_base_supported_services_ags.rb +179 -0
  111. data/lib/flat_api/models/lti_configuration1p3_base_supported_services_deep_linking.rb +159 -0
  112. data/lib/flat_api/models/lti_configuration1p3_base_supported_services_nrps.rb +169 -0
  113. data/lib/flat_api/models/lti_configuration1p3_base_tool.rb +199 -0
  114. data/lib/flat_api/models/lti_configuration1p3_deployment.rb +529 -0
  115. data/lib/flat_api/models/lti_configuration1p3_dynamic.rb +530 -0
  116. data/lib/flat_api/models/lti_configuration1p3_manual.rb +489 -0
  117. data/lib/flat_api/models/lti_configuration_base.rb +306 -0
  118. data/lib/flat_api/models/lti_configuration_create.rb +60 -0
  119. data/lib/flat_api/models/lti_configuration_create1p1.rb +210 -0
  120. data/lib/flat_api/models/lti_configuration_create1p3_deployment.rb +264 -0
  121. data/lib/flat_api/models/lti_configuration_create1p3_dynamic.rb +209 -0
  122. data/lib/flat_api/models/lti_configuration_create1p3_dynamic_platform_info.rb +159 -0
  123. data/lib/flat_api/models/lti_configuration_create1p3_manual.rb +270 -0
  124. data/lib/flat_api/models/lti_configuration_update.rb +104 -0
  125. data/lib/flat_api/models/lti_configuration_update_deployment.rb +169 -0
  126. data/lib/flat_api/models/lti_configuration_update_standalone.rb +219 -0
  127. data/lib/flat_api/models/lti_credentials.rb +108 -114
  128. data/lib/flat_api/models/lti_credentials_creation.rb +99 -103
  129. data/lib/flat_api/models/media_attachment.rb +189 -137
  130. data/lib/flat_api/models/media_score_sharing_mode.rb +19 -9
  131. data/lib/flat_api/models/microsoft_graph_assignment.rb +259 -0
  132. data/lib/flat_api/models/microsoft_graph_submission.rb +193 -0
  133. data/lib/flat_api/models/omr_capabilities.rb +480 -0
  134. data/lib/flat_api/models/omr_details_step_data.rb +228 -0
  135. data/lib/flat_api/models/omr_details_submission.rb +288 -0
  136. data/lib/flat_api/models/omr_detected_instrument.rb +260 -0
  137. data/lib/flat_api/models/omr_imported_metadata.rb +181 -0
  138. data/lib/flat_api/models/omr_instrument_override.rb +311 -0
  139. data/lib/flat_api/models/omr_job.rb +394 -0
  140. data/lib/flat_api/models/omr_job_creation.rb +238 -0
  141. data/lib/flat_api/models/omr_job_file_metadata.rb +199 -0
  142. data/lib/flat_api/models/omr_job_file_upload.rb +176 -0
  143. data/lib/flat_api/models/omr_job_file_upload_result.rb +159 -0
  144. data/lib/flat_api/models/omr_job_input_file.rb +176 -0
  145. data/lib/flat_api/models/omr_job_output.rb +40 -0
  146. data/lib/flat_api/models/omr_job_progress.rb +169 -0
  147. data/lib/flat_api/models/omr_job_result.rb +161 -0
  148. data/lib/flat_api/models/omr_job_retention.rb +176 -0
  149. data/lib/flat_api/models/omr_job_status.rb +44 -0
  150. data/lib/flat_api/models/omr_locale_details.rb +193 -0
  151. data/lib/flat_api/models/omr_pending_step.rb +213 -0
  152. data/lib/flat_api/models/omr_step_name.rb +39 -0
  153. data/lib/flat_api/models/organization_invitation.rb +177 -109
  154. data/lib/flat_api/models/organization_invitation_creation.rb +97 -100
  155. data/lib/flat_api/models/organization_roles.rb +19 -10
  156. data/lib/flat_api/models/organization_user_access_token_creation.rb +168 -0
  157. data/lib/flat_api/models/rename_group_request.rb +165 -0
  158. data/lib/flat_api/models/resource_collaborator.rb +204 -116
  159. data/lib/flat_api/models/resource_collaborator_creation.rb +72 -112
  160. data/lib/flat_api/models/resource_rights.rb +168 -107
  161. data/lib/flat_api/models/score_comment.rb +200 -121
  162. data/lib/flat_api/models/score_comment_context.rb +161 -124
  163. data/lib/flat_api/models/score_comment_creation.rb +79 -107
  164. data/lib/flat_api/models/score_comment_moderation.rb +193 -0
  165. data/lib/flat_api/models/score_comment_update.rb +81 -115
  166. data/lib/flat_api/models/score_comments_counts.rb +78 -108
  167. data/lib/flat_api/models/score_creation.rb +80 -225
  168. data/lib/flat_api/models/score_creation_builder_data.rb +234 -0
  169. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data.rb +173 -0
  170. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_layout_data.rb +255 -0
  171. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data.rb +217 -0
  172. data/lib/flat_api/models/score_creation_builder_data_all_of_builder_data_score_data_instruments.rb +222 -0
  173. data/lib/flat_api/models/score_creation_common.rb +201 -0
  174. data/lib/flat_api/models/score_creation_file_import.rb +277 -0
  175. data/lib/flat_api/models/score_creation_google_drive_import.rb +234 -0
  176. data/lib/flat_api/models/score_creation_type.rb +18 -9
  177. data/lib/flat_api/models/score_details.rb +428 -146
  178. data/lib/flat_api/models/score_details_all_of_me.rb +193 -0
  179. data/lib/flat_api/models/score_fork.rb +84 -101
  180. data/lib/flat_api/models/score_license.rb +18 -9
  181. data/lib/flat_api/models/score_likes_counts.rb +73 -103
  182. data/lib/flat_api/models/score_modification.rb +178 -115
  183. data/lib/flat_api/models/score_plays_counts.rb +179 -0
  184. data/lib/flat_api/models/score_privacy.rb +18 -9
  185. data/lib/flat_api/models/score_revision.rb +142 -111
  186. data/lib/flat_api/models/score_revision_creation.rb +113 -105
  187. data/lib/flat_api/models/score_revision_statistics.rb +81 -101
  188. data/lib/flat_api/models/score_source.rb +59 -100
  189. data/lib/flat_api/models/score_summary.rb +172 -105
  190. data/lib/flat_api/models/score_track.rb +244 -117
  191. data/lib/flat_api/models/score_track_creation.rb +99 -104
  192. data/lib/flat_api/models/score_track_creation_response.rb +165 -0
  193. data/lib/flat_api/models/score_track_point.rb +78 -103
  194. data/lib/flat_api/models/score_track_purpose.rb +40 -0
  195. data/lib/flat_api/models/score_track_state.rb +18 -9
  196. data/lib/flat_api/models/score_track_type.rb +18 -9
  197. data/lib/flat_api/models/score_track_update.rb +98 -103
  198. data/lib/flat_api/models/score_views_counts.rb +73 -103
  199. data/lib/flat_api/models/task.rb +339 -0
  200. data/lib/flat_api/models/task_export_options.rb +151 -0
  201. data/lib/flat_api/models/task_progress.rb +159 -0
  202. data/lib/flat_api/models/task_result.rb +159 -0
  203. data/lib/flat_api/models/teaching_theme.rb +47 -0
  204. data/lib/flat_api/models/tutteo_product.rb +42 -0
  205. data/lib/flat_api/models/user_admin_update.rb +206 -106
  206. data/lib/flat_api/models/user_azure_details.rb +168 -0
  207. data/lib/flat_api/models/user_basics.rb +215 -120
  208. data/lib/flat_api/models/user_community_profile_links.rb +205 -0
  209. data/lib/flat_api/models/user_creation.rb +203 -114
  210. data/lib/flat_api/models/user_details.rb +331 -161
  211. data/lib/flat_api/models/user_details_admin.rb +272 -133
  212. data/lib/flat_api/models/user_details_admin_all_of_license.rb +211 -0
  213. data/lib/flat_api/models/user_public.rb +303 -145
  214. data/lib/flat_api/models/user_public_summary.rb +243 -126
  215. data/lib/flat_api/models/user_signin_link.rb +168 -0
  216. data/lib/flat_api/models/user_signin_link_creation.rb +150 -0
  217. data/lib/flat_api/oauth.rb +128 -0
  218. data/lib/flat_api/pagination.rb +88 -0
  219. data/lib/flat_api/retry.rb +56 -0
  220. data/lib/flat_api/version.rb +5 -5
  221. data/lib/flat_api.rb +144 -16
  222. metadata +154 -434
  223. data/Gemfile +0 -7
  224. data/Rakefile +0 -8
  225. data/docs/AccountApi.md +0 -55
  226. data/docs/Assignment.md +0 -18
  227. data/docs/AssignmentCopy.md +0 -8
  228. data/docs/AssignmentCreation.md +0 -12
  229. data/docs/AssignmentSubmission.md +0 -19
  230. data/docs/AssignmentSubmissionUpdate.md +0 -11
  231. data/docs/ClassApi.md +0 -1051
  232. data/docs/ClassAttachmentCreation.md +0 -10
  233. data/docs/ClassCreation.md +0 -9
  234. data/docs/ClassDetails.md +0 -25
  235. data/docs/ClassDetailsCanvas.md +0 -9
  236. data/docs/ClassDetailsClever.md +0 -14
  237. data/docs/ClassDetailsGoogleClassroom.md +0 -11
  238. data/docs/ClassDetailsGoogleDrive.md +0 -9
  239. data/docs/ClassDetailsLti.md +0 -10
  240. data/docs/ClassRoles.md +0 -7
  241. data/docs/ClassState.md +0 -7
  242. data/docs/ClassUpdate.md +0 -9
  243. data/docs/Collection.md +0 -18
  244. data/docs/CollectionApi.md +0 -521
  245. data/docs/CollectionCapabilities.md +0 -12
  246. data/docs/CollectionCreation.md +0 -8
  247. data/docs/CollectionModification.md +0 -8
  248. data/docs/CollectionPrivacy.md +0 -7
  249. data/docs/CollectionTitle.md +0 -7
  250. data/docs/CollectionType.md +0 -7
  251. data/docs/FlatErrorResponse.md +0 -11
  252. data/docs/FlatLocales.md +0 -7
  253. data/docs/GoogleClassroomCoursework.md +0 -10
  254. data/docs/GoogleClassroomSubmission.md +0 -10
  255. data/docs/Group.md +0 -14
  256. data/docs/GroupApi.md +0 -167
  257. data/docs/GroupDetails.md +0 -14
  258. data/docs/GroupType.md +0 -7
  259. data/docs/LicenseMode.md +0 -7
  260. data/docs/LicenseSources.md +0 -7
  261. data/docs/LmsName.md +0 -7
  262. data/docs/LtiCredentials.md +0 -16
  263. data/docs/LtiCredentialsCreation.md +0 -9
  264. data/docs/MediaAttachment.md +0 -23
  265. data/docs/MediaScoreSharingMode.md +0 -7
  266. data/docs/OrganizationApi.md +0 -538
  267. data/docs/OrganizationInvitation.md +0 -14
  268. data/docs/OrganizationInvitationCreation.md +0 -9
  269. data/docs/OrganizationRoles.md +0 -7
  270. data/docs/ResourceCollaborator.md +0 -16
  271. data/docs/ResourceCollaboratorCreation.md +0 -14
  272. data/docs/ResourceRights.md +0 -10
  273. data/docs/ResourceSharingKey.md +0 -7
  274. data/docs/ScoreApi.md +0 -1658
  275. data/docs/ScoreComment.md +0 -22
  276. data/docs/ScoreCommentContext.md +0 -14
  277. data/docs/ScoreCommentCreation.md +0 -13
  278. data/docs/ScoreCommentUpdate.md +0 -11
  279. data/docs/ScoreCommentsCounts.md +0 -11
  280. data/docs/ScoreCreation.md +0 -14
  281. data/docs/ScoreCreationType.md +0 -7
  282. data/docs/ScoreData.md +0 -7
  283. data/docs/ScoreDataEncoding.md +0 -7
  284. data/docs/ScoreDetails.md +0 -36
  285. data/docs/ScoreFork.md +0 -8
  286. data/docs/ScoreLicense.md +0 -7
  287. data/docs/ScoreLikesCounts.md +0 -10
  288. data/docs/ScoreModification.md +0 -14
  289. data/docs/ScorePrivacy.md +0 -7
  290. data/docs/ScoreRevision.md +0 -14
  291. data/docs/ScoreRevisionCreation.md +0 -11
  292. data/docs/ScoreRevisionStatistics.md +0 -9
  293. data/docs/ScoreSource.md +0 -8
  294. data/docs/ScoreSummary.md +0 -13
  295. data/docs/ScoreTrack.md +0 -19
  296. data/docs/ScoreTrackCreation.md +0 -12
  297. data/docs/ScoreTrackPoint.md +0 -10
  298. data/docs/ScoreTrackState.md +0 -7
  299. data/docs/ScoreTrackType.md +0 -7
  300. data/docs/ScoreTrackUpdate.md +0 -11
  301. data/docs/ScoreViewsCounts.md +0 -10
  302. data/docs/UserAdminUpdate.md +0 -9
  303. data/docs/UserApi.md +0 -173
  304. data/docs/UserBasics.md +0 -13
  305. data/docs/UserCreation.md +0 -11
  306. data/docs/UserDetails.md +0 -28
  307. data/docs/UserDetailsAdmin.md +0 -20
  308. data/docs/UserDetailsAdminLicense.md +0 -12
  309. data/docs/UserInstruments.md +0 -7
  310. data/docs/UserPublic.md +0 -25
  311. data/docs/UserPublicSummary.md +0 -17
  312. data/flat_api.gemspec +0 -48
  313. data/lib/flat_api/models/assignment_creation.rb +0 -230
  314. data/lib/flat_api/models/collection_title.rb +0 -179
  315. data/lib/flat_api/models/flat_locales.rb +0 -36
  316. data/lib/flat_api/models/resource_sharing_key.rb +0 -179
  317. data/lib/flat_api/models/score_data.rb +0 -179
  318. data/lib/flat_api/models/score_data_encoding.rb +0 -30
  319. data/lib/flat_api/models/user_details_admin_license.rb +0 -227
  320. data/lib/flat_api/models/user_instruments.rb +0 -179
  321. data/spec/api/account_api_spec.rb +0 -46
  322. data/spec/api/class_api_spec.rb +0 -278
  323. data/spec/api/collection_api_spec.rb +0 -159
  324. data/spec/api/group_api_spec.rb +0 -72
  325. data/spec/api/organization_api_spec.rb +0 -162
  326. data/spec/api/score_api_spec.rb +0 -426
  327. data/spec/api/user_api_spec.rb +0 -73
  328. data/spec/api_client_spec.rb +0 -226
  329. data/spec/configuration_spec.rb +0 -42
  330. data/spec/models/assignment_copy_spec.rb +0 -42
  331. data/spec/models/assignment_creation_spec.rb +0 -66
  332. data/spec/models/assignment_spec.rb +0 -106
  333. data/spec/models/assignment_submission_spec.rb +0 -108
  334. data/spec/models/assignment_submission_update_spec.rb +0 -60
  335. data/spec/models/class_attachment_creation_spec.rb +0 -58
  336. data/spec/models/class_creation_spec.rb +0 -48
  337. data/spec/models/class_details_canvas_spec.rb +0 -48
  338. data/spec/models/class_details_clever_spec.rb +0 -82
  339. data/spec/models/class_details_google_classroom_spec.rb +0 -60
  340. data/spec/models/class_details_google_drive_spec.rb +0 -48
  341. data/spec/models/class_details_lti_spec.rb +0 -54
  342. data/spec/models/class_details_spec.rb +0 -144
  343. data/spec/models/class_roles_spec.rb +0 -36
  344. data/spec/models/class_state_spec.rb +0 -36
  345. data/spec/models/class_update_spec.rb +0 -48
  346. data/spec/models/collection_capabilities_spec.rb +0 -66
  347. data/spec/models/collection_creation_spec.rb +0 -42
  348. data/spec/models/collection_modification_spec.rb +0 -42
  349. data/spec/models/collection_privacy_spec.rb +0 -36
  350. data/spec/models/collection_spec.rb +0 -102
  351. data/spec/models/collection_title_spec.rb +0 -36
  352. data/spec/models/collection_type_spec.rb +0 -36
  353. data/spec/models/flat_error_response_spec.rb +0 -60
  354. data/spec/models/flat_locales_spec.rb +0 -36
  355. data/spec/models/google_classroom_coursework_spec.rb +0 -54
  356. data/spec/models/google_classroom_submission_spec.rb +0 -54
  357. data/spec/models/group_details_spec.rb +0 -78
  358. data/spec/models/group_spec.rb +0 -82
  359. data/spec/models/group_type_spec.rb +0 -36
  360. data/spec/models/license_mode_spec.rb +0 -36
  361. data/spec/models/license_sources_spec.rb +0 -36
  362. data/spec/models/lms_name_spec.rb +0 -36
  363. data/spec/models/lti_credentials_creation_spec.rb +0 -48
  364. data/spec/models/lti_credentials_spec.rb +0 -90
  365. data/spec/models/media_attachment_spec.rb +0 -136
  366. data/spec/models/media_score_sharing_mode_spec.rb +0 -36
  367. data/spec/models/organization_invitation_creation_spec.rb +0 -48
  368. data/spec/models/organization_invitation_spec.rb +0 -78
  369. data/spec/models/organization_roles_spec.rb +0 -36
  370. data/spec/models/resource_collaborator_creation_spec.rb +0 -78
  371. data/spec/models/resource_collaborator_spec.rb +0 -90
  372. data/spec/models/resource_rights_spec.rb +0 -54
  373. data/spec/models/resource_sharing_key_spec.rb +0 -36
  374. data/spec/models/score_comment_context_spec.rb +0 -78
  375. data/spec/models/score_comment_creation_spec.rb +0 -72
  376. data/spec/models/score_comment_spec.rb +0 -130
  377. data/spec/models/score_comment_update_spec.rb +0 -60
  378. data/spec/models/score_comments_counts_spec.rb +0 -60
  379. data/spec/models/score_creation_spec.rb +0 -78
  380. data/spec/models/score_creation_type_spec.rb +0 -36
  381. data/spec/models/score_data_encoding_spec.rb +0 -36
  382. data/spec/models/score_data_spec.rb +0 -36
  383. data/spec/models/score_details_spec.rb +0 -210
  384. data/spec/models/score_fork_spec.rb +0 -42
  385. data/spec/models/score_license_spec.rb +0 -36
  386. data/spec/models/score_likes_counts_spec.rb +0 -54
  387. data/spec/models/score_modification_spec.rb +0 -78
  388. data/spec/models/score_privacy_spec.rb +0 -36
  389. data/spec/models/score_revision_creation_spec.rb +0 -60
  390. data/spec/models/score_revision_spec.rb +0 -78
  391. data/spec/models/score_revision_statistics_spec.rb +0 -48
  392. data/spec/models/score_source_spec.rb +0 -42
  393. data/spec/models/score_summary_spec.rb +0 -72
  394. data/spec/models/score_track_creation_spec.rb +0 -66
  395. data/spec/models/score_track_point_spec.rb +0 -58
  396. data/spec/models/score_track_spec.rb +0 -108
  397. data/spec/models/score_track_state_spec.rb +0 -36
  398. data/spec/models/score_track_type_spec.rb +0 -36
  399. data/spec/models/score_track_update_spec.rb +0 -60
  400. data/spec/models/score_views_counts_spec.rb +0 -54
  401. data/spec/models/user_admin_update_spec.rb +0 -48
  402. data/spec/models/user_basics_spec.rb +0 -72
  403. data/spec/models/user_creation_spec.rb +0 -60
  404. data/spec/models/user_details_admin_license_spec.rb +0 -66
  405. data/spec/models/user_details_admin_spec.rb +0 -114
  406. data/spec/models/user_details_spec.rb +0 -166
  407. data/spec/models/user_instruments_spec.rb +0 -36
  408. data/spec/models/user_public_spec.rb +0 -144
  409. data/spec/models/user_public_summary_spec.rb +0 -96
  410. data/spec/spec_helper.rb +0 -111
@@ -1,20 +1,21 @@
1
1
  =begin
2
2
  #Flat API
3
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 or MIDI 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 interoduction](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)
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, MuseScore, ABC notation, and many other formats * 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
5
 
6
- OpenAPI spec version: 2.6.0
6
+ The version of the OpenAPI document: 2.26.1
7
7
  Contact: developers@flat.io
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.0-SNAPSHOT
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.24.0
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
+ require 'time'
14
15
 
15
16
  module FlatApi
16
17
  # A classroom
17
- class ClassDetails
18
+ class ClassDetails < ApiModelBase
18
19
  # The unique identifier of the class
19
20
  attr_accessor :id
20
21
 
@@ -38,6 +39,9 @@ module FlatApi
38
39
  # The date when the class was create
39
40
  attr_accessor :creation_date
40
41
 
42
+ # The date when the class was last modified
43
+ attr_accessor :modification_date
44
+
41
45
  # [Teachers only] The enrollment code that can be used by the students to join the class
42
46
  attr_accessor :enrollment_code
43
47
 
@@ -51,16 +55,51 @@ module FlatApi
51
55
 
52
56
  attr_accessor :teachers_group
53
57
 
58
+ attr_accessor :issues
59
+
54
60
  attr_accessor :google_classroom
55
61
 
56
62
  attr_accessor :google_drive
57
63
 
64
+ attr_accessor :microsoft_graph
65
+
58
66
  attr_accessor :lti
59
67
 
60
68
  attr_accessor :canvas
61
69
 
70
+ attr_accessor :mfc
71
+
62
72
  attr_accessor :clever
63
73
 
74
+ attr_accessor :level
75
+
76
+ # Specific skills that will be focused in classroom
77
+ attr_accessor :skills_focused
78
+
79
+ # Number of students in the classroom
80
+ attr_accessor :size
81
+
82
+ class EnumAttributeValidator
83
+ attr_reader :datatype
84
+ attr_reader :allowable_values
85
+
86
+ def initialize(datatype, allowable_values)
87
+ @allowable_values = allowable_values.map do |value|
88
+ case datatype.to_s
89
+ when /Integer/i
90
+ value.to_i
91
+ when /Float/i
92
+ value.to_f
93
+ else
94
+ value
95
+ end
96
+ end
97
+ end
98
+
99
+ def valid?(value)
100
+ !value || allowable_values.include?(value)
101
+ end
102
+ end
64
103
 
65
104
  # Attribute mapping from ruby-style variable name to JSON key.
66
105
  def self.attribute_map
@@ -73,21 +112,38 @@ module FlatApi
73
112
  :'organization' => :'organization',
74
113
  :'owner' => :'owner',
75
114
  :'creation_date' => :'creationDate',
115
+ :'modification_date' => :'modificationDate',
76
116
  :'enrollment_code' => :'enrollmentCode',
77
117
  :'theme' => :'theme',
78
118
  :'assignments_count' => :'assignmentsCount',
79
119
  :'students_group' => :'studentsGroup',
80
120
  :'teachers_group' => :'teachersGroup',
121
+ :'issues' => :'issues',
81
122
  :'google_classroom' => :'googleClassroom',
82
123
  :'google_drive' => :'googleDrive',
124
+ :'microsoft_graph' => :'microsoftGraph',
83
125
  :'lti' => :'lti',
84
126
  :'canvas' => :'canvas',
85
- :'clever' => :'clever'
127
+ :'mfc' => :'mfc',
128
+ :'clever' => :'clever',
129
+ :'level' => :'level',
130
+ :'skills_focused' => :'skillsFocused',
131
+ :'size' => :'size'
86
132
  }
87
133
  end
88
134
 
135
+ # Returns attribute mapping this model knows about
136
+ def self.acceptable_attribute_map
137
+ attribute_map
138
+ end
139
+
140
+ # Returns all the JSON keys this model knows about
141
+ def self.acceptable_attributes
142
+ acceptable_attribute_map.values
143
+ end
144
+
89
145
  # Attribute type mapping.
90
- def self.swagger_types
146
+ def self.openapi_types
91
147
  {
92
148
  :'id' => :'String',
93
149
  :'state' => :'ClassState',
@@ -96,113 +152,234 @@ module FlatApi
96
152
  :'description' => :'String',
97
153
  :'organization' => :'String',
98
154
  :'owner' => :'String',
99
- :'creation_date' => :'DateTime',
155
+ :'creation_date' => :'Time',
156
+ :'modification_date' => :'Time',
100
157
  :'enrollment_code' => :'String',
101
158
  :'theme' => :'String',
102
159
  :'assignments_count' => :'Float',
103
160
  :'students_group' => :'GroupDetails',
104
161
  :'teachers_group' => :'GroupDetails',
162
+ :'issues' => :'ClassDetailsIssues',
105
163
  :'google_classroom' => :'ClassDetailsGoogleClassroom',
106
164
  :'google_drive' => :'ClassDetailsGoogleDrive',
165
+ :'microsoft_graph' => :'ClassDetailsMicrosoftGraph',
107
166
  :'lti' => :'ClassDetailsLti',
108
167
  :'canvas' => :'ClassDetailsCanvas',
109
- :'clever' => :'ClassDetailsClever'
168
+ :'mfc' => :'ClassDetailsMfc',
169
+ :'clever' => :'ClassDetailsClever',
170
+ :'level' => :'ClassGradeLevel',
171
+ :'skills_focused' => :'Array<String>',
172
+ :'size' => :'Float'
110
173
  }
111
174
  end
112
175
 
176
+ # List of attributes with nullable: true
177
+ def self.openapi_nullable
178
+ Set.new([
179
+ :'size'
180
+ ])
181
+ end
182
+
113
183
  # Initializes the object
114
184
  # @param [Hash] attributes Model attributes in the form of hash
115
185
  def initialize(attributes = {})
116
- return unless attributes.is_a?(Hash)
186
+ if (!attributes.is_a?(Hash))
187
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FlatApi::ClassDetails` initialize method"
188
+ end
117
189
 
118
- # convert string to symbol for hash key
119
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
190
+ # check to see if the attribute exists and convert string to symbol for hash key
191
+ acceptable_attribute_map = self.class.acceptable_attribute_map
192
+ attributes = attributes.each_with_object({}) { |(k, v), h|
193
+ if (!acceptable_attribute_map.key?(k.to_sym))
194
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FlatApi::ClassDetails`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
195
+ end
196
+ h[k.to_sym] = v
197
+ }
120
198
 
121
- if attributes.has_key?(:'id')
199
+ if attributes.key?(:'id')
122
200
  self.id = attributes[:'id']
201
+ else
202
+ self.id = nil
123
203
  end
124
204
 
125
- if attributes.has_key?(:'state')
205
+ if attributes.key?(:'state')
126
206
  self.state = attributes[:'state']
207
+ else
208
+ self.state = nil
127
209
  end
128
210
 
129
- if attributes.has_key?(:'name')
211
+ if attributes.key?(:'name')
130
212
  self.name = attributes[:'name']
213
+ else
214
+ self.name = nil
131
215
  end
132
216
 
133
- if attributes.has_key?(:'section')
217
+ if attributes.key?(:'section')
134
218
  self.section = attributes[:'section']
135
219
  end
136
220
 
137
- if attributes.has_key?(:'description')
221
+ if attributes.key?(:'description')
138
222
  self.description = attributes[:'description']
139
223
  end
140
224
 
141
- if attributes.has_key?(:'organization')
225
+ if attributes.key?(:'organization')
142
226
  self.organization = attributes[:'organization']
143
227
  end
144
228
 
145
- if attributes.has_key?(:'owner')
229
+ if attributes.key?(:'owner')
146
230
  self.owner = attributes[:'owner']
147
231
  end
148
232
 
149
- if attributes.has_key?(:'creationDate')
150
- self.creation_date = attributes[:'creationDate']
233
+ if attributes.key?(:'creation_date')
234
+ self.creation_date = attributes[:'creation_date']
235
+ else
236
+ self.creation_date = nil
151
237
  end
152
238
 
153
- if attributes.has_key?(:'enrollmentCode')
154
- self.enrollment_code = attributes[:'enrollmentCode']
239
+ if attributes.key?(:'modification_date')
240
+ self.modification_date = attributes[:'modification_date']
155
241
  end
156
242
 
157
- if attributes.has_key?(:'theme')
243
+ if attributes.key?(:'enrollment_code')
244
+ self.enrollment_code = attributes[:'enrollment_code']
245
+ end
246
+
247
+ if attributes.key?(:'theme')
158
248
  self.theme = attributes[:'theme']
159
249
  end
160
250
 
161
- if attributes.has_key?(:'assignmentsCount')
162
- self.assignments_count = attributes[:'assignmentsCount']
251
+ if attributes.key?(:'assignments_count')
252
+ self.assignments_count = attributes[:'assignments_count']
163
253
  end
164
254
 
165
- if attributes.has_key?(:'studentsGroup')
166
- self.students_group = attributes[:'studentsGroup']
255
+ if attributes.key?(:'students_group')
256
+ self.students_group = attributes[:'students_group']
167
257
  end
168
258
 
169
- if attributes.has_key?(:'teachersGroup')
170
- self.teachers_group = attributes[:'teachersGroup']
259
+ if attributes.key?(:'teachers_group')
260
+ self.teachers_group = attributes[:'teachers_group']
171
261
  end
172
262
 
173
- if attributes.has_key?(:'googleClassroom')
174
- self.google_classroom = attributes[:'googleClassroom']
263
+ if attributes.key?(:'issues')
264
+ self.issues = attributes[:'issues']
175
265
  end
176
266
 
177
- if attributes.has_key?(:'googleDrive')
178
- self.google_drive = attributes[:'googleDrive']
267
+ if attributes.key?(:'google_classroom')
268
+ self.google_classroom = attributes[:'google_classroom']
179
269
  end
180
270
 
181
- if attributes.has_key?(:'lti')
271
+ if attributes.key?(:'google_drive')
272
+ self.google_drive = attributes[:'google_drive']
273
+ end
274
+
275
+ if attributes.key?(:'microsoft_graph')
276
+ self.microsoft_graph = attributes[:'microsoft_graph']
277
+ end
278
+
279
+ if attributes.key?(:'lti')
182
280
  self.lti = attributes[:'lti']
183
281
  end
184
282
 
185
- if attributes.has_key?(:'canvas')
283
+ if attributes.key?(:'canvas')
186
284
  self.canvas = attributes[:'canvas']
187
285
  end
188
286
 
189
- if attributes.has_key?(:'clever')
287
+ if attributes.key?(:'mfc')
288
+ self.mfc = attributes[:'mfc']
289
+ end
290
+
291
+ if attributes.key?(:'clever')
190
292
  self.clever = attributes[:'clever']
191
293
  end
192
294
 
295
+ if attributes.key?(:'level')
296
+ self.level = attributes[:'level']
297
+ end
298
+
299
+ if attributes.key?(:'skills_focused')
300
+ if (value = attributes[:'skills_focused']).is_a?(Array)
301
+ self.skills_focused = value
302
+ end
303
+ end
304
+
305
+ if attributes.key?(:'size')
306
+ self.size = attributes[:'size']
307
+ end
193
308
  end
194
309
 
195
310
  # Show invalid properties with the reasons. Usually used together with valid?
196
311
  # @return Array for valid properties with the reasons
197
312
  def list_invalid_properties
313
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
198
314
  invalid_properties = Array.new
199
- return invalid_properties
315
+ if @id.nil?
316
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
317
+ end
318
+
319
+ if @state.nil?
320
+ invalid_properties.push('invalid value for "state", state cannot be nil.')
321
+ end
322
+
323
+ if @name.nil?
324
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
325
+ end
326
+
327
+ if @creation_date.nil?
328
+ invalid_properties.push('invalid value for "creation_date", creation_date cannot be nil.')
329
+ end
330
+
331
+ invalid_properties
200
332
  end
201
333
 
202
334
  # Check to see if the all the properties in the model are valid
203
335
  # @return true if the model is valid
204
336
  def valid?
205
- return true
337
+ warn '[DEPRECATED] the `valid?` method is obsolete'
338
+ return false if @id.nil?
339
+ return false if @state.nil?
340
+ return false if @name.nil?
341
+ return false if @creation_date.nil?
342
+ true
343
+ end
344
+
345
+ # Custom attribute writer method with validation
346
+ # @param [Object] id Value to be assigned
347
+ def id=(id)
348
+ if id.nil?
349
+ fail ArgumentError, 'id cannot be nil'
350
+ end
351
+
352
+ @id = id
353
+ end
354
+
355
+ # Custom attribute writer method with validation
356
+ # @param [Object] state Value to be assigned
357
+ def state=(state)
358
+ if state.nil?
359
+ fail ArgumentError, 'state cannot be nil'
360
+ end
361
+
362
+ @state = state
363
+ end
364
+
365
+ # Custom attribute writer method with validation
366
+ # @param [Object] name Value to be assigned
367
+ def name=(name)
368
+ if name.nil?
369
+ fail ArgumentError, 'name cannot be nil'
370
+ end
371
+
372
+ @name = name
373
+ end
374
+
375
+ # Custom attribute writer method with validation
376
+ # @param [Object] creation_date Value to be assigned
377
+ def creation_date=(creation_date)
378
+ if creation_date.nil?
379
+ fail ArgumentError, 'creation_date cannot be nil'
380
+ end
381
+
382
+ @creation_date = creation_date
206
383
  end
207
384
 
208
385
  # Checks equality by comparing each attribute.
@@ -218,16 +395,23 @@ module FlatApi
218
395
  organization == o.organization &&
219
396
  owner == o.owner &&
220
397
  creation_date == o.creation_date &&
398
+ modification_date == o.modification_date &&
221
399
  enrollment_code == o.enrollment_code &&
222
400
  theme == o.theme &&
223
401
  assignments_count == o.assignments_count &&
224
402
  students_group == o.students_group &&
225
403
  teachers_group == o.teachers_group &&
404
+ issues == o.issues &&
226
405
  google_classroom == o.google_classroom &&
227
406
  google_drive == o.google_drive &&
407
+ microsoft_graph == o.microsoft_graph &&
228
408
  lti == o.lti &&
229
409
  canvas == o.canvas &&
230
- clever == o.clever
410
+ mfc == o.mfc &&
411
+ clever == o.clever &&
412
+ level == o.level &&
413
+ skills_focused == o.skills_focused &&
414
+ size == o.size
231
415
  end
232
416
 
233
417
  # @see the `==` method
@@ -237,83 +421,32 @@ module FlatApi
237
421
  end
238
422
 
239
423
  # Calculates hash code according to all attributes.
240
- # @return [Fixnum] Hash code
424
+ # @return [Integer] Hash code
241
425
  def hash
242
- [id, state, name, section, description, organization, owner, creation_date, enrollment_code, theme, assignments_count, students_group, teachers_group, google_classroom, google_drive, lti, canvas, clever].hash
426
+ [id, state, name, section, description, organization, owner, creation_date, modification_date, enrollment_code, theme, assignments_count, students_group, teachers_group, issues, google_classroom, google_drive, microsoft_graph, lti, canvas, mfc, clever, level, skills_focused, size].hash
243
427
  end
244
428
 
245
429
  # Builds the object from hash
246
430
  # @param [Hash] attributes Model attributes in the form of hash
247
431
  # @return [Object] Returns the model itself
248
- def build_from_hash(attributes)
432
+ def self.build_from_hash(attributes)
249
433
  return nil unless attributes.is_a?(Hash)
250
- self.class.swagger_types.each_pair do |key, type|
251
- if type =~ /\AArray<(.*)>/i
252
- # check to ensure the input is an array given that the the attribute
434
+ attributes = attributes.transform_keys(&:to_sym)
435
+ transformed_hash = {}
436
+ openapi_types.each_pair do |key, type|
437
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
438
+ transformed_hash["#{key}"] = nil
439
+ elsif type =~ /\AArray<(.*)>/i
440
+ # check to ensure the input is an array given that the attribute
253
441
  # is documented as an array but the input is not
254
- if attributes[self.class.attribute_map[key]].is_a?(Array)
255
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
256
- end
257
- elsif !attributes[self.class.attribute_map[key]].nil?
258
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
259
- end # or else data not found in attributes(hash), not an issue as the data can be optional
260
- end
261
-
262
- self
263
- end
264
-
265
- # Deserializes the data based on type
266
- # @param string type Data type
267
- # @param string value Value to be deserialized
268
- # @return [Object] Deserialized data
269
- def _deserialize(type, value)
270
- case type.to_sym
271
- when :DateTime
272
- DateTime.parse(value)
273
- when :Date
274
- Date.parse(value)
275
- when :String
276
- value.to_s
277
- when :Integer
278
- value.to_i
279
- when :Float
280
- value.to_f
281
- when :BOOLEAN
282
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
283
- true
284
- else
285
- false
286
- end
287
- when :Object
288
- # generic object (usually a Hash), return directly
289
- value
290
- when /\AArray<(?<inner_type>.+)>\z/
291
- inner_type = Regexp.last_match[:inner_type]
292
- value.map { |v| _deserialize(inner_type, v) }
293
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
294
- k_type = Regexp.last_match[:k_type]
295
- v_type = Regexp.last_match[:v_type]
296
- {}.tap do |hash|
297
- value.each do |k, v|
298
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
442
+ if attributes[attribute_map[key]].is_a?(Array)
443
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
299
444
  end
445
+ elsif !attributes[attribute_map[key]].nil?
446
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
300
447
  end
301
- else # model
302
- temp_model = FlatApi.const_get(type).new
303
- temp_model.build_from_hash(value)
304
448
  end
305
- end
306
-
307
- # Returns the string representation of the object
308
- # @return [String] String presentation of the object
309
- def to_s
310
- to_hash.to_s
311
- end
312
-
313
- # to_body is an alias to to_hash (backward compatibility)
314
- # @return [Hash] Returns the object in the form of hash
315
- def to_body
316
- to_hash
449
+ new(transformed_hash)
317
450
  end
318
451
 
319
452
  # Returns the object in the form of hash
@@ -322,30 +455,16 @@ module FlatApi
322
455
  hash = {}
323
456
  self.class.attribute_map.each_pair do |attr, param|
324
457
  value = self.send(attr)
325
- next if value.nil?
458
+ if value.nil?
459
+ is_nullable = self.class.openapi_nullable.include?(attr)
460
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
461
+ end
462
+
326
463
  hash[param] = _to_hash(value)
327
464
  end
328
465
  hash
329
466
  end
330
467
 
331
- # Outputs non-array value in the form of hash
332
- # For object, use to_hash. Otherwise, just return the value
333
- # @param [Object] value Any valid value
334
- # @return [Hash] Returns the value in the form of hash
335
- def _to_hash(value)
336
- if value.is_a?(Array)
337
- value.compact.map{ |v| _to_hash(v) }
338
- elsif value.is_a?(Hash)
339
- {}.tap do |hash|
340
- value.each { |k, v| hash[k] = _to_hash(v) }
341
- end
342
- elsif value.respond_to? :to_hash
343
- value.to_hash
344
- else
345
- value
346
- end
347
- end
348
-
349
468
  end
350
469
 
351
470
  end