flat_api 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.md +5 -0
- data/Gemfile +7 -0
- data/README.md +248 -0
- data/Rakefile +8 -0
- data/docs/AccountApi.md +55 -0
- data/docs/Assignment.md +18 -0
- data/docs/AssignmentCopy.md +8 -0
- data/docs/AssignmentCreation.md +12 -0
- data/docs/AssignmentSubmission.md +19 -0
- data/docs/AssignmentSubmissionUpdate.md +11 -0
- data/docs/ClassApi.md +1051 -0
- data/docs/ClassAttachmentCreation.md +10 -0
- data/docs/ClassCreation.md +9 -0
- data/docs/ClassDetails.md +25 -0
- data/docs/ClassDetailsCanvas.md +9 -0
- data/docs/ClassDetailsClever.md +14 -0
- data/docs/ClassDetailsGoogleClassroom.md +11 -0
- data/docs/ClassDetailsGoogleDrive.md +9 -0
- data/docs/ClassDetailsLti.md +10 -0
- data/docs/ClassRoles.md +7 -0
- data/docs/ClassState.md +7 -0
- data/docs/ClassUpdate.md +9 -0
- data/docs/FlatErrorResponse.md +11 -0
- data/docs/FlatLocales.md +7 -0
- data/docs/GoogleClassroomCoursework.md +10 -0
- data/docs/GoogleClassroomSubmission.md +10 -0
- data/docs/Group.md +14 -0
- data/docs/GroupApi.md +167 -0
- data/docs/GroupDetails.md +14 -0
- data/docs/GroupType.md +7 -0
- data/docs/LicenseMode.md +7 -0
- data/docs/LicenseSources.md +7 -0
- data/docs/LmsName.md +7 -0
- data/docs/LtiCredentials.md +16 -0
- data/docs/LtiCredentialsCreation.md +9 -0
- data/docs/MediaAttachment.md +23 -0
- data/docs/MediaScoreSharingMode.md +7 -0
- data/docs/OrganizationApi.md +538 -0
- data/docs/OrganizationInvitation.md +14 -0
- data/docs/OrganizationInvitationCreation.md +9 -0
- data/docs/OrganizationRoles.md +7 -0
- data/docs/ScoreApi.md +1605 -0
- data/docs/ScoreCollaborator.md +15 -0
- data/docs/ScoreCollaboratorCreation.md +13 -0
- data/docs/ScoreComment.md +22 -0
- data/docs/ScoreCommentContext.md +14 -0
- data/docs/ScoreCommentCreation.md +13 -0
- data/docs/ScoreCommentUpdate.md +11 -0
- data/docs/ScoreCommentsCounts.md +11 -0
- data/docs/ScoreCreation.md +13 -0
- data/docs/ScoreCreationType.md +7 -0
- data/docs/ScoreData.md +7 -0
- data/docs/ScoreDataEncoding.md +7 -0
- data/docs/ScoreDetails.md +36 -0
- data/docs/ScoreFork.md +7 -0
- data/docs/ScoreLicense.md +7 -0
- data/docs/ScoreLikesCounts.md +10 -0
- data/docs/ScoreModification.md +13 -0
- data/docs/ScorePrivacy.md +7 -0
- data/docs/ScoreRevision.md +14 -0
- data/docs/ScoreRevisionCreation.md +11 -0
- data/docs/ScoreRevisionStatistics.md +9 -0
- data/docs/ScoreRights.md +9 -0
- data/docs/ScoreSource.md +8 -0
- data/docs/ScoreSummary.md +13 -0
- data/docs/ScoreTrack.md +19 -0
- data/docs/ScoreTrackCreation.md +12 -0
- data/docs/ScoreTrackPoint.md +10 -0
- data/docs/ScoreTrackState.md +7 -0
- data/docs/ScoreTrackType.md +7 -0
- data/docs/ScoreTrackUpdate.md +11 -0
- data/docs/ScoreViewsCounts.md +10 -0
- data/docs/UserAdminUpdate.md +9 -0
- data/docs/UserApi.md +173 -0
- data/docs/UserBasics.md +13 -0
- data/docs/UserCreation.md +11 -0
- data/docs/UserDetails.md +28 -0
- data/docs/UserDetailsAdmin.md +20 -0
- data/docs/UserDetailsAdminLicense.md +12 -0
- data/docs/UserInstruments.md +7 -0
- data/docs/UserPublic.md +25 -0
- data/docs/UserPublicSummary.md +17 -0
- data/flat_api.gemspec +48 -0
- data/git_push.sh +55 -0
- data/lib/flat_api.rb +117 -0
- data/lib/flat_api/api/account_api.rb +72 -0
- data/lib/flat_api/api/class_api.rb +1148 -0
- data/lib/flat_api/api/group_api.rb +191 -0
- data/lib/flat_api/api/organization_api.rb +599 -0
- data/lib/flat_api/api/score_api.rb +1737 -0
- data/lib/flat_api/api/user_api.rb +194 -0
- data/lib/flat_api/api_client.rb +389 -0
- data/lib/flat_api/api_error.rb +38 -0
- data/lib/flat_api/configuration.rb +209 -0
- data/lib/flat_api/models/assignment.rb +323 -0
- data/lib/flat_api/models/assignment_copy.rb +194 -0
- data/lib/flat_api/models/assignment_creation.rb +230 -0
- data/lib/flat_api/models/assignment_submission.rb +299 -0
- data/lib/flat_api/models/assignment_submission_update.rb +220 -0
- data/lib/flat_api/models/class_attachment_creation.rb +242 -0
- data/lib/flat_api/models/class_creation.rb +239 -0
- data/lib/flat_api/models/class_details.rb +351 -0
- data/lib/flat_api/models/class_details_canvas.rb +199 -0
- data/lib/flat_api/models/class_details_clever.rb +282 -0
- data/lib/flat_api/models/class_details_google_classroom.rb +219 -0
- data/lib/flat_api/models/class_details_google_drive.rb +199 -0
- data/lib/flat_api/models/class_details_lti.rb +209 -0
- data/lib/flat_api/models/class_roles.rb +22 -0
- data/lib/flat_api/models/class_state.rb +23 -0
- data/lib/flat_api/models/class_update.rb +231 -0
- data/lib/flat_api/models/flat_error_response.rb +219 -0
- data/lib/flat_api/models/flat_locales.rb +27 -0
- data/lib/flat_api/models/google_classroom_coursework.rb +209 -0
- data/lib/flat_api/models/google_classroom_submission.rb +209 -0
- data/lib/flat_api/models/group.rb +282 -0
- data/lib/flat_api/models/group_details.rb +248 -0
- data/lib/flat_api/models/group_type.rb +23 -0
- data/lib/flat_api/models/license_mode.rb +22 -0
- data/lib/flat_api/models/license_sources.rb +25 -0
- data/lib/flat_api/models/lms_name.rb +27 -0
- data/lib/flat_api/models/lti_credentials.rb +268 -0
- data/lib/flat_api/models/lti_credentials_creation.rb +227 -0
- data/lib/flat_api/models/media_attachment.rb +371 -0
- data/lib/flat_api/models/media_score_sharing_mode.rb +23 -0
- data/lib/flat_api/models/organization_invitation.rb +248 -0
- data/lib/flat_api/models/organization_invitation_creation.rb +198 -0
- data/lib/flat_api/models/organization_roles.rb +24 -0
- data/lib/flat_api/models/score_collaborator.rb +263 -0
- data/lib/flat_api/models/score_collaborator_creation.rb +245 -0
- data/lib/flat_api/models/score_comment.rb +363 -0
- data/lib/flat_api/models/score_comment_context.rb +282 -0
- data/lib/flat_api/models/score_comment_creation.rb +245 -0
- data/lib/flat_api/models/score_comment_update.rb +268 -0
- data/lib/flat_api/models/score_comments_counts.rb +219 -0
- data/lib/flat_api/models/score_creation.rb +240 -0
- data/lib/flat_api/models/score_creation_type.rb +23 -0
- data/lib/flat_api/models/score_data.rb +179 -0
- data/lib/flat_api/models/score_data_encoding.rb +21 -0
- data/lib/flat_api/models/score_details.rb +467 -0
- data/lib/flat_api/models/score_fork.rb +179 -0
- data/lib/flat_api/models/score_license.rb +28 -0
- data/lib/flat_api/models/score_likes_counts.rb +209 -0
- data/lib/flat_api/models/score_modification.rb +270 -0
- data/lib/flat_api/models/score_privacy.rb +24 -0
- data/lib/flat_api/models/score_revision.rb +249 -0
- data/lib/flat_api/models/score_revision_creation.rb +222 -0
- data/lib/flat_api/models/score_revision_statistics.rb +199 -0
- data/lib/flat_api/models/score_rights.rb +203 -0
- data/lib/flat_api/models/score_source.rb +189 -0
- data/lib/flat_api/models/score_summary.rb +237 -0
- data/lib/flat_api/models/score_track.rb +298 -0
- data/lib/flat_api/models/score_track_creation.rb +229 -0
- data/lib/flat_api/models/score_track_point.rb +252 -0
- data/lib/flat_api/models/score_track_state.rb +23 -0
- data/lib/flat_api/models/score_track_type.rb +24 -0
- data/lib/flat_api/models/score_track_update.rb +219 -0
- data/lib/flat_api/models/score_views_counts.rb +209 -0
- data/lib/flat_api/models/user_admin_update.rb +214 -0
- data/lib/flat_api/models/user_basics.rb +239 -0
- data/lib/flat_api/models/user_creation.rb +266 -0
- data/lib/flat_api/models/user_details.rb +418 -0
- data/lib/flat_api/models/user_details_admin.rb +306 -0
- data/lib/flat_api/models/user_details_admin_license.rb +227 -0
- data/lib/flat_api/models/user_instruments.rb +179 -0
- data/lib/flat_api/models/user_public.rb +356 -0
- data/lib/flat_api/models/user_public_summary.rb +277 -0
- data/lib/flat_api/version.rb +15 -0
- data/lib/swagger_client.rb +117 -0
- data/lib/swagger_client/api/account_api.rb +72 -0
- data/lib/swagger_client/api/class_api.rb +1148 -0
- data/lib/swagger_client/api/group_api.rb +191 -0
- data/lib/swagger_client/api/organization_api.rb +599 -0
- data/lib/swagger_client/api/score_api.rb +1737 -0
- data/lib/swagger_client/api/user_api.rb +194 -0
- data/lib/swagger_client/api_client.rb +389 -0
- data/lib/swagger_client/api_error.rb +38 -0
- data/lib/swagger_client/configuration.rb +209 -0
- data/lib/swagger_client/models/assignment.rb +323 -0
- data/lib/swagger_client/models/assignment_copy.rb +194 -0
- data/lib/swagger_client/models/assignment_creation.rb +230 -0
- data/lib/swagger_client/models/assignment_submission.rb +299 -0
- data/lib/swagger_client/models/assignment_submission_update.rb +220 -0
- data/lib/swagger_client/models/class_attachment_creation.rb +242 -0
- data/lib/swagger_client/models/class_creation.rb +239 -0
- data/lib/swagger_client/models/class_details.rb +351 -0
- data/lib/swagger_client/models/class_details_canvas.rb +199 -0
- data/lib/swagger_client/models/class_details_clever.rb +282 -0
- data/lib/swagger_client/models/class_details_google_classroom.rb +219 -0
- data/lib/swagger_client/models/class_details_google_drive.rb +199 -0
- data/lib/swagger_client/models/class_details_lti.rb +209 -0
- data/lib/swagger_client/models/class_roles.rb +22 -0
- data/lib/swagger_client/models/class_state.rb +23 -0
- data/lib/swagger_client/models/class_update.rb +231 -0
- data/lib/swagger_client/models/flat_error_response.rb +219 -0
- data/lib/swagger_client/models/flat_locales.rb +27 -0
- data/lib/swagger_client/models/google_classroom_coursework.rb +209 -0
- data/lib/swagger_client/models/google_classroom_submission.rb +209 -0
- data/lib/swagger_client/models/group.rb +282 -0
- data/lib/swagger_client/models/group_details.rb +248 -0
- data/lib/swagger_client/models/group_type.rb +23 -0
- data/lib/swagger_client/models/license_mode.rb +22 -0
- data/lib/swagger_client/models/license_sources.rb +25 -0
- data/lib/swagger_client/models/lms_name.rb +27 -0
- data/lib/swagger_client/models/lti_credentials.rb +268 -0
- data/lib/swagger_client/models/lti_credentials_creation.rb +227 -0
- data/lib/swagger_client/models/media_attachment.rb +371 -0
- data/lib/swagger_client/models/media_score_sharing_mode.rb +23 -0
- data/lib/swagger_client/models/organization_invitation.rb +248 -0
- data/lib/swagger_client/models/organization_invitation_creation.rb +198 -0
- data/lib/swagger_client/models/organization_roles.rb +24 -0
- data/lib/swagger_client/models/score_collaborator.rb +263 -0
- data/lib/swagger_client/models/score_collaborator_creation.rb +245 -0
- data/lib/swagger_client/models/score_comment.rb +363 -0
- data/lib/swagger_client/models/score_comment_context.rb +282 -0
- data/lib/swagger_client/models/score_comment_creation.rb +245 -0
- data/lib/swagger_client/models/score_comment_update.rb +268 -0
- data/lib/swagger_client/models/score_comments_counts.rb +219 -0
- data/lib/swagger_client/models/score_creation.rb +240 -0
- data/lib/swagger_client/models/score_creation_type.rb +23 -0
- data/lib/swagger_client/models/score_data.rb +179 -0
- data/lib/swagger_client/models/score_data_encoding.rb +21 -0
- data/lib/swagger_client/models/score_details.rb +467 -0
- data/lib/swagger_client/models/score_fork.rb +179 -0
- data/lib/swagger_client/models/score_license.rb +28 -0
- data/lib/swagger_client/models/score_likes_counts.rb +209 -0
- data/lib/swagger_client/models/score_modification.rb +270 -0
- data/lib/swagger_client/models/score_privacy.rb +24 -0
- data/lib/swagger_client/models/score_revision.rb +249 -0
- data/lib/swagger_client/models/score_revision_creation.rb +222 -0
- data/lib/swagger_client/models/score_revision_statistics.rb +199 -0
- data/lib/swagger_client/models/score_rights.rb +203 -0
- data/lib/swagger_client/models/score_source.rb +189 -0
- data/lib/swagger_client/models/score_summary.rb +237 -0
- data/lib/swagger_client/models/score_track.rb +298 -0
- data/lib/swagger_client/models/score_track_creation.rb +229 -0
- data/lib/swagger_client/models/score_track_point.rb +252 -0
- data/lib/swagger_client/models/score_track_state.rb +23 -0
- data/lib/swagger_client/models/score_track_type.rb +24 -0
- data/lib/swagger_client/models/score_track_update.rb +219 -0
- data/lib/swagger_client/models/score_views_counts.rb +209 -0
- data/lib/swagger_client/models/user_admin_update.rb +214 -0
- data/lib/swagger_client/models/user_basics.rb +239 -0
- data/lib/swagger_client/models/user_creation.rb +266 -0
- data/lib/swagger_client/models/user_details.rb +418 -0
- data/lib/swagger_client/models/user_details_admin.rb +306 -0
- data/lib/swagger_client/models/user_details_admin_license.rb +227 -0
- data/lib/swagger_client/models/user_instruments.rb +179 -0
- data/lib/swagger_client/models/user_public.rb +356 -0
- data/lib/swagger_client/models/user_public_summary.rb +277 -0
- data/lib/swagger_client/version.rb +15 -0
- data/spec/api/account_api_spec.rb +46 -0
- data/spec/api/class_api_spec.rb +278 -0
- data/spec/api/group_api_spec.rb +72 -0
- data/spec/api/organization_api_spec.rb +162 -0
- data/spec/api/score_api_spec.rb +411 -0
- data/spec/api/user_api_spec.rb +73 -0
- data/spec/api_client_spec.rb +226 -0
- data/spec/configuration_spec.rb +42 -0
- data/spec/models/assignment_copy_spec.rb +42 -0
- data/spec/models/assignment_creation_spec.rb +66 -0
- data/spec/models/assignment_spec.rb +106 -0
- data/spec/models/assignment_submission_spec.rb +108 -0
- data/spec/models/assignment_submission_update_spec.rb +60 -0
- data/spec/models/class_attachment_creation_spec.rb +58 -0
- data/spec/models/class_creation_spec.rb +48 -0
- data/spec/models/class_details_canvas_spec.rb +48 -0
- data/spec/models/class_details_clever_spec.rb +82 -0
- data/spec/models/class_details_google_classroom_spec.rb +60 -0
- data/spec/models/class_details_google_drive_spec.rb +48 -0
- data/spec/models/class_details_lti_spec.rb +54 -0
- data/spec/models/class_details_spec.rb +144 -0
- data/spec/models/class_roles_spec.rb +36 -0
- data/spec/models/class_state_spec.rb +36 -0
- data/spec/models/class_update_spec.rb +48 -0
- data/spec/models/flat_error_response_spec.rb +60 -0
- data/spec/models/flat_locales_spec.rb +36 -0
- data/spec/models/google_classroom_coursework_spec.rb +54 -0
- data/spec/models/google_classroom_submission_spec.rb +54 -0
- data/spec/models/group_details_spec.rb +78 -0
- data/spec/models/group_spec.rb +82 -0
- data/spec/models/group_type_spec.rb +36 -0
- data/spec/models/license_mode_spec.rb +36 -0
- data/spec/models/license_sources_spec.rb +36 -0
- data/spec/models/lms_name_spec.rb +36 -0
- data/spec/models/lti_credentials_creation_spec.rb +48 -0
- data/spec/models/lti_credentials_spec.rb +90 -0
- data/spec/models/media_attachment_spec.rb +136 -0
- data/spec/models/media_score_sharing_mode_spec.rb +36 -0
- data/spec/models/organization_invitation_creation_spec.rb +48 -0
- data/spec/models/organization_invitation_spec.rb +78 -0
- data/spec/models/organization_roles_spec.rb +36 -0
- data/spec/models/score_collaborator_creation_spec.rb +72 -0
- data/spec/models/score_collaborator_spec.rb +84 -0
- data/spec/models/score_comment_context_spec.rb +78 -0
- data/spec/models/score_comment_creation_spec.rb +72 -0
- data/spec/models/score_comment_spec.rb +130 -0
- data/spec/models/score_comment_update_spec.rb +60 -0
- data/spec/models/score_comments_counts_spec.rb +60 -0
- data/spec/models/score_creation_spec.rb +72 -0
- data/spec/models/score_creation_type_spec.rb +36 -0
- data/spec/models/score_data_encoding_spec.rb +36 -0
- data/spec/models/score_data_spec.rb +36 -0
- data/spec/models/score_details_spec.rb +210 -0
- data/spec/models/score_fork_spec.rb +36 -0
- data/spec/models/score_license_spec.rb +36 -0
- data/spec/models/score_likes_counts_spec.rb +54 -0
- data/spec/models/score_modification_spec.rb +72 -0
- data/spec/models/score_privacy_spec.rb +36 -0
- data/spec/models/score_revision_creation_spec.rb +60 -0
- data/spec/models/score_revision_spec.rb +78 -0
- data/spec/models/score_revision_statistics_spec.rb +48 -0
- data/spec/models/score_rights_spec.rb +48 -0
- data/spec/models/score_source_spec.rb +42 -0
- data/spec/models/score_summary_spec.rb +72 -0
- data/spec/models/score_track_creation_spec.rb +66 -0
- data/spec/models/score_track_point_spec.rb +58 -0
- data/spec/models/score_track_spec.rb +108 -0
- data/spec/models/score_track_state_spec.rb +36 -0
- data/spec/models/score_track_type_spec.rb +36 -0
- data/spec/models/score_track_update_spec.rb +60 -0
- data/spec/models/score_views_counts_spec.rb +54 -0
- data/spec/models/user_admin_update_spec.rb +48 -0
- data/spec/models/user_basics_spec.rb +72 -0
- data/spec/models/user_creation_spec.rb +60 -0
- data/spec/models/user_details_admin_license_spec.rb +66 -0
- data/spec/models/user_details_admin_spec.rb +114 -0
- data/spec/models/user_details_spec.rb +166 -0
- data/spec/models/user_instruments_spec.rb +36 -0
- data/spec/models/user_public_spec.rb +144 -0
- data/spec/models/user_public_summary_spec.rb +96 -0
- data/spec/spec_helper.rb +111 -0
- metadata +640 -0
@@ -0,0 +1,23 @@
|
|
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 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)
|
5
|
+
|
6
|
+
OpenAPI spec version: 2.5.0
|
7
|
+
Contact: developers@flat.io
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
Swagger Codegen version: 2.2.3-SNAPSHOT
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'date'
|
14
|
+
|
15
|
+
module SwaggerClient
|
16
|
+
class ScoreCreationType
|
17
|
+
|
18
|
+
ORIGINAL = "original".freeze
|
19
|
+
ARRANGEMENT = "arrangement".freeze
|
20
|
+
OTHER = "other".freeze
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,179 @@
|
|
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 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)
|
5
|
+
|
6
|
+
OpenAPI spec version: 2.5.0
|
7
|
+
Contact: developers@flat.io
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
Swagger Codegen version: 2.2.3-SNAPSHOT
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'date'
|
14
|
+
|
15
|
+
module SwaggerClient
|
16
|
+
# The data of the score file. It must be a MusicXML 3 file (`vnd.recordare.musicxml` or `vnd.recordare.musicxml+xml`), a MIDI file (`audio/midi`) or a Flat.json (aka Adagio.json) file. Binary payloads (`vnd.recordare.musicxml` and `audio/midi`) can be encoded in Base64, in this case the `dataEncoding` property must match the encoding used for the API request.
|
17
|
+
class ScoreData
|
18
|
+
|
19
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
20
|
+
def self.attribute_map
|
21
|
+
{
|
22
|
+
}
|
23
|
+
end
|
24
|
+
|
25
|
+
# Attribute type mapping.
|
26
|
+
def self.swagger_types
|
27
|
+
{
|
28
|
+
}
|
29
|
+
end
|
30
|
+
|
31
|
+
# Initializes the object
|
32
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
33
|
+
def initialize(attributes = {})
|
34
|
+
return unless attributes.is_a?(Hash)
|
35
|
+
|
36
|
+
# convert string to symbol for hash key
|
37
|
+
attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
42
|
+
# @return Array for valid properies with the reasons
|
43
|
+
def list_invalid_properties
|
44
|
+
invalid_properties = Array.new
|
45
|
+
return invalid_properties
|
46
|
+
end
|
47
|
+
|
48
|
+
# Check to see if the all the properties in the model are valid
|
49
|
+
# @return true if the model is valid
|
50
|
+
def valid?
|
51
|
+
return true
|
52
|
+
end
|
53
|
+
|
54
|
+
# Checks equality by comparing each attribute.
|
55
|
+
# @param [Object] Object to be compared
|
56
|
+
def ==(o)
|
57
|
+
return true if self.equal?(o)
|
58
|
+
self.class == o.class
|
59
|
+
end
|
60
|
+
|
61
|
+
# @see the `==` method
|
62
|
+
# @param [Object] Object to be compared
|
63
|
+
def eql?(o)
|
64
|
+
self == o
|
65
|
+
end
|
66
|
+
|
67
|
+
# Calculates hash code according to all attributes.
|
68
|
+
# @return [Fixnum] Hash code
|
69
|
+
def hash
|
70
|
+
[].hash
|
71
|
+
end
|
72
|
+
|
73
|
+
# Builds the object from hash
|
74
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
75
|
+
# @return [Object] Returns the model itself
|
76
|
+
def build_from_hash(attributes)
|
77
|
+
return nil unless attributes.is_a?(Hash)
|
78
|
+
self.class.swagger_types.each_pair do |key, type|
|
79
|
+
if type =~ /\AArray<(.*)>/i
|
80
|
+
# check to ensure the input is an array given that the the attribute
|
81
|
+
# is documented as an array but the input is not
|
82
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
83
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
|
84
|
+
end
|
85
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
86
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
87
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
88
|
+
end
|
89
|
+
|
90
|
+
self
|
91
|
+
end
|
92
|
+
|
93
|
+
# Deserializes the data based on type
|
94
|
+
# @param string type Data type
|
95
|
+
# @param string value Value to be deserialized
|
96
|
+
# @return [Object] Deserialized data
|
97
|
+
def _deserialize(type, value)
|
98
|
+
case type.to_sym
|
99
|
+
when :DateTime
|
100
|
+
DateTime.parse(value)
|
101
|
+
when :Date
|
102
|
+
Date.parse(value)
|
103
|
+
when :String
|
104
|
+
value.to_s
|
105
|
+
when :Integer
|
106
|
+
value.to_i
|
107
|
+
when :Float
|
108
|
+
value.to_f
|
109
|
+
when :BOOLEAN
|
110
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
111
|
+
true
|
112
|
+
else
|
113
|
+
false
|
114
|
+
end
|
115
|
+
when :Object
|
116
|
+
# generic object (usually a Hash), return directly
|
117
|
+
value
|
118
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
119
|
+
inner_type = Regexp.last_match[:inner_type]
|
120
|
+
value.map { |v| _deserialize(inner_type, v) }
|
121
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
122
|
+
k_type = Regexp.last_match[:k_type]
|
123
|
+
v_type = Regexp.last_match[:v_type]
|
124
|
+
{}.tap do |hash|
|
125
|
+
value.each do |k, v|
|
126
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
127
|
+
end
|
128
|
+
end
|
129
|
+
else # model
|
130
|
+
temp_model = SwaggerClient.const_get(type).new
|
131
|
+
temp_model.build_from_hash(value)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
# Returns the string representation of the object
|
136
|
+
# @return [String] String presentation of the object
|
137
|
+
def to_s
|
138
|
+
to_hash.to_s
|
139
|
+
end
|
140
|
+
|
141
|
+
# to_body is an alias to to_hash (backward compatibility)
|
142
|
+
# @return [Hash] Returns the object in the form of hash
|
143
|
+
def to_body
|
144
|
+
to_hash
|
145
|
+
end
|
146
|
+
|
147
|
+
# Returns the object in the form of hash
|
148
|
+
# @return [Hash] Returns the object in the form of hash
|
149
|
+
def to_hash
|
150
|
+
hash = {}
|
151
|
+
self.class.attribute_map.each_pair do |attr, param|
|
152
|
+
value = self.send(attr)
|
153
|
+
next if value.nil?
|
154
|
+
hash[param] = _to_hash(value)
|
155
|
+
end
|
156
|
+
hash
|
157
|
+
end
|
158
|
+
|
159
|
+
# Outputs non-array value in the form of hash
|
160
|
+
# For object, use to_hash. Otherwise, just return the value
|
161
|
+
# @param [Object] value Any valid value
|
162
|
+
# @return [Hash] Returns the value in the form of hash
|
163
|
+
def _to_hash(value)
|
164
|
+
if value.is_a?(Array)
|
165
|
+
value.compact.map{ |v| _to_hash(v) }
|
166
|
+
elsif value.is_a?(Hash)
|
167
|
+
{}.tap do |hash|
|
168
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
169
|
+
end
|
170
|
+
elsif value.respond_to? :to_hash
|
171
|
+
value.to_hash
|
172
|
+
else
|
173
|
+
value
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
end
|
178
|
+
|
179
|
+
end
|
@@ -0,0 +1,21 @@
|
|
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 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)
|
5
|
+
|
6
|
+
OpenAPI spec version: 2.5.0
|
7
|
+
Contact: developers@flat.io
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
Swagger Codegen version: 2.2.3-SNAPSHOT
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'date'
|
14
|
+
|
15
|
+
module SwaggerClient
|
16
|
+
class ScoreDataEncoding
|
17
|
+
|
18
|
+
BASE64 = "base64".freeze
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
@@ -0,0 +1,467 @@
|
|
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 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)
|
5
|
+
|
6
|
+
OpenAPI spec version: 2.5.0
|
7
|
+
Contact: developers@flat.io
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
Swagger Codegen version: 2.2.3-SNAPSHOT
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'date'
|
14
|
+
|
15
|
+
module SwaggerClient
|
16
|
+
# The score and all its details
|
17
|
+
class ScoreDetails
|
18
|
+
# The unique identifier of the score
|
19
|
+
attr_accessor :id
|
20
|
+
|
21
|
+
# The private sharing key of the score (available when the `privacy` mode is set to `privateLink`)
|
22
|
+
attr_accessor :sharing_key
|
23
|
+
|
24
|
+
# The title of the score
|
25
|
+
attr_accessor :title
|
26
|
+
|
27
|
+
attr_accessor :privacy
|
28
|
+
|
29
|
+
attr_accessor :user
|
30
|
+
|
31
|
+
# The url where the score can be viewed in a web browser
|
32
|
+
attr_accessor :html_url
|
33
|
+
|
34
|
+
# Subtitle of the score
|
35
|
+
attr_accessor :subtitle
|
36
|
+
|
37
|
+
# Lyricist of the score
|
38
|
+
attr_accessor :lyricist
|
39
|
+
|
40
|
+
# Composer of the score
|
41
|
+
attr_accessor :composer
|
42
|
+
|
43
|
+
# Description of the creation
|
44
|
+
attr_accessor :description
|
45
|
+
|
46
|
+
# Tags describing the score
|
47
|
+
attr_accessor :tags
|
48
|
+
|
49
|
+
attr_accessor :creation_type
|
50
|
+
|
51
|
+
attr_accessor :license
|
52
|
+
|
53
|
+
# Additional license text written on the exported/printed score
|
54
|
+
attr_accessor :license_text
|
55
|
+
|
56
|
+
# In seconds, an approximative duration of the score
|
57
|
+
attr_accessor :duration_time
|
58
|
+
|
59
|
+
# The number of measures in the score
|
60
|
+
attr_accessor :number_measures
|
61
|
+
|
62
|
+
# The main tempo of the score (in QPM)
|
63
|
+
attr_accessor :main_tempo_qpm
|
64
|
+
|
65
|
+
attr_accessor :rights
|
66
|
+
|
67
|
+
# The list of the collaborators of the score
|
68
|
+
attr_accessor :collaborators
|
69
|
+
|
70
|
+
# The date when the score was created
|
71
|
+
attr_accessor :creation_date
|
72
|
+
|
73
|
+
# The date of the last revision of the score
|
74
|
+
attr_accessor :modification_date
|
75
|
+
|
76
|
+
# The date when the score was published on Flat
|
77
|
+
attr_accessor :publication_date
|
78
|
+
|
79
|
+
# If the score has been created in an organization, the identifier of this organization. This property is especially used with the score privacy `organizationPublic`.
|
80
|
+
attr_accessor :organization
|
81
|
+
|
82
|
+
# If the score has been forked, the unique identifier of the parent score.
|
83
|
+
attr_accessor :parent_score
|
84
|
+
|
85
|
+
# An array of the instrument identifiers used in the last version of the score. This is mainly used to display a list of the instruments in the Flat's UI or instruments icons. The format of the strings is `{instrument-group}.{instrument-id}`.
|
86
|
+
attr_accessor :instruments
|
87
|
+
|
88
|
+
# If the user uses Google Drive and the score exists on Google Drive, this field will contain the unique identifier of the Flat score on Google Drive. You can access the document using the url: `https://drive.google.com/open?id={googleDriveFileId}`
|
89
|
+
attr_accessor :google_drive_file_id
|
90
|
+
|
91
|
+
attr_accessor :likes
|
92
|
+
|
93
|
+
attr_accessor :comments
|
94
|
+
|
95
|
+
attr_accessor :views
|
96
|
+
|
97
|
+
|
98
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
99
|
+
def self.attribute_map
|
100
|
+
{
|
101
|
+
:'id' => :'id',
|
102
|
+
:'sharing_key' => :'sharingKey',
|
103
|
+
:'title' => :'title',
|
104
|
+
:'privacy' => :'privacy',
|
105
|
+
:'user' => :'user',
|
106
|
+
:'html_url' => :'htmlUrl',
|
107
|
+
:'subtitle' => :'subtitle',
|
108
|
+
:'lyricist' => :'lyricist',
|
109
|
+
:'composer' => :'composer',
|
110
|
+
:'description' => :'description',
|
111
|
+
:'tags' => :'tags',
|
112
|
+
:'creation_type' => :'creationType',
|
113
|
+
:'license' => :'license',
|
114
|
+
:'license_text' => :'licenseText',
|
115
|
+
:'duration_time' => :'durationTime',
|
116
|
+
:'number_measures' => :'numberMeasures',
|
117
|
+
:'main_tempo_qpm' => :'mainTempoQpm',
|
118
|
+
:'rights' => :'rights',
|
119
|
+
:'collaborators' => :'collaborators',
|
120
|
+
:'creation_date' => :'creationDate',
|
121
|
+
:'modification_date' => :'modificationDate',
|
122
|
+
:'publication_date' => :'publicationDate',
|
123
|
+
:'organization' => :'organization',
|
124
|
+
:'parent_score' => :'parentScore',
|
125
|
+
:'instruments' => :'instruments',
|
126
|
+
:'google_drive_file_id' => :'googleDriveFileId',
|
127
|
+
:'likes' => :'likes',
|
128
|
+
:'comments' => :'comments',
|
129
|
+
:'views' => :'views'
|
130
|
+
}
|
131
|
+
end
|
132
|
+
|
133
|
+
# Attribute type mapping.
|
134
|
+
def self.swagger_types
|
135
|
+
{
|
136
|
+
:'id' => :'String',
|
137
|
+
:'sharing_key' => :'String',
|
138
|
+
:'title' => :'String',
|
139
|
+
:'privacy' => :'ScorePrivacy',
|
140
|
+
:'user' => :'UserPublicSummary',
|
141
|
+
:'html_url' => :'String',
|
142
|
+
:'subtitle' => :'String',
|
143
|
+
:'lyricist' => :'String',
|
144
|
+
:'composer' => :'String',
|
145
|
+
:'description' => :'String',
|
146
|
+
:'tags' => :'Array<String>',
|
147
|
+
:'creation_type' => :'ScoreCreationType',
|
148
|
+
:'license' => :'ScoreLicense',
|
149
|
+
:'license_text' => :'String',
|
150
|
+
:'duration_time' => :'Integer',
|
151
|
+
:'number_measures' => :'Integer',
|
152
|
+
:'main_tempo_qpm' => :'Integer',
|
153
|
+
:'rights' => :'ScoreRights',
|
154
|
+
:'collaborators' => :'Array<ScoreCollaborator>',
|
155
|
+
:'creation_date' => :'DateTime',
|
156
|
+
:'modification_date' => :'DateTime',
|
157
|
+
:'publication_date' => :'DateTime',
|
158
|
+
:'organization' => :'String',
|
159
|
+
:'parent_score' => :'String',
|
160
|
+
:'instruments' => :'Array<String>',
|
161
|
+
:'google_drive_file_id' => :'String',
|
162
|
+
:'likes' => :'ScoreLikesCounts',
|
163
|
+
:'comments' => :'ScoreCommentsCounts',
|
164
|
+
:'views' => :'ScoreViewsCounts'
|
165
|
+
}
|
166
|
+
end
|
167
|
+
|
168
|
+
# Initializes the object
|
169
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
170
|
+
def initialize(attributes = {})
|
171
|
+
return unless attributes.is_a?(Hash)
|
172
|
+
|
173
|
+
# convert string to symbol for hash key
|
174
|
+
attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
|
175
|
+
|
176
|
+
if attributes.has_key?(:'id')
|
177
|
+
self.id = attributes[:'id']
|
178
|
+
end
|
179
|
+
|
180
|
+
if attributes.has_key?(:'sharingKey')
|
181
|
+
self.sharing_key = attributes[:'sharingKey']
|
182
|
+
end
|
183
|
+
|
184
|
+
if attributes.has_key?(:'title')
|
185
|
+
self.title = attributes[:'title']
|
186
|
+
end
|
187
|
+
|
188
|
+
if attributes.has_key?(:'privacy')
|
189
|
+
self.privacy = attributes[:'privacy']
|
190
|
+
end
|
191
|
+
|
192
|
+
if attributes.has_key?(:'user')
|
193
|
+
self.user = attributes[:'user']
|
194
|
+
end
|
195
|
+
|
196
|
+
if attributes.has_key?(:'htmlUrl')
|
197
|
+
self.html_url = attributes[:'htmlUrl']
|
198
|
+
end
|
199
|
+
|
200
|
+
if attributes.has_key?(:'subtitle')
|
201
|
+
self.subtitle = attributes[:'subtitle']
|
202
|
+
end
|
203
|
+
|
204
|
+
if attributes.has_key?(:'lyricist')
|
205
|
+
self.lyricist = attributes[:'lyricist']
|
206
|
+
end
|
207
|
+
|
208
|
+
if attributes.has_key?(:'composer')
|
209
|
+
self.composer = attributes[:'composer']
|
210
|
+
end
|
211
|
+
|
212
|
+
if attributes.has_key?(:'description')
|
213
|
+
self.description = attributes[:'description']
|
214
|
+
end
|
215
|
+
|
216
|
+
if attributes.has_key?(:'tags')
|
217
|
+
if (value = attributes[:'tags']).is_a?(Array)
|
218
|
+
self.tags = value
|
219
|
+
end
|
220
|
+
end
|
221
|
+
|
222
|
+
if attributes.has_key?(:'creationType')
|
223
|
+
self.creation_type = attributes[:'creationType']
|
224
|
+
end
|
225
|
+
|
226
|
+
if attributes.has_key?(:'license')
|
227
|
+
self.license = attributes[:'license']
|
228
|
+
end
|
229
|
+
|
230
|
+
if attributes.has_key?(:'licenseText')
|
231
|
+
self.license_text = attributes[:'licenseText']
|
232
|
+
end
|
233
|
+
|
234
|
+
if attributes.has_key?(:'durationTime')
|
235
|
+
self.duration_time = attributes[:'durationTime']
|
236
|
+
end
|
237
|
+
|
238
|
+
if attributes.has_key?(:'numberMeasures')
|
239
|
+
self.number_measures = attributes[:'numberMeasures']
|
240
|
+
end
|
241
|
+
|
242
|
+
if attributes.has_key?(:'mainTempoQpm')
|
243
|
+
self.main_tempo_qpm = attributes[:'mainTempoQpm']
|
244
|
+
end
|
245
|
+
|
246
|
+
if attributes.has_key?(:'rights')
|
247
|
+
self.rights = attributes[:'rights']
|
248
|
+
end
|
249
|
+
|
250
|
+
if attributes.has_key?(:'collaborators')
|
251
|
+
if (value = attributes[:'collaborators']).is_a?(Array)
|
252
|
+
self.collaborators = value
|
253
|
+
end
|
254
|
+
end
|
255
|
+
|
256
|
+
if attributes.has_key?(:'creationDate')
|
257
|
+
self.creation_date = attributes[:'creationDate']
|
258
|
+
end
|
259
|
+
|
260
|
+
if attributes.has_key?(:'modificationDate')
|
261
|
+
self.modification_date = attributes[:'modificationDate']
|
262
|
+
end
|
263
|
+
|
264
|
+
if attributes.has_key?(:'publicationDate')
|
265
|
+
self.publication_date = attributes[:'publicationDate']
|
266
|
+
end
|
267
|
+
|
268
|
+
if attributes.has_key?(:'organization')
|
269
|
+
self.organization = attributes[:'organization']
|
270
|
+
end
|
271
|
+
|
272
|
+
if attributes.has_key?(:'parentScore')
|
273
|
+
self.parent_score = attributes[:'parentScore']
|
274
|
+
end
|
275
|
+
|
276
|
+
if attributes.has_key?(:'instruments')
|
277
|
+
if (value = attributes[:'instruments']).is_a?(Array)
|
278
|
+
self.instruments = value
|
279
|
+
end
|
280
|
+
end
|
281
|
+
|
282
|
+
if attributes.has_key?(:'googleDriveFileId')
|
283
|
+
self.google_drive_file_id = attributes[:'googleDriveFileId']
|
284
|
+
end
|
285
|
+
|
286
|
+
if attributes.has_key?(:'likes')
|
287
|
+
self.likes = attributes[:'likes']
|
288
|
+
end
|
289
|
+
|
290
|
+
if attributes.has_key?(:'comments')
|
291
|
+
self.comments = attributes[:'comments']
|
292
|
+
end
|
293
|
+
|
294
|
+
if attributes.has_key?(:'views')
|
295
|
+
self.views = attributes[:'views']
|
296
|
+
end
|
297
|
+
|
298
|
+
end
|
299
|
+
|
300
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
301
|
+
# @return Array for valid properies with the reasons
|
302
|
+
def list_invalid_properties
|
303
|
+
invalid_properties = Array.new
|
304
|
+
return invalid_properties
|
305
|
+
end
|
306
|
+
|
307
|
+
# Check to see if the all the properties in the model are valid
|
308
|
+
# @return true if the model is valid
|
309
|
+
def valid?
|
310
|
+
return true
|
311
|
+
end
|
312
|
+
|
313
|
+
# Checks equality by comparing each attribute.
|
314
|
+
# @param [Object] Object to be compared
|
315
|
+
def ==(o)
|
316
|
+
return true if self.equal?(o)
|
317
|
+
self.class == o.class &&
|
318
|
+
id == o.id &&
|
319
|
+
sharing_key == o.sharing_key &&
|
320
|
+
title == o.title &&
|
321
|
+
privacy == o.privacy &&
|
322
|
+
user == o.user &&
|
323
|
+
html_url == o.html_url &&
|
324
|
+
subtitle == o.subtitle &&
|
325
|
+
lyricist == o.lyricist &&
|
326
|
+
composer == o.composer &&
|
327
|
+
description == o.description &&
|
328
|
+
tags == o.tags &&
|
329
|
+
creation_type == o.creation_type &&
|
330
|
+
license == o.license &&
|
331
|
+
license_text == o.license_text &&
|
332
|
+
duration_time == o.duration_time &&
|
333
|
+
number_measures == o.number_measures &&
|
334
|
+
main_tempo_qpm == o.main_tempo_qpm &&
|
335
|
+
rights == o.rights &&
|
336
|
+
collaborators == o.collaborators &&
|
337
|
+
creation_date == o.creation_date &&
|
338
|
+
modification_date == o.modification_date &&
|
339
|
+
publication_date == o.publication_date &&
|
340
|
+
organization == o.organization &&
|
341
|
+
parent_score == o.parent_score &&
|
342
|
+
instruments == o.instruments &&
|
343
|
+
google_drive_file_id == o.google_drive_file_id &&
|
344
|
+
likes == o.likes &&
|
345
|
+
comments == o.comments &&
|
346
|
+
views == o.views
|
347
|
+
end
|
348
|
+
|
349
|
+
# @see the `==` method
|
350
|
+
# @param [Object] Object to be compared
|
351
|
+
def eql?(o)
|
352
|
+
self == o
|
353
|
+
end
|
354
|
+
|
355
|
+
# Calculates hash code according to all attributes.
|
356
|
+
# @return [Fixnum] Hash code
|
357
|
+
def hash
|
358
|
+
[id, sharing_key, title, privacy, user, html_url, subtitle, lyricist, composer, description, tags, creation_type, license, license_text, duration_time, number_measures, main_tempo_qpm, rights, collaborators, creation_date, modification_date, publication_date, organization, parent_score, instruments, google_drive_file_id, likes, comments, views].hash
|
359
|
+
end
|
360
|
+
|
361
|
+
# Builds the object from hash
|
362
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
363
|
+
# @return [Object] Returns the model itself
|
364
|
+
def build_from_hash(attributes)
|
365
|
+
return nil unless attributes.is_a?(Hash)
|
366
|
+
self.class.swagger_types.each_pair do |key, type|
|
367
|
+
if type =~ /\AArray<(.*)>/i
|
368
|
+
# check to ensure the input is an array given that the the attribute
|
369
|
+
# is documented as an array but the input is not
|
370
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
371
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
|
372
|
+
end
|
373
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
374
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
375
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
376
|
+
end
|
377
|
+
|
378
|
+
self
|
379
|
+
end
|
380
|
+
|
381
|
+
# Deserializes the data based on type
|
382
|
+
# @param string type Data type
|
383
|
+
# @param string value Value to be deserialized
|
384
|
+
# @return [Object] Deserialized data
|
385
|
+
def _deserialize(type, value)
|
386
|
+
case type.to_sym
|
387
|
+
when :DateTime
|
388
|
+
DateTime.parse(value)
|
389
|
+
when :Date
|
390
|
+
Date.parse(value)
|
391
|
+
when :String
|
392
|
+
value.to_s
|
393
|
+
when :Integer
|
394
|
+
value.to_i
|
395
|
+
when :Float
|
396
|
+
value.to_f
|
397
|
+
when :BOOLEAN
|
398
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
399
|
+
true
|
400
|
+
else
|
401
|
+
false
|
402
|
+
end
|
403
|
+
when :Object
|
404
|
+
# generic object (usually a Hash), return directly
|
405
|
+
value
|
406
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
407
|
+
inner_type = Regexp.last_match[:inner_type]
|
408
|
+
value.map { |v| _deserialize(inner_type, v) }
|
409
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
410
|
+
k_type = Regexp.last_match[:k_type]
|
411
|
+
v_type = Regexp.last_match[:v_type]
|
412
|
+
{}.tap do |hash|
|
413
|
+
value.each do |k, v|
|
414
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
415
|
+
end
|
416
|
+
end
|
417
|
+
else # model
|
418
|
+
temp_model = SwaggerClient.const_get(type).new
|
419
|
+
temp_model.build_from_hash(value)
|
420
|
+
end
|
421
|
+
end
|
422
|
+
|
423
|
+
# Returns the string representation of the object
|
424
|
+
# @return [String] String presentation of the object
|
425
|
+
def to_s
|
426
|
+
to_hash.to_s
|
427
|
+
end
|
428
|
+
|
429
|
+
# to_body is an alias to to_hash (backward compatibility)
|
430
|
+
# @return [Hash] Returns the object in the form of hash
|
431
|
+
def to_body
|
432
|
+
to_hash
|
433
|
+
end
|
434
|
+
|
435
|
+
# Returns the object in the form of hash
|
436
|
+
# @return [Hash] Returns the object in the form of hash
|
437
|
+
def to_hash
|
438
|
+
hash = {}
|
439
|
+
self.class.attribute_map.each_pair do |attr, param|
|
440
|
+
value = self.send(attr)
|
441
|
+
next if value.nil?
|
442
|
+
hash[param] = _to_hash(value)
|
443
|
+
end
|
444
|
+
hash
|
445
|
+
end
|
446
|
+
|
447
|
+
# Outputs non-array value in the form of hash
|
448
|
+
# For object, use to_hash. Otherwise, just return the value
|
449
|
+
# @param [Object] value Any valid value
|
450
|
+
# @return [Hash] Returns the value in the form of hash
|
451
|
+
def _to_hash(value)
|
452
|
+
if value.is_a?(Array)
|
453
|
+
value.compact.map{ |v| _to_hash(v) }
|
454
|
+
elsif value.is_a?(Hash)
|
455
|
+
{}.tap do |hash|
|
456
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
457
|
+
end
|
458
|
+
elsif value.respond_to? :to_hash
|
459
|
+
value.to_hash
|
460
|
+
else
|
461
|
+
value
|
462
|
+
end
|
463
|
+
end
|
464
|
+
|
465
|
+
end
|
466
|
+
|
467
|
+
end
|