songtradr_api_client_ruby 1.13.7 → 1.15.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 (241) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +5 -37
  4. data/docs/FileSmallDTO.md +7 -7
  5. data/docs/MusicalFeaturesDTO.md +2 -2
  6. data/docs/PlaylistApi.md +0 -214
  7. data/docs/RecordingApi.md +0 -204
  8. data/docs/RecordingMediumDTO.md +2 -2
  9. data/docs/UserApi.md +0 -456
  10. data/lib/songtradr_api_client_ruby/api/allowed_values_api.rb +1 -1
  11. data/lib/songtradr_api_client_ruby/api/playlist_api.rb +1 -201
  12. data/lib/songtradr_api_client_ruby/api/recording_api.rb +1 -189
  13. data/lib/songtradr_api_client_ruby/api/user_api.rb +134 -746
  14. data/lib/songtradr_api_client_ruby/api_client.rb +37 -35
  15. data/lib/songtradr_api_client_ruby/api_error.rb +1 -1
  16. data/lib/songtradr_api_client_ruby/configuration.rb +1 -1
  17. data/lib/songtradr_api_client_ruby/models/age_range.rb +2 -2
  18. data/lib/songtradr_api_client_ruby/models/beard.rb +2 -2
  19. data/lib/songtradr_api_client_ruby/models/bounding_box.rb +2 -2
  20. data/lib/songtradr_api_client_ruby/models/category_medium_dto.rb +2 -2
  21. data/lib/songtradr_api_client_ruby/models/category_minimal_dto.rb +2 -2
  22. data/lib/songtradr_api_client_ruby/models/config_access_dto.rb +2 -2
  23. data/lib/songtradr_api_client_ruby/models/config_identifier_dto.rb +2 -2
  24. data/lib/songtradr_api_client_ruby/models/contributor_type_dto.rb +2 -2
  25. data/lib/songtradr_api_client_ruby/models/curate_playlist_dto.rb +2 -2
  26. data/lib/songtradr_api_client_ruby/models/curate_playlist_response_dto.rb +2 -2
  27. data/lib/songtradr_api_client_ruby/models/dominant_color.rb +2 -2
  28. data/lib/songtradr_api_client_ruby/models/emotion.rb +2 -2
  29. data/lib/songtradr_api_client_ruby/models/error_response.rb +2 -2
  30. data/lib/songtradr_api_client_ruby/models/eye_direction.rb +2 -2
  31. data/lib/songtradr_api_client_ruby/models/eye_open.rb +2 -2
  32. data/lib/songtradr_api_client_ruby/models/eyeglasses.rb +2 -2
  33. data/lib/songtradr_api_client_ruby/models/face_detail.rb +2 -2
  34. data/lib/songtradr_api_client_ruby/models/face_detection.rb +2 -2
  35. data/lib/songtradr_api_client_ruby/models/face_occluded.rb +2 -2
  36. data/lib/songtradr_api_client_ruby/models/field_summary_dto.rb +2 -2
  37. data/lib/songtradr_api_client_ruby/models/file_dto.rb +2 -2
  38. data/lib/songtradr_api_client_ruby/models/file_list_dto.rb +2 -2
  39. data/lib/songtradr_api_client_ruby/models/file_small_dto.rb +36 -36
  40. data/lib/songtradr_api_client_ruby/models/file_upload_dto.rb +2 -2
  41. data/lib/songtradr_api_client_ruby/models/file_w_ith_url_dto.rb +2 -2
  42. data/lib/songtradr_api_client_ruby/models/files_summary_dto.rb +2 -2
  43. data/lib/songtradr_api_client_ruby/models/forgot_password_dto.rb +2 -2
  44. data/lib/songtradr_api_client_ruby/models/gender.rb +2 -2
  45. data/lib/songtradr_api_client_ruby/models/genre_dto.rb +2 -2
  46. data/lib/songtradr_api_client_ruby/models/genre_minimal_dto.rb +2 -2
  47. data/lib/songtradr_api_client_ruby/models/genres_summary_dto.rb +2 -2
  48. data/lib/songtradr_api_client_ruby/models/image_quality.rb +2 -2
  49. data/lib/songtradr_api_client_ruby/models/image_recognition_response.rb +2 -2
  50. data/lib/songtradr_api_client_ruby/models/init_put_recording_audio_dto.rb +2 -2
  51. data/lib/songtradr_api_client_ruby/models/instance.rb +2 -2
  52. data/lib/songtradr_api_client_ruby/models/jwt_token_dto.rb +2 -2
  53. data/lib/songtradr_api_client_ruby/models/label.rb +2 -2
  54. data/lib/songtradr_api_client_ruby/models/label_alias.rb +2 -2
  55. data/lib/songtradr_api_client_ruby/models/label_category.rb +2 -2
  56. data/lib/songtradr_api_client_ruby/models/label_detection.rb +2 -2
  57. data/lib/songtradr_api_client_ruby/models/landmark.rb +2 -2
  58. data/lib/songtradr_api_client_ruby/models/login_dto.rb +2 -2
  59. data/lib/songtradr_api_client_ruby/models/mouth_open.rb +2 -2
  60. data/lib/songtradr_api_client_ruby/models/musical_features_dto.rb +24 -24
  61. data/lib/songtradr_api_client_ruby/models/mustache.rb +2 -2
  62. data/lib/songtradr_api_client_ruby/models/parent.rb +2 -2
  63. data/lib/songtradr_api_client_ruby/models/party_small_dto.rb +2 -2
  64. data/lib/songtradr_api_client_ruby/models/pose.rb +2 -2
  65. data/lib/songtradr_api_client_ruby/models/recording_for_similarity_search_dto.rb +2 -2
  66. data/lib/songtradr_api_client_ruby/models/recording_genre_prediction_dto.rb +2 -2
  67. data/lib/songtradr_api_client_ruby/models/recording_list_dto.rb +2 -2
  68. data/lib/songtradr_api_client_ruby/models/recording_medium_dto.rb +12 -12
  69. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_musical_features_dto.rb +2 -2
  70. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_taggrams_dto.rb +2 -2
  71. data/lib/songtradr_api_client_ruby/models/recording_minimal_with_tagstrengths_dto.rb +2 -2
  72. data/lib/songtradr_api_client_ruby/models/recording_party_dto.rb +2 -2
  73. data/lib/songtradr_api_client_ruby/models/recording_small_dto.rb +2 -2
  74. data/lib/songtradr_api_client_ruby/models/recording_tag_small_dto.rb +2 -2
  75. data/lib/songtradr_api_client_ruby/models/save_user_dto.rb +2 -2
  76. data/lib/songtradr_api_client_ruby/models/search_filter_values_dto.rb +2 -2
  77. data/lib/songtradr_api_client_ruby/models/search_recording_granular_dto.rb +2 -2
  78. data/lib/songtradr_api_client_ruby/models/sign_up_dto.rb +2 -2
  79. data/lib/songtradr_api_client_ruby/models/smile.rb +2 -2
  80. data/lib/songtradr_api_client_ruby/models/sunglasses.rb +2 -2
  81. data/lib/songtradr_api_client_ruby/models/tag_dto.rb +2 -2
  82. data/lib/songtradr_api_client_ruby/models/tag_small_dto.rb +2 -2
  83. data/lib/songtradr_api_client_ruby/models/taggram_dto.rb +2 -2
  84. data/lib/songtradr_api_client_ruby/models/tags_summary_dto.rb +2 -2
  85. data/lib/songtradr_api_client_ruby/models/tagstrength_dto.rb +2 -2
  86. data/lib/songtradr_api_client_ruby/models/title_dto.rb +2 -2
  87. data/lib/songtradr_api_client_ruby/models/token_request.rb +2 -2
  88. data/lib/songtradr_api_client_ruby/models/track_dto.rb +2 -2
  89. data/lib/songtradr_api_client_ruby/models/update_password_dto.rb +2 -2
  90. data/lib/songtradr_api_client_ruby/models/user_dto.rb +2 -2
  91. data/lib/songtradr_api_client_ruby/models/video_recognition_response.rb +2 -2
  92. data/lib/songtradr_api_client_ruby/version.rb +2 -2
  93. data/lib/songtradr_api_client_ruby.rb +1 -22
  94. data/openapi-generator-config.yaml +1 -1
  95. data/songtradr_api_client_ruby.gemspec +2 -1
  96. data/spec/api/allowed_values_api_spec.rb +1 -1
  97. data/spec/api/playlist_api_spec.rb +1 -38
  98. data/spec/api/recording_api_spec.rb +1 -34
  99. data/spec/api/user_api_spec.rb +1 -110
  100. data/spec/api_client_spec.rb +1 -1
  101. data/spec/configuration_spec.rb +1 -1
  102. data/spec/models/age_range_spec.rb +1 -1
  103. data/spec/models/beard_spec.rb +1 -1
  104. data/spec/models/bounding_box_spec.rb +1 -1
  105. data/spec/models/category_medium_dto_spec.rb +1 -1
  106. data/spec/models/category_minimal_dto_spec.rb +1 -1
  107. data/spec/models/config_access_dto_spec.rb +1 -1
  108. data/spec/models/config_identifier_dto_spec.rb +1 -1
  109. data/spec/models/contributor_type_dto_spec.rb +1 -1
  110. data/spec/models/curate_playlist_dto_spec.rb +1 -1
  111. data/spec/models/curate_playlist_response_dto_spec.rb +1 -1
  112. data/spec/models/dominant_color_spec.rb +1 -1
  113. data/spec/models/emotion_spec.rb +1 -1
  114. data/spec/models/error_response_spec.rb +1 -1
  115. data/spec/models/eye_direction_spec.rb +1 -1
  116. data/spec/models/eye_open_spec.rb +1 -1
  117. data/spec/models/eyeglasses_spec.rb +1 -1
  118. data/spec/models/face_detail_spec.rb +1 -1
  119. data/spec/models/face_detection_spec.rb +1 -1
  120. data/spec/models/face_occluded_spec.rb +1 -1
  121. data/spec/models/field_summary_dto_spec.rb +1 -1
  122. data/spec/models/file_dto_spec.rb +1 -1
  123. data/spec/models/file_list_dto_spec.rb +1 -1
  124. data/spec/models/file_small_dto_spec.rb +17 -17
  125. data/spec/models/file_upload_dto_spec.rb +1 -1
  126. data/spec/models/file_w_ith_url_dto_spec.rb +1 -1
  127. data/spec/models/files_summary_dto_spec.rb +1 -1
  128. data/spec/models/forgot_password_dto_spec.rb +1 -1
  129. data/spec/models/gender_spec.rb +1 -1
  130. data/spec/models/genre_dto_spec.rb +1 -1
  131. data/spec/models/genre_minimal_dto_spec.rb +1 -1
  132. data/spec/models/genres_summary_dto_spec.rb +1 -1
  133. data/spec/models/image_quality_spec.rb +1 -1
  134. data/spec/models/image_recognition_response_spec.rb +1 -1
  135. data/spec/models/init_put_recording_audio_dto_spec.rb +1 -1
  136. data/spec/models/instance_spec.rb +1 -1
  137. data/spec/models/jwt_token_dto_spec.rb +1 -1
  138. data/spec/models/label_alias_spec.rb +1 -1
  139. data/spec/models/label_category_spec.rb +1 -1
  140. data/spec/models/label_detection_spec.rb +1 -1
  141. data/spec/models/label_spec.rb +1 -1
  142. data/spec/models/landmark_spec.rb +1 -1
  143. data/spec/models/login_dto_spec.rb +1 -1
  144. data/spec/models/mouth_open_spec.rb +1 -1
  145. data/spec/models/musical_features_dto_spec.rb +11 -11
  146. data/spec/models/mustache_spec.rb +1 -1
  147. data/spec/models/parent_spec.rb +1 -1
  148. data/spec/models/party_small_dto_spec.rb +1 -1
  149. data/spec/models/pose_spec.rb +1 -1
  150. data/spec/models/recording_for_similarity_search_dto_spec.rb +1 -1
  151. data/spec/models/recording_genre_prediction_dto_spec.rb +1 -1
  152. data/spec/models/recording_list_dto_spec.rb +1 -1
  153. data/spec/models/recording_medium_dto_spec.rb +3 -3
  154. data/spec/models/recording_minimal_with_musical_features_dto_spec.rb +1 -1
  155. data/spec/models/recording_minimal_with_taggrams_dto_spec.rb +1 -1
  156. data/spec/models/recording_minimal_with_tagstrengths_dto_spec.rb +1 -1
  157. data/spec/models/recording_party_dto_spec.rb +1 -1
  158. data/spec/models/recording_small_dto_spec.rb +1 -1
  159. data/spec/models/recording_tag_small_dto_spec.rb +1 -1
  160. data/spec/models/save_user_dto_spec.rb +1 -1
  161. data/spec/models/search_filter_values_dto_spec.rb +1 -1
  162. data/spec/models/search_recording_granular_dto_spec.rb +1 -1
  163. data/spec/models/sign_up_dto_spec.rb +1 -1
  164. data/spec/models/smile_spec.rb +1 -1
  165. data/spec/models/sunglasses_spec.rb +1 -1
  166. data/spec/models/tag_dto_spec.rb +1 -1
  167. data/spec/models/tag_small_dto_spec.rb +1 -1
  168. data/spec/models/taggram_dto_spec.rb +1 -1
  169. data/spec/models/tags_summary_dto_spec.rb +1 -1
  170. data/spec/models/tagstrength_dto_spec.rb +1 -1
  171. data/spec/models/title_dto_spec.rb +1 -1
  172. data/spec/models/token_request_spec.rb +1 -1
  173. data/spec/models/track_dto_spec.rb +1 -1
  174. data/spec/models/update_password_dto_spec.rb +1 -1
  175. data/spec/models/user_dto_spec.rb +1 -1
  176. data/spec/models/video_recognition_response_spec.rb +1 -1
  177. data/spec/spec_helper.rb +1 -1
  178. metadata +63 -147
  179. data/docs/ContextValue.md +0 -18
  180. data/docs/FileMinimalWithUrlDTO.md +0 -22
  181. data/docs/PLineDTO.md +0 -20
  182. data/docs/PartyApi.md +0 -75
  183. data/docs/PartyLargeDTO.md +0 -32
  184. data/docs/PlaylistLargeDTO.md +0 -38
  185. data/docs/ProductMediumDTO.md +0 -34
  186. data/docs/ProductPartyDTO.md +0 -20
  187. data/docs/RecordingLargeDTO.md +0 -40
  188. data/docs/RecordingPlaylistDTO.md +0 -24
  189. data/docs/SaveFileRecordingDTO.md +0 -240
  190. data/docs/SavePlaylistDTO.md +0 -34
  191. data/docs/SaveRecordingGenreDTO.md +0 -22
  192. data/docs/SaveRecordingPartyDTO.md +0 -20
  193. data/docs/SaveRecordingPlaylistDTO.md +0 -22
  194. data/docs/SaveRecordingTagDTO.md +0 -20
  195. data/docs/SaveReferrerDTO.md +0 -20
  196. data/docs/SaveTaggramsDTO.md +0 -82
  197. data/docs/SearchRecordingGranularAbstractionDTO.md +0 -20
  198. data/docs/TrackToMediumProductDTO.md +0 -22
  199. data/docs/UsageDTO.md +0 -18
  200. data/lib/songtradr_api_client_ruby/api/party_api.rb +0 -84
  201. data/lib/songtradr_api_client_ruby/models/context_value.rb +0 -216
  202. data/lib/songtradr_api_client_ruby/models/file_minimal_with_url_dto.rb +0 -254
  203. data/lib/songtradr_api_client_ruby/models/p_line_dto.rb +0 -231
  204. data/lib/songtradr_api_client_ruby/models/party_large_dto.rb +0 -285
  205. data/lib/songtradr_api_client_ruby/models/playlist_large_dto.rb +0 -350
  206. data/lib/songtradr_api_client_ruby/models/product_medium_dto.rb +0 -323
  207. data/lib/songtradr_api_client_ruby/models/product_party_dto.rb +0 -233
  208. data/lib/songtradr_api_client_ruby/models/recording_large_dto.rb +0 -383
  209. data/lib/songtradr_api_client_ruby/models/recording_playlist_dto.rb +0 -242
  210. data/lib/songtradr_api_client_ruby/models/save_file_recording_dto.rb +0 -1864
  211. data/lib/songtradr_api_client_ruby/models/save_playlist_dto.rb +0 -353
  212. data/lib/songtradr_api_client_ruby/models/save_recording_genre_dto.rb +0 -240
  213. data/lib/songtradr_api_client_ruby/models/save_recording_party_dto.rb +0 -272
  214. data/lib/songtradr_api_client_ruby/models/save_recording_playlist_dto.rb +0 -247
  215. data/lib/songtradr_api_client_ruby/models/save_recording_tag_dto.rb +0 -231
  216. data/lib/songtradr_api_client_ruby/models/save_referrer_dto.rb +0 -224
  217. data/lib/songtradr_api_client_ruby/models/save_taggrams_dto.rb +0 -569
  218. data/lib/songtradr_api_client_ruby/models/search_recording_granular_abstraction_dto.rb +0 -267
  219. data/lib/songtradr_api_client_ruby/models/track_to_medium_product_dto.rb +0 -247
  220. data/lib/songtradr_api_client_ruby/models/usage_dto.rb +0 -215
  221. data/spec/api/party_api_spec.rb +0 -46
  222. data/spec/models/context_value_spec.rb +0 -36
  223. data/spec/models/file_minimal_with_url_dto_spec.rb +0 -48
  224. data/spec/models/p_line_dto_spec.rb +0 -42
  225. data/spec/models/party_large_dto_spec.rb +0 -78
  226. data/spec/models/playlist_large_dto_spec.rb +0 -100
  227. data/spec/models/product_medium_dto_spec.rb +0 -84
  228. data/spec/models/product_party_dto_spec.rb +0 -42
  229. data/spec/models/recording_large_dto_spec.rb +0 -102
  230. data/spec/models/recording_playlist_dto_spec.rb +0 -54
  231. data/spec/models/save_file_recording_dto_spec.rb +0 -894
  232. data/spec/models/save_playlist_dto_spec.rb +0 -88
  233. data/spec/models/save_recording_genre_dto_spec.rb +0 -48
  234. data/spec/models/save_recording_party_dto_spec.rb +0 -46
  235. data/spec/models/save_recording_playlist_dto_spec.rb +0 -48
  236. data/spec/models/save_recording_tag_dto_spec.rb +0 -42
  237. data/spec/models/save_referrer_dto_spec.rb +0 -42
  238. data/spec/models/save_taggrams_dto_spec.rb +0 -228
  239. data/spec/models/search_recording_granular_abstraction_dto_spec.rb +0 -46
  240. data/spec/models/track_to_medium_product_dto_spec.rb +0 -48
  241. 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