songtradr_api_client_ruby 1.13.7 → 1.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (243) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +5 -5
  3. data/README.md +5 -37
  4. data/docs/FileSmallDTO.md +2 -2
  5. data/docs/MusicalFeaturesDTO.md +25 -25
  6. data/docs/PlaylistApi.md +0 -214
  7. data/docs/RecordingApi.md +2 -204
  8. data/docs/RecordingGenrePredictionDTO.md +3 -3
  9. data/docs/RecordingMediumDTO.md +2 -2
  10. data/docs/RecordingPartyDTO.md +3 -3
  11. data/docs/UserApi.md +8 -456
  12. data/lib/songtradr_api_client_ruby/api/allowed_values_api.rb +2 -2
  13. data/lib/songtradr_api_client_ruby/api/playlist_api.rb +2 -202
  14. data/lib/songtradr_api_client_ruby/api/recording_api.rb +6 -191
  15. data/lib/songtradr_api_client_ruby/api/user_api.rb +161 -749
  16. data/lib/songtradr_api_client_ruby/api_client.rb +38 -36
  17. data/lib/songtradr_api_client_ruby/api_error.rb +2 -2
  18. data/lib/songtradr_api_client_ruby/configuration.rb +2 -2
  19. data/lib/songtradr_api_client_ruby/models/age_range.rb +3 -3
  20. data/lib/songtradr_api_client_ruby/models/beard.rb +3 -3
  21. data/lib/songtradr_api_client_ruby/models/bounding_box.rb +3 -3
  22. data/lib/songtradr_api_client_ruby/models/category_medium_dto.rb +3 -3
  23. data/lib/songtradr_api_client_ruby/models/category_minimal_dto.rb +3 -3
  24. data/lib/songtradr_api_client_ruby/models/config_access_dto.rb +3 -3
  25. data/lib/songtradr_api_client_ruby/models/config_identifier_dto.rb +3 -3
  26. data/lib/songtradr_api_client_ruby/models/contributor_type_dto.rb +3 -3
  27. data/lib/songtradr_api_client_ruby/models/curate_playlist_dto.rb +3 -3
  28. data/lib/songtradr_api_client_ruby/models/curate_playlist_response_dto.rb +3 -3
  29. data/lib/songtradr_api_client_ruby/models/dominant_color.rb +3 -3
  30. data/lib/songtradr_api_client_ruby/models/emotion.rb +3 -3
  31. data/lib/songtradr_api_client_ruby/models/error_response.rb +3 -3
  32. data/lib/songtradr_api_client_ruby/models/eye_direction.rb +3 -3
  33. data/lib/songtradr_api_client_ruby/models/eye_open.rb +3 -3
  34. data/lib/songtradr_api_client_ruby/models/eyeglasses.rb +3 -3
  35. data/lib/songtradr_api_client_ruby/models/face_detail.rb +3 -3
  36. data/lib/songtradr_api_client_ruby/models/face_detection.rb +3 -3
  37. data/lib/songtradr_api_client_ruby/models/face_occluded.rb +3 -3
  38. data/lib/songtradr_api_client_ruby/models/field_summary_dto.rb +3 -3
  39. data/lib/songtradr_api_client_ruby/models/file_dto.rb +3 -3
  40. data/lib/songtradr_api_client_ruby/models/file_list_dto.rb +3 -3
  41. data/lib/songtradr_api_client_ruby/models/file_small_dto.rb +15 -15
  42. data/lib/songtradr_api_client_ruby/models/file_upload_dto.rb +3 -3
  43. data/lib/songtradr_api_client_ruby/models/file_w_ith_url_dto.rb +3 -3
  44. data/lib/songtradr_api_client_ruby/models/files_summary_dto.rb +3 -3
  45. data/lib/songtradr_api_client_ruby/models/forgot_password_dto.rb +3 -3
  46. data/lib/songtradr_api_client_ruby/models/gender.rb +3 -3
  47. data/lib/songtradr_api_client_ruby/models/genre_dto.rb +3 -3
  48. data/lib/songtradr_api_client_ruby/models/genre_minimal_dto.rb +3 -3
  49. data/lib/songtradr_api_client_ruby/models/genres_summary_dto.rb +3 -3
  50. data/lib/songtradr_api_client_ruby/models/image_quality.rb +3 -3
  51. data/lib/songtradr_api_client_ruby/models/image_recognition_response.rb +3 -3
  52. data/lib/songtradr_api_client_ruby/models/init_put_recording_audio_dto.rb +3 -3
  53. data/lib/songtradr_api_client_ruby/models/instance.rb +3 -3
  54. data/lib/songtradr_api_client_ruby/models/jwt_token_dto.rb +3 -3
  55. data/lib/songtradr_api_client_ruby/models/label.rb +3 -3
  56. data/lib/songtradr_api_client_ruby/models/label_alias.rb +3 -3
  57. data/lib/songtradr_api_client_ruby/models/label_category.rb +3 -3
  58. data/lib/songtradr_api_client_ruby/models/label_detection.rb +3 -3
  59. data/lib/songtradr_api_client_ruby/models/landmark.rb +3 -3
  60. data/lib/songtradr_api_client_ruby/models/login_dto.rb +3 -3
  61. data/lib/songtradr_api_client_ruby/models/mouth_open.rb +3 -3
  62. data/lib/songtradr_api_client_ruby/models/musical_features_dto.rb +270 -270
  63. data/lib/songtradr_api_client_ruby/models/mustache.rb +3 -3
  64. data/lib/songtradr_api_client_ruby/models/parent.rb +3 -3
  65. data/lib/songtradr_api_client_ruby/models/party_small_dto.rb +3 -3
  66. data/lib/songtradr_api_client_ruby/models/pose.rb +3 -3
  67. data/lib/songtradr_api_client_ruby/models/recording_for_similarity_search_dto.rb +3 -3
  68. data/lib/songtradr_api_client_ruby/models/recording_genre_prediction_dto.rb +23 -23
  69. data/lib/songtradr_api_client_ruby/models/recording_list_dto.rb +3 -3
  70. data/lib/songtradr_api_client_ruby/models/recording_medium_dto.rb +13 -13
  71. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_musical_features_dto.rb +3 -3
  72. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_taggrams_dto.rb +3 -3
  73. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_tagstrengths_dto.rb +3 -3
  74. data/lib/songtradr_api_client_ruby/models/recording_party_dto.rb +18 -18
  75. data/lib/songtradr_api_client_ruby/models/recording_small_dto.rb +3 -3
  76. data/lib/songtradr_api_client_ruby/models/recording_tag_small_dto.rb +3 -3
  77. data/lib/songtradr_api_client_ruby/models/save_user_dto.rb +3 -3
  78. data/lib/songtradr_api_client_ruby/models/search_filter_values_dto.rb +3 -3
  79. data/lib/songtradr_api_client_ruby/models/search_recording_granular_dto.rb +3 -3
  80. data/lib/songtradr_api_client_ruby/models/sign_up_dto.rb +3 -3
  81. data/lib/songtradr_api_client_ruby/models/smile.rb +3 -3
  82. data/lib/songtradr_api_client_ruby/models/sunglasses.rb +3 -3
  83. data/lib/songtradr_api_client_ruby/models/tag_dto.rb +3 -3
  84. data/lib/songtradr_api_client_ruby/models/tag_small_dto.rb +3 -3
  85. data/lib/songtradr_api_client_ruby/models/taggram_dto.rb +3 -3
  86. data/lib/songtradr_api_client_ruby/models/tags_summary_dto.rb +3 -3
  87. data/lib/songtradr_api_client_ruby/models/tagstrength_dto.rb +3 -3
  88. data/lib/songtradr_api_client_ruby/models/title_dto.rb +3 -3
  89. data/lib/songtradr_api_client_ruby/models/token_request.rb +3 -3
  90. data/lib/songtradr_api_client_ruby/models/track_dto.rb +3 -3
  91. data/lib/songtradr_api_client_ruby/models/update_password_dto.rb +3 -3
  92. data/lib/songtradr_api_client_ruby/models/user_dto.rb +3 -3
  93. data/lib/songtradr_api_client_ruby/models/video_recognition_response.rb +3 -3
  94. data/lib/songtradr_api_client_ruby/version.rb +3 -3
  95. data/lib/songtradr_api_client_ruby.rb +2 -23
  96. data/openapi-generator-config.yaml +1 -1
  97. data/songtradr_api_client_ruby.gemspec +3 -2
  98. data/spec/api/allowed_values_api_spec.rb +2 -2
  99. data/spec/api/playlist_api_spec.rb +2 -39
  100. data/spec/api/recording_api_spec.rb +3 -35
  101. data/spec/api/user_api_spec.rb +6 -111
  102. data/spec/api_client_spec.rb +2 -2
  103. data/spec/configuration_spec.rb +2 -2
  104. data/spec/models/age_range_spec.rb +2 -2
  105. data/spec/models/beard_spec.rb +2 -2
  106. data/spec/models/bounding_box_spec.rb +2 -2
  107. data/spec/models/category_medium_dto_spec.rb +2 -2
  108. data/spec/models/category_minimal_dto_spec.rb +2 -2
  109. data/spec/models/config_access_dto_spec.rb +2 -2
  110. data/spec/models/config_identifier_dto_spec.rb +2 -2
  111. data/spec/models/contributor_type_dto_spec.rb +2 -2
  112. data/spec/models/curate_playlist_dto_spec.rb +2 -2
  113. data/spec/models/curate_playlist_response_dto_spec.rb +2 -2
  114. data/spec/models/dominant_color_spec.rb +2 -2
  115. data/spec/models/emotion_spec.rb +2 -2
  116. data/spec/models/error_response_spec.rb +2 -2
  117. data/spec/models/eye_direction_spec.rb +2 -2
  118. data/spec/models/eye_open_spec.rb +2 -2
  119. data/spec/models/eyeglasses_spec.rb +2 -2
  120. data/spec/models/face_detail_spec.rb +2 -2
  121. data/spec/models/face_detection_spec.rb +2 -2
  122. data/spec/models/face_occluded_spec.rb +2 -2
  123. data/spec/models/field_summary_dto_spec.rb +2 -2
  124. data/spec/models/file_dto_spec.rb +2 -2
  125. data/spec/models/file_list_dto_spec.rb +2 -2
  126. data/spec/models/file_small_dto_spec.rb +5 -5
  127. data/spec/models/file_upload_dto_spec.rb +2 -2
  128. data/spec/models/file_w_ith_url_dto_spec.rb +2 -2
  129. data/spec/models/files_summary_dto_spec.rb +2 -2
  130. data/spec/models/forgot_password_dto_spec.rb +2 -2
  131. data/spec/models/gender_spec.rb +2 -2
  132. data/spec/models/genre_dto_spec.rb +2 -2
  133. data/spec/models/genre_minimal_dto_spec.rb +2 -2
  134. data/spec/models/genres_summary_dto_spec.rb +2 -2
  135. data/spec/models/image_quality_spec.rb +2 -2
  136. data/spec/models/image_recognition_response_spec.rb +2 -2
  137. data/spec/models/init_put_recording_audio_dto_spec.rb +2 -2
  138. data/spec/models/instance_spec.rb +2 -2
  139. data/spec/models/jwt_token_dto_spec.rb +2 -2
  140. data/spec/models/label_alias_spec.rb +2 -2
  141. data/spec/models/label_category_spec.rb +2 -2
  142. data/spec/models/label_detection_spec.rb +2 -2
  143. data/spec/models/label_spec.rb +2 -2
  144. data/spec/models/landmark_spec.rb +2 -2
  145. data/spec/models/login_dto_spec.rb +2 -2
  146. data/spec/models/mouth_open_spec.rb +2 -2
  147. data/spec/models/musical_features_dto_spec.rb +81 -81
  148. data/spec/models/mustache_spec.rb +2 -2
  149. data/spec/models/parent_spec.rb +2 -2
  150. data/spec/models/party_small_dto_spec.rb +2 -2
  151. data/spec/models/pose_spec.rb +2 -2
  152. data/spec/models/recording_for_similarity_search_dto_spec.rb +2 -2
  153. data/spec/models/recording_genre_prediction_dto_spec.rb +5 -5
  154. data/spec/models/recording_list_dto_spec.rb +2 -2
  155. data/spec/models/recording_medium_dto_spec.rb +4 -4
  156. data/spec/models/recording_minimal_with_musical_features_dto_spec.rb +2 -2
  157. data/spec/models/recording_minimal_with_taggrams_dto_spec.rb +2 -2
  158. data/spec/models/recording_minimal_with_tagstrengths_dto_spec.rb +2 -2
  159. data/spec/models/recording_party_dto_spec.rb +4 -4
  160. data/spec/models/recording_small_dto_spec.rb +2 -2
  161. data/spec/models/recording_tag_small_dto_spec.rb +2 -2
  162. data/spec/models/save_user_dto_spec.rb +2 -2
  163. data/spec/models/search_filter_values_dto_spec.rb +2 -2
  164. data/spec/models/search_recording_granular_dto_spec.rb +2 -2
  165. data/spec/models/sign_up_dto_spec.rb +2 -2
  166. data/spec/models/smile_spec.rb +2 -2
  167. data/spec/models/sunglasses_spec.rb +2 -2
  168. data/spec/models/tag_dto_spec.rb +2 -2
  169. data/spec/models/tag_small_dto_spec.rb +2 -2
  170. data/spec/models/taggram_dto_spec.rb +2 -2
  171. data/spec/models/tags_summary_dto_spec.rb +2 -2
  172. data/spec/models/tagstrength_dto_spec.rb +2 -2
  173. data/spec/models/title_dto_spec.rb +2 -2
  174. data/spec/models/token_request_spec.rb +2 -2
  175. data/spec/models/track_dto_spec.rb +2 -2
  176. data/spec/models/update_password_dto_spec.rb +2 -2
  177. data/spec/models/user_dto_spec.rb +2 -2
  178. data/spec/models/video_recognition_response_spec.rb +2 -2
  179. data/spec/spec_helper.rb +2 -2
  180. metadata +65 -149
  181. data/docs/ContextValue.md +0 -18
  182. data/docs/FileMinimalWithUrlDTO.md +0 -22
  183. data/docs/PLineDTO.md +0 -20
  184. data/docs/PartyApi.md +0 -75
  185. data/docs/PartyLargeDTO.md +0 -32
  186. data/docs/PlaylistLargeDTO.md +0 -38
  187. data/docs/ProductMediumDTO.md +0 -34
  188. data/docs/ProductPartyDTO.md +0 -20
  189. data/docs/RecordingLargeDTO.md +0 -40
  190. data/docs/RecordingPlaylistDTO.md +0 -24
  191. data/docs/SaveFileRecordingDTO.md +0 -240
  192. data/docs/SavePlaylistDTO.md +0 -34
  193. data/docs/SaveRecordingGenreDTO.md +0 -22
  194. data/docs/SaveRecordingPartyDTO.md +0 -20
  195. data/docs/SaveRecordingPlaylistDTO.md +0 -22
  196. data/docs/SaveRecordingTagDTO.md +0 -20
  197. data/docs/SaveReferrerDTO.md +0 -20
  198. data/docs/SaveTaggramsDTO.md +0 -82
  199. data/docs/SearchRecordingGranularAbstractionDTO.md +0 -20
  200. data/docs/TrackToMediumProductDTO.md +0 -22
  201. data/docs/UsageDTO.md +0 -18
  202. data/lib/songtradr_api_client_ruby/api/party_api.rb +0 -84
  203. data/lib/songtradr_api_client_ruby/models/context_value.rb +0 -216
  204. data/lib/songtradr_api_client_ruby/models/file_minimal_with_url_dto.rb +0 -254
  205. data/lib/songtradr_api_client_ruby/models/p_line_dto.rb +0 -231
  206. data/lib/songtradr_api_client_ruby/models/party_large_dto.rb +0 -285
  207. data/lib/songtradr_api_client_ruby/models/playlist_large_dto.rb +0 -350
  208. data/lib/songtradr_api_client_ruby/models/product_medium_dto.rb +0 -323
  209. data/lib/songtradr_api_client_ruby/models/product_party_dto.rb +0 -233
  210. data/lib/songtradr_api_client_ruby/models/recording_large_dto.rb +0 -383
  211. data/lib/songtradr_api_client_ruby/models/recording_playlist_dto.rb +0 -242
  212. data/lib/songtradr_api_client_ruby/models/save_file_recording_dto.rb +0 -1864
  213. data/lib/songtradr_api_client_ruby/models/save_playlist_dto.rb +0 -353
  214. data/lib/songtradr_api_client_ruby/models/save_recording_genre_dto.rb +0 -240
  215. data/lib/songtradr_api_client_ruby/models/save_recording_party_dto.rb +0 -272
  216. data/lib/songtradr_api_client_ruby/models/save_recording_playlist_dto.rb +0 -247
  217. data/lib/songtradr_api_client_ruby/models/save_recording_tag_dto.rb +0 -231
  218. data/lib/songtradr_api_client_ruby/models/save_referrer_dto.rb +0 -224
  219. data/lib/songtradr_api_client_ruby/models/save_taggrams_dto.rb +0 -569
  220. data/lib/songtradr_api_client_ruby/models/search_recording_granular_abstraction_dto.rb +0 -267
  221. data/lib/songtradr_api_client_ruby/models/track_to_medium_product_dto.rb +0 -247
  222. data/lib/songtradr_api_client_ruby/models/usage_dto.rb +0 -215
  223. data/spec/api/party_api_spec.rb +0 -46
  224. data/spec/models/context_value_spec.rb +0 -36
  225. data/spec/models/file_minimal_with_url_dto_spec.rb +0 -48
  226. data/spec/models/p_line_dto_spec.rb +0 -42
  227. data/spec/models/party_large_dto_spec.rb +0 -78
  228. data/spec/models/playlist_large_dto_spec.rb +0 -100
  229. data/spec/models/product_medium_dto_spec.rb +0 -84
  230. data/spec/models/product_party_dto_spec.rb +0 -42
  231. data/spec/models/recording_large_dto_spec.rb +0 -102
  232. data/spec/models/recording_playlist_dto_spec.rb +0 -54
  233. data/spec/models/save_file_recording_dto_spec.rb +0 -894
  234. data/spec/models/save_playlist_dto_spec.rb +0 -88
  235. data/spec/models/save_recording_genre_dto_spec.rb +0 -48
  236. data/spec/models/save_recording_party_dto_spec.rb +0 -46
  237. data/spec/models/save_recording_playlist_dto_spec.rb +0 -48
  238. data/spec/models/save_recording_tag_dto_spec.rb +0 -42
  239. data/spec/models/save_referrer_dto_spec.rb +0 -42
  240. data/spec/models/save_taggrams_dto_spec.rb +0 -228
  241. data/spec/models/search_recording_granular_abstraction_dto_spec.rb +0 -46
  242. data/spec/models/track_to_medium_product_dto_spec.rb +0 -48
  243. data/spec/models/usage_dto_spec.rb +0 -36
@@ -1,569 +0,0 @@
1
- =begin
2
- #Songtradr API
3
-
4
- #This is the Songtradr API. Use it to retrieve deep music metadata and trigger processes like auto-tagging. You can also use the API to manage your account and musicube cloud data. **Authentication** 1. Reach out to support@songtradr.com to receive a free account or use your login data if you are already signed up. 2. To authenticate, you need to login via the POST /api/v1/user/login endpoint. 3. The endpoint responds with a jwtToken which you can use in all following API requests as a bearer token. **Rate Limiting** The current limit is 120 Requests per minute. Reach out to us via support@songtradr.com if you need to request more. **Getting Started with auto-tagging** 1. If you want to get your own files auto-tagged, use the POST /api/v1/user/file/{name}/initUpload endpoint. It responds with a presigned S3 link where you can upload your file. 2. You can check the processing status of your file via the GET /api/v1/user/file/{name}/filesStatus endpoint. 3. As soon as processing is done, you can request the generated data via the GET /api/v1/user/files endpoint. **Getting Started with search** You can either search the released music via the /public/recording endpoints or your own private uploaded music via the /user/file/ endpoints. 1. If you want to search the world's released music, a good starting point is the GET /api/v1/public/recording/search endpoint. Please find the extensive list of parameters that serve as semantic search filters. 2. If you want to search your own previously uploaded music, a good starting point is the GET GET /api/v1/user/files endpoint. It has the same extensive list of parameters that serve as semantic search filters.
5
-
6
- The version of the OpenAPI document: 1.13.7
7
- Contact: info@songtradr.com
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.1.0-SNAPSHOT
10
-
11
- =end
12
-
13
- require 'date'
14
- require 'time'
15
-
16
- module SongtradrApiClientRuby
17
- # Timeseries of tags.
18
- class SaveTaggramsDTO
19
- attr_accessor :timestamps
20
-
21
- attr_accessor :level1_genre
22
-
23
- attr_accessor :level2_genre
24
-
25
- attr_accessor :song_rating
26
-
27
- attr_accessor :performance_rating
28
-
29
- attr_accessor :production_rating
30
-
31
- attr_accessor :mood_cluster
32
-
33
- attr_accessor :vocals
34
-
35
- attr_accessor :dominant_instrument
36
-
37
- attr_accessor :sound_generation
38
-
39
- attr_accessor :rhythm
40
-
41
- attr_accessor :tonality
42
-
43
- attr_accessor :audience_age
44
-
45
- attr_accessor :audience_gender
46
-
47
- attr_accessor :audience_region
48
-
49
- attr_accessor :origin_region
50
-
51
- attr_accessor :origin_decade
52
-
53
- attr_accessor :language_of_performance
54
-
55
- attr_accessor :arousal
56
-
57
- attr_accessor :valence
58
-
59
- attr_accessor :pleasantness
60
-
61
- attr_accessor :engagement
62
-
63
- attr_accessor :energy
64
-
65
- attr_accessor :timbre
66
-
67
- attr_accessor :roughness
68
-
69
- attr_accessor :harmony
70
-
71
- attr_accessor :texture
72
-
73
- attr_accessor :groovyness
74
-
75
- attr_accessor :space
76
-
77
- attr_accessor :curateability
78
-
79
- attr_accessor :use_case
80
-
81
- attr_accessor :social_media
82
-
83
- attr_accessor :industry_suitability
84
-
85
- # Attribute mapping from ruby-style variable name to JSON key.
86
- def self.attribute_map
87
- {
88
- :'timestamps' => :'timestamps',
89
- :'level1_genre' => :'level1Genre',
90
- :'level2_genre' => :'level2Genre',
91
- :'song_rating' => :'songRating',
92
- :'performance_rating' => :'performanceRating',
93
- :'production_rating' => :'productionRating',
94
- :'mood_cluster' => :'moodCluster',
95
- :'vocals' => :'vocals',
96
- :'dominant_instrument' => :'dominantInstrument',
97
- :'sound_generation' => :'soundGeneration',
98
- :'rhythm' => :'rhythm',
99
- :'tonality' => :'tonality',
100
- :'audience_age' => :'audienceAge',
101
- :'audience_gender' => :'audienceGender',
102
- :'audience_region' => :'audienceRegion',
103
- :'origin_region' => :'originRegion',
104
- :'origin_decade' => :'originDecade',
105
- :'language_of_performance' => :'languageOfPerformance',
106
- :'arousal' => :'arousal',
107
- :'valence' => :'valence',
108
- :'pleasantness' => :'pleasantness',
109
- :'engagement' => :'engagement',
110
- :'energy' => :'energy',
111
- :'timbre' => :'timbre',
112
- :'roughness' => :'roughness',
113
- :'harmony' => :'harmony',
114
- :'texture' => :'texture',
115
- :'groovyness' => :'groovyness',
116
- :'space' => :'space',
117
- :'curateability' => :'curateability',
118
- :'use_case' => :'useCase',
119
- :'social_media' => :'socialMedia',
120
- :'industry_suitability' => :'industrySuitability'
121
- }
122
- end
123
-
124
- # Returns all the JSON keys this model knows about
125
- def self.acceptable_attributes
126
- attribute_map.values
127
- end
128
-
129
- # Attribute type mapping.
130
- def self.openapi_types
131
- {
132
- :'timestamps' => :'Array<Float>',
133
- :'level1_genre' => :'Hash<String, Array<Float>>',
134
- :'level2_genre' => :'Hash<String, Array<Float>>',
135
- :'song_rating' => :'Hash<String, Array<Float>>',
136
- :'performance_rating' => :'Hash<String, Array<Float>>',
137
- :'production_rating' => :'Hash<String, Array<Float>>',
138
- :'mood_cluster' => :'Hash<String, Array<Float>>',
139
- :'vocals' => :'Hash<String, Array<Float>>',
140
- :'dominant_instrument' => :'Hash<String, Array<Float>>',
141
- :'sound_generation' => :'Hash<String, Array<Float>>',
142
- :'rhythm' => :'Hash<String, Array<Float>>',
143
- :'tonality' => :'Hash<String, Array<Float>>',
144
- :'audience_age' => :'Hash<String, Array<Float>>',
145
- :'audience_gender' => :'Hash<String, Array<Float>>',
146
- :'audience_region' => :'Hash<String, Array<Float>>',
147
- :'origin_region' => :'Hash<String, Array<Float>>',
148
- :'origin_decade' => :'Hash<String, Array<Float>>',
149
- :'language_of_performance' => :'Hash<String, Array<Float>>',
150
- :'arousal' => :'Hash<String, Array<Float>>',
151
- :'valence' => :'Hash<String, Array<Float>>',
152
- :'pleasantness' => :'Hash<String, Array<Float>>',
153
- :'engagement' => :'Hash<String, Array<Float>>',
154
- :'energy' => :'Hash<String, Array<Float>>',
155
- :'timbre' => :'Hash<String, Array<Float>>',
156
- :'roughness' => :'Hash<String, Array<Float>>',
157
- :'harmony' => :'Hash<String, Array<Float>>',
158
- :'texture' => :'Hash<String, Array<Float>>',
159
- :'groovyness' => :'Hash<String, Array<Float>>',
160
- :'space' => :'Hash<String, Array<Float>>',
161
- :'curateability' => :'Hash<String, Array<Float>>',
162
- :'use_case' => :'Hash<String, Array<Float>>',
163
- :'social_media' => :'Hash<String, Array<Float>>',
164
- :'industry_suitability' => :'Hash<String, Array<Float>>'
165
- }
166
- end
167
-
168
- # List of attributes with nullable: true
169
- def self.openapi_nullable
170
- Set.new([
171
- ])
172
- end
173
-
174
- # Initializes the object
175
- # @param [Hash] attributes Model attributes in the form of hash
176
- def initialize(attributes = {})
177
- if (!attributes.is_a?(Hash))
178
- fail ArgumentError, "The input argument (attributes) must be a hash in `SongtradrApiClientRuby::SaveTaggramsDTO` initialize method"
179
- end
180
-
181
- # check to see if the attribute exists and convert string to symbol for hash key
182
- attributes = attributes.each_with_object({}) { |(k, v), h|
183
- if (!self.class.attribute_map.key?(k.to_sym))
184
- fail ArgumentError, "`#{k}` is not a valid attribute in `SongtradrApiClientRuby::SaveTaggramsDTO`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
185
- end
186
- h[k.to_sym] = v
187
- }
188
-
189
- if attributes.key?(:'timestamps')
190
- if (value = attributes[:'timestamps']).is_a?(Array)
191
- self.timestamps = value
192
- end
193
- end
194
-
195
- if attributes.key?(:'level1_genre')
196
- if (value = attributes[:'level1_genre']).is_a?(Hash)
197
- self.level1_genre = value
198
- end
199
- end
200
-
201
- if attributes.key?(:'level2_genre')
202
- if (value = attributes[:'level2_genre']).is_a?(Hash)
203
- self.level2_genre = value
204
- end
205
- end
206
-
207
- if attributes.key?(:'song_rating')
208
- if (value = attributes[:'song_rating']).is_a?(Hash)
209
- self.song_rating = value
210
- end
211
- end
212
-
213
- if attributes.key?(:'performance_rating')
214
- if (value = attributes[:'performance_rating']).is_a?(Hash)
215
- self.performance_rating = value
216
- end
217
- end
218
-
219
- if attributes.key?(:'production_rating')
220
- if (value = attributes[:'production_rating']).is_a?(Hash)
221
- self.production_rating = value
222
- end
223
- end
224
-
225
- if attributes.key?(:'mood_cluster')
226
- if (value = attributes[:'mood_cluster']).is_a?(Hash)
227
- self.mood_cluster = value
228
- end
229
- end
230
-
231
- if attributes.key?(:'vocals')
232
- if (value = attributes[:'vocals']).is_a?(Hash)
233
- self.vocals = value
234
- end
235
- end
236
-
237
- if attributes.key?(:'dominant_instrument')
238
- if (value = attributes[:'dominant_instrument']).is_a?(Hash)
239
- self.dominant_instrument = value
240
- end
241
- end
242
-
243
- if attributes.key?(:'sound_generation')
244
- if (value = attributes[:'sound_generation']).is_a?(Hash)
245
- self.sound_generation = value
246
- end
247
- end
248
-
249
- if attributes.key?(:'rhythm')
250
- if (value = attributes[:'rhythm']).is_a?(Hash)
251
- self.rhythm = value
252
- end
253
- end
254
-
255
- if attributes.key?(:'tonality')
256
- if (value = attributes[:'tonality']).is_a?(Hash)
257
- self.tonality = value
258
- end
259
- end
260
-
261
- if attributes.key?(:'audience_age')
262
- if (value = attributes[:'audience_age']).is_a?(Hash)
263
- self.audience_age = value
264
- end
265
- end
266
-
267
- if attributes.key?(:'audience_gender')
268
- if (value = attributes[:'audience_gender']).is_a?(Hash)
269
- self.audience_gender = value
270
- end
271
- end
272
-
273
- if attributes.key?(:'audience_region')
274
- if (value = attributes[:'audience_region']).is_a?(Hash)
275
- self.audience_region = value
276
- end
277
- end
278
-
279
- if attributes.key?(:'origin_region')
280
- if (value = attributes[:'origin_region']).is_a?(Hash)
281
- self.origin_region = value
282
- end
283
- end
284
-
285
- if attributes.key?(:'origin_decade')
286
- if (value = attributes[:'origin_decade']).is_a?(Hash)
287
- self.origin_decade = value
288
- end
289
- end
290
-
291
- if attributes.key?(:'language_of_performance')
292
- if (value = attributes[:'language_of_performance']).is_a?(Hash)
293
- self.language_of_performance = value
294
- end
295
- end
296
-
297
- if attributes.key?(:'arousal')
298
- if (value = attributes[:'arousal']).is_a?(Hash)
299
- self.arousal = value
300
- end
301
- end
302
-
303
- if attributes.key?(:'valence')
304
- if (value = attributes[:'valence']).is_a?(Hash)
305
- self.valence = value
306
- end
307
- end
308
-
309
- if attributes.key?(:'pleasantness')
310
- if (value = attributes[:'pleasantness']).is_a?(Hash)
311
- self.pleasantness = value
312
- end
313
- end
314
-
315
- if attributes.key?(:'engagement')
316
- if (value = attributes[:'engagement']).is_a?(Hash)
317
- self.engagement = value
318
- end
319
- end
320
-
321
- if attributes.key?(:'energy')
322
- if (value = attributes[:'energy']).is_a?(Hash)
323
- self.energy = value
324
- end
325
- end
326
-
327
- if attributes.key?(:'timbre')
328
- if (value = attributes[:'timbre']).is_a?(Hash)
329
- self.timbre = value
330
- end
331
- end
332
-
333
- if attributes.key?(:'roughness')
334
- if (value = attributes[:'roughness']).is_a?(Hash)
335
- self.roughness = value
336
- end
337
- end
338
-
339
- if attributes.key?(:'harmony')
340
- if (value = attributes[:'harmony']).is_a?(Hash)
341
- self.harmony = value
342
- end
343
- end
344
-
345
- if attributes.key?(:'texture')
346
- if (value = attributes[:'texture']).is_a?(Hash)
347
- self.texture = value
348
- end
349
- end
350
-
351
- if attributes.key?(:'groovyness')
352
- if (value = attributes[:'groovyness']).is_a?(Hash)
353
- self.groovyness = value
354
- end
355
- end
356
-
357
- if attributes.key?(:'space')
358
- if (value = attributes[:'space']).is_a?(Hash)
359
- self.space = value
360
- end
361
- end
362
-
363
- if attributes.key?(:'curateability')
364
- if (value = attributes[:'curateability']).is_a?(Hash)
365
- self.curateability = value
366
- end
367
- end
368
-
369
- if attributes.key?(:'use_case')
370
- if (value = attributes[:'use_case']).is_a?(Hash)
371
- self.use_case = value
372
- end
373
- end
374
-
375
- if attributes.key?(:'social_media')
376
- if (value = attributes[:'social_media']).is_a?(Hash)
377
- self.social_media = value
378
- end
379
- end
380
-
381
- if attributes.key?(:'industry_suitability')
382
- if (value = attributes[:'industry_suitability']).is_a?(Hash)
383
- self.industry_suitability = value
384
- end
385
- end
386
- end
387
-
388
- # Show invalid properties with the reasons. Usually used together with valid?
389
- # @return Array for valid properties with the reasons
390
- def list_invalid_properties
391
- warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
392
- invalid_properties = Array.new
393
- invalid_properties
394
- end
395
-
396
- # Check to see if the all the properties in the model are valid
397
- # @return true if the model is valid
398
- def valid?
399
- warn '[DEPRECATED] the `valid?` method is obsolete'
400
- true
401
- end
402
-
403
- # Checks equality by comparing each attribute.
404
- # @param [Object] Object to be compared
405
- def ==(o)
406
- return true if self.equal?(o)
407
- self.class == o.class &&
408
- timestamps == o.timestamps &&
409
- level1_genre == o.level1_genre &&
410
- level2_genre == o.level2_genre &&
411
- song_rating == o.song_rating &&
412
- performance_rating == o.performance_rating &&
413
- production_rating == o.production_rating &&
414
- mood_cluster == o.mood_cluster &&
415
- vocals == o.vocals &&
416
- dominant_instrument == o.dominant_instrument &&
417
- sound_generation == o.sound_generation &&
418
- rhythm == o.rhythm &&
419
- tonality == o.tonality &&
420
- audience_age == o.audience_age &&
421
- audience_gender == o.audience_gender &&
422
- audience_region == o.audience_region &&
423
- origin_region == o.origin_region &&
424
- origin_decade == o.origin_decade &&
425
- language_of_performance == o.language_of_performance &&
426
- arousal == o.arousal &&
427
- valence == o.valence &&
428
- pleasantness == o.pleasantness &&
429
- engagement == o.engagement &&
430
- energy == o.energy &&
431
- timbre == o.timbre &&
432
- roughness == o.roughness &&
433
- harmony == o.harmony &&
434
- texture == o.texture &&
435
- groovyness == o.groovyness &&
436
- space == o.space &&
437
- curateability == o.curateability &&
438
- use_case == o.use_case &&
439
- social_media == o.social_media &&
440
- industry_suitability == o.industry_suitability
441
- end
442
-
443
- # @see the `==` method
444
- # @param [Object] Object to be compared
445
- def eql?(o)
446
- self == o
447
- end
448
-
449
- # Calculates hash code according to all attributes.
450
- # @return [Integer] Hash code
451
- def hash
452
- [timestamps, level1_genre, level2_genre, song_rating, performance_rating, production_rating, mood_cluster, vocals, dominant_instrument, sound_generation, rhythm, tonality, audience_age, audience_gender, audience_region, origin_region, origin_decade, language_of_performance, arousal, valence, pleasantness, engagement, energy, timbre, roughness, harmony, texture, groovyness, space, curateability, use_case, social_media, industry_suitability].hash
453
- end
454
-
455
- # Builds the object from hash
456
- # @param [Hash] attributes Model attributes in the form of hash
457
- # @return [Object] Returns the model itself
458
- def self.build_from_hash(attributes)
459
- return nil unless attributes.is_a?(Hash)
460
- attributes = attributes.transform_keys(&:to_sym)
461
- transformed_hash = {}
462
- openapi_types.each_pair do |key, type|
463
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
464
- transformed_hash["#{key}"] = nil
465
- elsif type =~ /\AArray<(.*)>/i
466
- # check to ensure the input is an array given that the attribute
467
- # is documented as an array but the input is not
468
- if attributes[attribute_map[key]].is_a?(Array)
469
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
470
- end
471
- elsif !attributes[attribute_map[key]].nil?
472
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
473
- end
474
- end
475
- new(transformed_hash)
476
- end
477
-
478
- # Deserializes the data based on type
479
- # @param string type Data type
480
- # @param string value Value to be deserialized
481
- # @return [Object] Deserialized data
482
- def self._deserialize(type, value)
483
- case type.to_sym
484
- when :Time
485
- Time.parse(value)
486
- when :Date
487
- Date.parse(value)
488
- when :String
489
- value.to_s
490
- when :Integer
491
- value.to_i
492
- when :Float
493
- value.to_f
494
- when :Boolean
495
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
496
- true
497
- else
498
- false
499
- end
500
- when :Object
501
- # generic object (usually a Hash), return directly
502
- value
503
- when /\AArray<(?<inner_type>.+)>\z/
504
- inner_type = Regexp.last_match[:inner_type]
505
- value.map { |v| _deserialize(inner_type, v) }
506
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
507
- k_type = Regexp.last_match[:k_type]
508
- v_type = Regexp.last_match[:v_type]
509
- {}.tap do |hash|
510
- value.each do |k, v|
511
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
512
- end
513
- end
514
- else # model
515
- # models (e.g. Pet) or oneOf
516
- klass = SongtradrApiClientRuby.const_get(type)
517
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
518
- end
519
- end
520
-
521
- # Returns the string representation of the object
522
- # @return [String] String presentation of the object
523
- def to_s
524
- to_hash.to_s
525
- end
526
-
527
- # to_body is an alias to to_hash (backward compatibility)
528
- # @return [Hash] Returns the object in the form of hash
529
- def to_body
530
- to_hash
531
- end
532
-
533
- # Returns the object in the form of hash
534
- # @return [Hash] Returns the object in the form of hash
535
- def to_hash
536
- hash = {}
537
- self.class.attribute_map.each_pair do |attr, param|
538
- value = self.send(attr)
539
- if value.nil?
540
- is_nullable = self.class.openapi_nullable.include?(attr)
541
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
542
- end
543
-
544
- hash[param] = _to_hash(value)
545
- end
546
- hash
547
- end
548
-
549
- # Outputs non-array value in the form of hash
550
- # For object, use to_hash. Otherwise, just return the value
551
- # @param [Object] value Any valid value
552
- # @return [Hash] Returns the value in the form of hash
553
- def _to_hash(value)
554
- if value.is_a?(Array)
555
- value.compact.map { |v| _to_hash(v) }
556
- elsif value.is_a?(Hash)
557
- {}.tap do |hash|
558
- value.each { |k, v| hash[k] = _to_hash(v) }
559
- end
560
- elsif value.respond_to? :to_hash
561
- value.to_hash
562
- else
563
- value
564
- end
565
- end
566
-
567
- end
568
-
569
- end