spotify-api-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +30 -0
  3. data/README.md +107 -0
  4. data/lib/spotify_web_api/api_helper.rb +10 -0
  5. data/lib/spotify_web_api/client.rb +154 -0
  6. data/lib/spotify_web_api/configuration.rb +180 -0
  7. data/lib/spotify_web_api/controllers/albums_controller.rb +295 -0
  8. data/lib/spotify_web_api/controllers/artists_controller.rb +187 -0
  9. data/lib/spotify_web_api/controllers/audiobooks_controller.rb +258 -0
  10. data/lib/spotify_web_api/controllers/base_controller.rb +66 -0
  11. data/lib/spotify_web_api/controllers/categories_controller.rb +83 -0
  12. data/lib/spotify_web_api/controllers/chapters_controller.rb +82 -0
  13. data/lib/spotify_web_api/controllers/episodes_controller.rb +239 -0
  14. data/lib/spotify_web_api/controllers/genres_controller.rb +39 -0
  15. data/lib/spotify_web_api/controllers/markets_controller.rb +38 -0
  16. data/lib/spotify_web_api/controllers/o_auth_authorization_controller.rb +82 -0
  17. data/lib/spotify_web_api/controllers/player_controller.rb +509 -0
  18. data/lib/spotify_web_api/controllers/playlists_controller.rb +521 -0
  19. data/lib/spotify_web_api/controllers/search_controller.rb +60 -0
  20. data/lib/spotify_web_api/controllers/shows_controller.rb +261 -0
  21. data/lib/spotify_web_api/controllers/tracks_controller.rb +491 -0
  22. data/lib/spotify_web_api/controllers/users_controller.rb +396 -0
  23. data/lib/spotify_web_api/exceptions/api_exception.rb +10 -0
  24. data/lib/spotify_web_api/exceptions/bad_request_exception.rb +32 -0
  25. data/lib/spotify_web_api/exceptions/forbidden_exception.rb +32 -0
  26. data/lib/spotify_web_api/exceptions/not_found_exception.rb +32 -0
  27. data/lib/spotify_web_api/exceptions/o_auth_provider_exception.rb +48 -0
  28. data/lib/spotify_web_api/exceptions/too_many_requests_exception.rb +32 -0
  29. data/lib/spotify_web_api/exceptions/unauthorized_exception.rb +32 -0
  30. data/lib/spotify_web_api/http/api_response.rb +21 -0
  31. data/lib/spotify_web_api/http/auth/o_auth2.rb +146 -0
  32. data/lib/spotify_web_api/http/http_call_back.rb +10 -0
  33. data/lib/spotify_web_api/http/http_method_enum.rb +10 -0
  34. data/lib/spotify_web_api/http/http_request.rb +10 -0
  35. data/lib/spotify_web_api/http/http_response.rb +10 -0
  36. data/lib/spotify_web_api/models/album_base.rb +168 -0
  37. data/lib/spotify_web_api/models/album_group_enum.rb +29 -0
  38. data/lib/spotify_web_api/models/album_object.rb +247 -0
  39. data/lib/spotify_web_api/models/album_restriction_object.rb +53 -0
  40. data/lib/spotify_web_api/models/album_type_enum.rb +26 -0
  41. data/lib/spotify_web_api/models/artist_discography_album_object.rb +194 -0
  42. data/lib/spotify_web_api/models/artist_object.rb +147 -0
  43. data/lib/spotify_web_api/models/audio_analysis_object.rb +156 -0
  44. data/lib/spotify_web_api/models/audio_features_object.rb +249 -0
  45. data/lib/spotify_web_api/models/audiobook_base.rb +245 -0
  46. data/lib/spotify_web_api/models/audiobook_object.rb +253 -0
  47. data/lib/spotify_web_api/models/author_object.rb +50 -0
  48. data/lib/spotify_web_api/models/base_model.rb +62 -0
  49. data/lib/spotify_web_api/models/categories.rb +110 -0
  50. data/lib/spotify_web_api/models/category_object.rb +82 -0
  51. data/lib/spotify_web_api/models/chapter_base.rb +237 -0
  52. data/lib/spotify_web_api/models/chapter_object.rb +245 -0
  53. data/lib/spotify_web_api/models/chapter_restriction_object.rb +59 -0
  54. data/lib/spotify_web_api/models/context_object.rb +78 -0
  55. data/lib/spotify_web_api/models/copyright_object.rb +60 -0
  56. data/lib/spotify_web_api/models/currently_playing_context_object.rb +137 -0
  57. data/lib/spotify_web_api/models/currently_playing_object.rb +109 -0
  58. data/lib/spotify_web_api/models/cursor_object.rb +59 -0
  59. data/lib/spotify_web_api/models/cursor_paged_artists.rb +48 -0
  60. data/lib/spotify_web_api/models/cursor_paging_object.rb +88 -0
  61. data/lib/spotify_web_api/models/cursor_paging_play_history_object.rb +106 -0
  62. data/lib/spotify_web_api/models/cursor_paging_simplified_artist_object.rb +106 -0
  63. data/lib/spotify_web_api/models/device_object.rb +126 -0
  64. data/lib/spotify_web_api/models/disallows_object.rb +140 -0
  65. data/lib/spotify_web_api/models/episode_base.rb +237 -0
  66. data/lib/spotify_web_api/models/episode_object.rb +246 -0
  67. data/lib/spotify_web_api/models/episode_restriction_object.rb +58 -0
  68. data/lib/spotify_web_api/models/error_object.rb +59 -0
  69. data/lib/spotify_web_api/models/explicit_content_settings_object.rb +61 -0
  70. data/lib/spotify_web_api/models/external_id_object.rb +72 -0
  71. data/lib/spotify_web_api/models/external_url_object.rb +51 -0
  72. data/lib/spotify_web_api/models/followers_object.rb +62 -0
  73. data/lib/spotify_web_api/models/image_object.rb +67 -0
  74. data/lib/spotify_web_api/models/include_external_enum.rb +23 -0
  75. data/lib/spotify_web_api/models/item_type1_enum.rb +20 -0
  76. data/lib/spotify_web_api/models/item_type2_enum.rb +23 -0
  77. data/lib/spotify_web_api/models/item_type3_enum.rb +23 -0
  78. data/lib/spotify_web_api/models/item_type_enum.rb +38 -0
  79. data/lib/spotify_web_api/models/linked_track_object.rb +89 -0
  80. data/lib/spotify_web_api/models/many_albums.rb +57 -0
  81. data/lib/spotify_web_api/models/many_artists.rb +57 -0
  82. data/lib/spotify_web_api/models/many_audio_features.rb +57 -0
  83. data/lib/spotify_web_api/models/many_audiobooks.rb +57 -0
  84. data/lib/spotify_web_api/models/many_chapters.rb +57 -0
  85. data/lib/spotify_web_api/models/many_devices.rb +57 -0
  86. data/lib/spotify_web_api/models/many_episodes.rb +57 -0
  87. data/lib/spotify_web_api/models/many_genres.rb +48 -0
  88. data/lib/spotify_web_api/models/many_simplified_shows.rb +57 -0
  89. data/lib/spotify_web_api/models/many_tracks.rb +57 -0
  90. data/lib/spotify_web_api/models/markets.rb +50 -0
  91. data/lib/spotify_web_api/models/me_albums_request.rb +55 -0
  92. data/lib/spotify_web_api/models/me_episodes_request.rb +52 -0
  93. data/lib/spotify_web_api/models/me_episodes_request1.rb +54 -0
  94. data/lib/spotify_web_api/models/me_following_request.rb +53 -0
  95. data/lib/spotify_web_api/models/me_following_request1.rb +55 -0
  96. data/lib/spotify_web_api/models/me_player_play_request.rb +89 -0
  97. data/lib/spotify_web_api/models/me_player_request.rb +63 -0
  98. data/lib/spotify_web_api/models/me_shows_request.rb +55 -0
  99. data/lib/spotify_web_api/models/me_tracks_request.rb +53 -0
  100. data/lib/spotify_web_api/models/me_tracks_request1.rb +55 -0
  101. data/lib/spotify_web_api/models/meta.rb +110 -0
  102. data/lib/spotify_web_api/models/mode_enum.rb +30 -0
  103. data/lib/spotify_web_api/models/narrator_object.rb +50 -0
  104. data/lib/spotify_web_api/models/o_auth_provider_error_enum.rb +45 -0
  105. data/lib/spotify_web_api/models/o_auth_scope_enum.rb +94 -0
  106. data/lib/spotify_web_api/models/o_auth_token.rb +96 -0
  107. data/lib/spotify_web_api/models/paged_albums.rb +48 -0
  108. data/lib/spotify_web_api/models/paged_categories.rb +48 -0
  109. data/lib/spotify_web_api/models/paging_artist_discography_album_object.rb +110 -0
  110. data/lib/spotify_web_api/models/paging_artist_object.rb +110 -0
  111. data/lib/spotify_web_api/models/paging_featured_playlist_object.rb +59 -0
  112. data/lib/spotify_web_api/models/paging_object.rb +93 -0
  113. data/lib/spotify_web_api/models/paging_playlist_object.rb +110 -0
  114. data/lib/spotify_web_api/models/paging_playlist_track_object.rb +110 -0
  115. data/lib/spotify_web_api/models/paging_saved_album_object.rb +110 -0
  116. data/lib/spotify_web_api/models/paging_saved_audiobook_object.rb +110 -0
  117. data/lib/spotify_web_api/models/paging_saved_episode_object.rb +110 -0
  118. data/lib/spotify_web_api/models/paging_saved_show_object.rb +110 -0
  119. data/lib/spotify_web_api/models/paging_saved_track_object.rb +110 -0
  120. data/lib/spotify_web_api/models/paging_simplified_album_object.rb +110 -0
  121. data/lib/spotify_web_api/models/paging_simplified_audiobook_object.rb +110 -0
  122. data/lib/spotify_web_api/models/paging_simplified_chapter_object.rb +110 -0
  123. data/lib/spotify_web_api/models/paging_simplified_episode_object.rb +110 -0
  124. data/lib/spotify_web_api/models/paging_simplified_show_object.rb +110 -0
  125. data/lib/spotify_web_api/models/paging_simplified_track_object.rb +110 -0
  126. data/lib/spotify_web_api/models/paging_track_object.rb +110 -0
  127. data/lib/spotify_web_api/models/play_history_object.rb +77 -0
  128. data/lib/spotify_web_api/models/playlist_object.rb +193 -0
  129. data/lib/spotify_web_api/models/playlist_owner_object.rb +109 -0
  130. data/lib/spotify_web_api/models/playlist_snapshot_id.rb +50 -0
  131. data/lib/spotify_web_api/models/playlist_track_object.rb +90 -0
  132. data/lib/spotify_web_api/models/playlist_tracks_ref_object.rb +60 -0
  133. data/lib/spotify_web_api/models/playlist_user_object.rb +98 -0
  134. data/lib/spotify_web_api/models/playlists_followers_request.rb +51 -0
  135. data/lib/spotify_web_api/models/playlists_request.rb +82 -0
  136. data/lib/spotify_web_api/models/playlists_tracks_request.rb +72 -0
  137. data/lib/spotify_web_api/models/playlists_tracks_request1.rb +97 -0
  138. data/lib/spotify_web_api/models/playlists_tracks_request2.rb +75 -0
  139. data/lib/spotify_web_api/models/private_user_object.rb +181 -0
  140. data/lib/spotify_web_api/models/public_user_object.rb +128 -0
  141. data/lib/spotify_web_api/models/queue_object.rb +60 -0
  142. data/lib/spotify_web_api/models/reason_enum.rb +29 -0
  143. data/lib/spotify_web_api/models/recommendation_seed_object.rb +104 -0
  144. data/lib/spotify_web_api/models/recommendations_object.rb +74 -0
  145. data/lib/spotify_web_api/models/release_date_precision_enum.rb +26 -0
  146. data/lib/spotify_web_api/models/resume_point_object.rb +60 -0
  147. data/lib/spotify_web_api/models/saved_album_object.rb +73 -0
  148. data/lib/spotify_web_api/models/saved_audiobook_object.rb +73 -0
  149. data/lib/spotify_web_api/models/saved_episode_object.rb +70 -0
  150. data/lib/spotify_web_api/models/saved_show_object.rb +73 -0
  151. data/lib/spotify_web_api/models/saved_track_object.rb +73 -0
  152. data/lib/spotify_web_api/models/search_items.rb +107 -0
  153. data/lib/spotify_web_api/models/section_object.rb +180 -0
  154. data/lib/spotify_web_api/models/segment_object.rb +166 -0
  155. data/lib/spotify_web_api/models/show_base.rb +211 -0
  156. data/lib/spotify_web_api/models/show_object.rb +219 -0
  157. data/lib/spotify_web_api/models/simplified_album_object.rb +186 -0
  158. data/lib/spotify_web_api/models/simplified_artist_object.rb +98 -0
  159. data/lib/spotify_web_api/models/simplified_playlist_object.rb +184 -0
  160. data/lib/spotify_web_api/models/simplified_track_object.rb +227 -0
  161. data/lib/spotify_web_api/models/time_interval_object.rb +68 -0
  162. data/lib/spotify_web_api/models/track.rb +331 -0
  163. data/lib/spotify_web_api/models/track1.rb +50 -0
  164. data/lib/spotify_web_api/models/track_object.rb +265 -0
  165. data/lib/spotify_web_api/models/track_restriction_object.rb +58 -0
  166. data/lib/spotify_web_api/models/type2_enum.rb +20 -0
  167. data/lib/spotify_web_api/models/type3_enum.rb +20 -0
  168. data/lib/spotify_web_api/models/type4_enum.rb +20 -0
  169. data/lib/spotify_web_api/models/type6_enum.rb +20 -0
  170. data/lib/spotify_web_api/models/type7_enum.rb +20 -0
  171. data/lib/spotify_web_api/models/type8_enum.rb +20 -0
  172. data/lib/spotify_web_api/models/type9_enum.rb +20 -0
  173. data/lib/spotify_web_api/models/type_enum.rb +20 -0
  174. data/lib/spotify_web_api/models/users_playlists_request.rb +87 -0
  175. data/lib/spotify_web_api/utilities/date_time_helper.rb +11 -0
  176. data/lib/spotify_web_api/utilities/file_wrapper.rb +16 -0
  177. data/lib/spotify_web_api.rb +198 -0
  178. metadata +264 -0
@@ -0,0 +1,110 @@
1
+ # spotify_web_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module SpotifyWebApi
7
+ # PagingSavedEpisodeObject Model.
8
+ class PagingSavedEpisodeObject < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # A link to the Web API endpoint returning the full result of the request
13
+ # @return [String]
14
+ attr_accessor :href
15
+
16
+ # The maximum number of items in the response (as set in the query or by
17
+ # default).
18
+ # @return [Integer]
19
+ attr_accessor :limit
20
+
21
+ # URL to the next page of items. ( `null` if none)
22
+ # @return [String]
23
+ attr_accessor :mnext
24
+
25
+ # The offset of the items returned (as set in the query or by default)
26
+ # @return [Integer]
27
+ attr_accessor :offset
28
+
29
+ # URL to the previous page of items. ( `null` if none)
30
+ # @return [String]
31
+ attr_accessor :previous
32
+
33
+ # The total number of items available to return.
34
+ # @return [Integer]
35
+ attr_accessor :total
36
+
37
+ # The total number of items available to return.
38
+ # @return [Array[SavedEpisodeObject]]
39
+ attr_accessor :items
40
+
41
+ # A mapping from model property names to API property names.
42
+ def self.names
43
+ @_hash = {} if @_hash.nil?
44
+ @_hash['href'] = 'href'
45
+ @_hash['limit'] = 'limit'
46
+ @_hash['mnext'] = 'next'
47
+ @_hash['offset'] = 'offset'
48
+ @_hash['previous'] = 'previous'
49
+ @_hash['total'] = 'total'
50
+ @_hash['items'] = 'items'
51
+ @_hash
52
+ end
53
+
54
+ # An array for optional fields
55
+ def self.optionals
56
+ []
57
+ end
58
+
59
+ # An array for nullable fields
60
+ def self.nullables
61
+ %w[
62
+ mnext
63
+ previous
64
+ ]
65
+ end
66
+
67
+ def initialize(href = nil, limit = nil, mnext = nil, offset = nil,
68
+ previous = nil, total = nil, items = nil)
69
+ @href = href
70
+ @limit = limit
71
+ @mnext = mnext
72
+ @offset = offset
73
+ @previous = previous
74
+ @total = total
75
+ @items = items
76
+ end
77
+
78
+ # Creates an instance of the object from a hash.
79
+ def self.from_hash(hash)
80
+ return nil unless hash
81
+
82
+ # Extract variables from the hash.
83
+ href = hash.key?('href') ? hash['href'] : nil
84
+ limit = hash.key?('limit') ? hash['limit'] : nil
85
+ mnext = hash.key?('next') ? hash['next'] : nil
86
+ offset = hash.key?('offset') ? hash['offset'] : nil
87
+ previous = hash.key?('previous') ? hash['previous'] : nil
88
+ total = hash.key?('total') ? hash['total'] : nil
89
+ # Parameter is an array, so we need to iterate through it
90
+ items = nil
91
+ unless hash['items'].nil?
92
+ items = []
93
+ hash['items'].each do |structure|
94
+ items << (SavedEpisodeObject.from_hash(structure) if structure)
95
+ end
96
+ end
97
+
98
+ items = nil unless hash.key?('items')
99
+
100
+ # Create object from extracted values.
101
+ PagingSavedEpisodeObject.new(href,
102
+ limit,
103
+ mnext,
104
+ offset,
105
+ previous,
106
+ total,
107
+ items)
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,110 @@
1
+ # spotify_web_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module SpotifyWebApi
7
+ # PagingSavedShowObject Model.
8
+ class PagingSavedShowObject < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # A link to the Web API endpoint returning the full result of the request
13
+ # @return [String]
14
+ attr_accessor :href
15
+
16
+ # The maximum number of items in the response (as set in the query or by
17
+ # default).
18
+ # @return [Integer]
19
+ attr_accessor :limit
20
+
21
+ # URL to the next page of items. ( `null` if none)
22
+ # @return [String]
23
+ attr_accessor :mnext
24
+
25
+ # The offset of the items returned (as set in the query or by default)
26
+ # @return [Integer]
27
+ attr_accessor :offset
28
+
29
+ # URL to the previous page of items. ( `null` if none)
30
+ # @return [String]
31
+ attr_accessor :previous
32
+
33
+ # The total number of items available to return.
34
+ # @return [Integer]
35
+ attr_accessor :total
36
+
37
+ # The total number of items available to return.
38
+ # @return [Array[SavedShowObject]]
39
+ attr_accessor :items
40
+
41
+ # A mapping from model property names to API property names.
42
+ def self.names
43
+ @_hash = {} if @_hash.nil?
44
+ @_hash['href'] = 'href'
45
+ @_hash['limit'] = 'limit'
46
+ @_hash['mnext'] = 'next'
47
+ @_hash['offset'] = 'offset'
48
+ @_hash['previous'] = 'previous'
49
+ @_hash['total'] = 'total'
50
+ @_hash['items'] = 'items'
51
+ @_hash
52
+ end
53
+
54
+ # An array for optional fields
55
+ def self.optionals
56
+ []
57
+ end
58
+
59
+ # An array for nullable fields
60
+ def self.nullables
61
+ %w[
62
+ mnext
63
+ previous
64
+ ]
65
+ end
66
+
67
+ def initialize(href = nil, limit = nil, mnext = nil, offset = nil,
68
+ previous = nil, total = nil, items = nil)
69
+ @href = href
70
+ @limit = limit
71
+ @mnext = mnext
72
+ @offset = offset
73
+ @previous = previous
74
+ @total = total
75
+ @items = items
76
+ end
77
+
78
+ # Creates an instance of the object from a hash.
79
+ def self.from_hash(hash)
80
+ return nil unless hash
81
+
82
+ # Extract variables from the hash.
83
+ href = hash.key?('href') ? hash['href'] : nil
84
+ limit = hash.key?('limit') ? hash['limit'] : nil
85
+ mnext = hash.key?('next') ? hash['next'] : nil
86
+ offset = hash.key?('offset') ? hash['offset'] : nil
87
+ previous = hash.key?('previous') ? hash['previous'] : nil
88
+ total = hash.key?('total') ? hash['total'] : nil
89
+ # Parameter is an array, so we need to iterate through it
90
+ items = nil
91
+ unless hash['items'].nil?
92
+ items = []
93
+ hash['items'].each do |structure|
94
+ items << (SavedShowObject.from_hash(structure) if structure)
95
+ end
96
+ end
97
+
98
+ items = nil unless hash.key?('items')
99
+
100
+ # Create object from extracted values.
101
+ PagingSavedShowObject.new(href,
102
+ limit,
103
+ mnext,
104
+ offset,
105
+ previous,
106
+ total,
107
+ items)
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,110 @@
1
+ # spotify_web_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module SpotifyWebApi
7
+ # PagingSavedTrackObject Model.
8
+ class PagingSavedTrackObject < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # A link to the Web API endpoint returning the full result of the request
13
+ # @return [String]
14
+ attr_accessor :href
15
+
16
+ # The maximum number of items in the response (as set in the query or by
17
+ # default).
18
+ # @return [Integer]
19
+ attr_accessor :limit
20
+
21
+ # URL to the next page of items. ( `null` if none)
22
+ # @return [String]
23
+ attr_accessor :mnext
24
+
25
+ # The offset of the items returned (as set in the query or by default)
26
+ # @return [Integer]
27
+ attr_accessor :offset
28
+
29
+ # URL to the previous page of items. ( `null` if none)
30
+ # @return [String]
31
+ attr_accessor :previous
32
+
33
+ # The total number of items available to return.
34
+ # @return [Integer]
35
+ attr_accessor :total
36
+
37
+ # The total number of items available to return.
38
+ # @return [Array[SavedTrackObject]]
39
+ attr_accessor :items
40
+
41
+ # A mapping from model property names to API property names.
42
+ def self.names
43
+ @_hash = {} if @_hash.nil?
44
+ @_hash['href'] = 'href'
45
+ @_hash['limit'] = 'limit'
46
+ @_hash['mnext'] = 'next'
47
+ @_hash['offset'] = 'offset'
48
+ @_hash['previous'] = 'previous'
49
+ @_hash['total'] = 'total'
50
+ @_hash['items'] = 'items'
51
+ @_hash
52
+ end
53
+
54
+ # An array for optional fields
55
+ def self.optionals
56
+ []
57
+ end
58
+
59
+ # An array for nullable fields
60
+ def self.nullables
61
+ %w[
62
+ mnext
63
+ previous
64
+ ]
65
+ end
66
+
67
+ def initialize(href = nil, limit = nil, mnext = nil, offset = nil,
68
+ previous = nil, total = nil, items = nil)
69
+ @href = href
70
+ @limit = limit
71
+ @mnext = mnext
72
+ @offset = offset
73
+ @previous = previous
74
+ @total = total
75
+ @items = items
76
+ end
77
+
78
+ # Creates an instance of the object from a hash.
79
+ def self.from_hash(hash)
80
+ return nil unless hash
81
+
82
+ # Extract variables from the hash.
83
+ href = hash.key?('href') ? hash['href'] : nil
84
+ limit = hash.key?('limit') ? hash['limit'] : nil
85
+ mnext = hash.key?('next') ? hash['next'] : nil
86
+ offset = hash.key?('offset') ? hash['offset'] : nil
87
+ previous = hash.key?('previous') ? hash['previous'] : nil
88
+ total = hash.key?('total') ? hash['total'] : nil
89
+ # Parameter is an array, so we need to iterate through it
90
+ items = nil
91
+ unless hash['items'].nil?
92
+ items = []
93
+ hash['items'].each do |structure|
94
+ items << (SavedTrackObject.from_hash(structure) if structure)
95
+ end
96
+ end
97
+
98
+ items = nil unless hash.key?('items')
99
+
100
+ # Create object from extracted values.
101
+ PagingSavedTrackObject.new(href,
102
+ limit,
103
+ mnext,
104
+ offset,
105
+ previous,
106
+ total,
107
+ items)
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,110 @@
1
+ # spotify_web_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module SpotifyWebApi
7
+ # PagingSimplifiedAlbumObject Model.
8
+ class PagingSimplifiedAlbumObject < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # A link to the Web API endpoint returning the full result of the request
13
+ # @return [String]
14
+ attr_accessor :href
15
+
16
+ # The maximum number of items in the response (as set in the query or by
17
+ # default).
18
+ # @return [Integer]
19
+ attr_accessor :limit
20
+
21
+ # URL to the next page of items. ( `null` if none)
22
+ # @return [String]
23
+ attr_accessor :mnext
24
+
25
+ # The offset of the items returned (as set in the query or by default)
26
+ # @return [Integer]
27
+ attr_accessor :offset
28
+
29
+ # URL to the previous page of items. ( `null` if none)
30
+ # @return [String]
31
+ attr_accessor :previous
32
+
33
+ # The total number of items available to return.
34
+ # @return [Integer]
35
+ attr_accessor :total
36
+
37
+ # The total number of items available to return.
38
+ # @return [Array[SimplifiedAlbumObject]]
39
+ attr_accessor :items
40
+
41
+ # A mapping from model property names to API property names.
42
+ def self.names
43
+ @_hash = {} if @_hash.nil?
44
+ @_hash['href'] = 'href'
45
+ @_hash['limit'] = 'limit'
46
+ @_hash['mnext'] = 'next'
47
+ @_hash['offset'] = 'offset'
48
+ @_hash['previous'] = 'previous'
49
+ @_hash['total'] = 'total'
50
+ @_hash['items'] = 'items'
51
+ @_hash
52
+ end
53
+
54
+ # An array for optional fields
55
+ def self.optionals
56
+ []
57
+ end
58
+
59
+ # An array for nullable fields
60
+ def self.nullables
61
+ %w[
62
+ mnext
63
+ previous
64
+ ]
65
+ end
66
+
67
+ def initialize(href = nil, limit = nil, mnext = nil, offset = nil,
68
+ previous = nil, total = nil, items = nil)
69
+ @href = href
70
+ @limit = limit
71
+ @mnext = mnext
72
+ @offset = offset
73
+ @previous = previous
74
+ @total = total
75
+ @items = items
76
+ end
77
+
78
+ # Creates an instance of the object from a hash.
79
+ def self.from_hash(hash)
80
+ return nil unless hash
81
+
82
+ # Extract variables from the hash.
83
+ href = hash.key?('href') ? hash['href'] : nil
84
+ limit = hash.key?('limit') ? hash['limit'] : nil
85
+ mnext = hash.key?('next') ? hash['next'] : nil
86
+ offset = hash.key?('offset') ? hash['offset'] : nil
87
+ previous = hash.key?('previous') ? hash['previous'] : nil
88
+ total = hash.key?('total') ? hash['total'] : nil
89
+ # Parameter is an array, so we need to iterate through it
90
+ items = nil
91
+ unless hash['items'].nil?
92
+ items = []
93
+ hash['items'].each do |structure|
94
+ items << (SimplifiedAlbumObject.from_hash(structure) if structure)
95
+ end
96
+ end
97
+
98
+ items = nil unless hash.key?('items')
99
+
100
+ # Create object from extracted values.
101
+ PagingSimplifiedAlbumObject.new(href,
102
+ limit,
103
+ mnext,
104
+ offset,
105
+ previous,
106
+ total,
107
+ items)
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,110 @@
1
+ # spotify_web_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module SpotifyWebApi
7
+ # PagingSimplifiedAudiobookObject Model.
8
+ class PagingSimplifiedAudiobookObject < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # A link to the Web API endpoint returning the full result of the request
13
+ # @return [String]
14
+ attr_accessor :href
15
+
16
+ # The maximum number of items in the response (as set in the query or by
17
+ # default).
18
+ # @return [Integer]
19
+ attr_accessor :limit
20
+
21
+ # URL to the next page of items. ( `null` if none)
22
+ # @return [String]
23
+ attr_accessor :mnext
24
+
25
+ # The offset of the items returned (as set in the query or by default)
26
+ # @return [Integer]
27
+ attr_accessor :offset
28
+
29
+ # URL to the previous page of items. ( `null` if none)
30
+ # @return [String]
31
+ attr_accessor :previous
32
+
33
+ # The total number of items available to return.
34
+ # @return [Integer]
35
+ attr_accessor :total
36
+
37
+ # The total number of items available to return.
38
+ # @return [Array[AudiobookBase]]
39
+ attr_accessor :items
40
+
41
+ # A mapping from model property names to API property names.
42
+ def self.names
43
+ @_hash = {} if @_hash.nil?
44
+ @_hash['href'] = 'href'
45
+ @_hash['limit'] = 'limit'
46
+ @_hash['mnext'] = 'next'
47
+ @_hash['offset'] = 'offset'
48
+ @_hash['previous'] = 'previous'
49
+ @_hash['total'] = 'total'
50
+ @_hash['items'] = 'items'
51
+ @_hash
52
+ end
53
+
54
+ # An array for optional fields
55
+ def self.optionals
56
+ []
57
+ end
58
+
59
+ # An array for nullable fields
60
+ def self.nullables
61
+ %w[
62
+ mnext
63
+ previous
64
+ ]
65
+ end
66
+
67
+ def initialize(href = nil, limit = nil, mnext = nil, offset = nil,
68
+ previous = nil, total = nil, items = nil)
69
+ @href = href
70
+ @limit = limit
71
+ @mnext = mnext
72
+ @offset = offset
73
+ @previous = previous
74
+ @total = total
75
+ @items = items
76
+ end
77
+
78
+ # Creates an instance of the object from a hash.
79
+ def self.from_hash(hash)
80
+ return nil unless hash
81
+
82
+ # Extract variables from the hash.
83
+ href = hash.key?('href') ? hash['href'] : nil
84
+ limit = hash.key?('limit') ? hash['limit'] : nil
85
+ mnext = hash.key?('next') ? hash['next'] : nil
86
+ offset = hash.key?('offset') ? hash['offset'] : nil
87
+ previous = hash.key?('previous') ? hash['previous'] : nil
88
+ total = hash.key?('total') ? hash['total'] : nil
89
+ # Parameter is an array, so we need to iterate through it
90
+ items = nil
91
+ unless hash['items'].nil?
92
+ items = []
93
+ hash['items'].each do |structure|
94
+ items << (AudiobookBase.from_hash(structure) if structure)
95
+ end
96
+ end
97
+
98
+ items = nil unless hash.key?('items')
99
+
100
+ # Create object from extracted values.
101
+ PagingSimplifiedAudiobookObject.new(href,
102
+ limit,
103
+ mnext,
104
+ offset,
105
+ previous,
106
+ total,
107
+ items)
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,110 @@
1
+ # spotify_web_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module SpotifyWebApi
7
+ # PagingSimplifiedChapterObject Model.
8
+ class PagingSimplifiedChapterObject < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # A link to the Web API endpoint returning the full result of the request
13
+ # @return [String]
14
+ attr_accessor :href
15
+
16
+ # The maximum number of items in the response (as set in the query or by
17
+ # default).
18
+ # @return [Integer]
19
+ attr_accessor :limit
20
+
21
+ # URL to the next page of items. ( `null` if none)
22
+ # @return [String]
23
+ attr_accessor :mnext
24
+
25
+ # The offset of the items returned (as set in the query or by default)
26
+ # @return [Integer]
27
+ attr_accessor :offset
28
+
29
+ # URL to the previous page of items. ( `null` if none)
30
+ # @return [String]
31
+ attr_accessor :previous
32
+
33
+ # The total number of items available to return.
34
+ # @return [Integer]
35
+ attr_accessor :total
36
+
37
+ # The total number of items available to return.
38
+ # @return [Array[ChapterBase]]
39
+ attr_accessor :items
40
+
41
+ # A mapping from model property names to API property names.
42
+ def self.names
43
+ @_hash = {} if @_hash.nil?
44
+ @_hash['href'] = 'href'
45
+ @_hash['limit'] = 'limit'
46
+ @_hash['mnext'] = 'next'
47
+ @_hash['offset'] = 'offset'
48
+ @_hash['previous'] = 'previous'
49
+ @_hash['total'] = 'total'
50
+ @_hash['items'] = 'items'
51
+ @_hash
52
+ end
53
+
54
+ # An array for optional fields
55
+ def self.optionals
56
+ []
57
+ end
58
+
59
+ # An array for nullable fields
60
+ def self.nullables
61
+ %w[
62
+ mnext
63
+ previous
64
+ ]
65
+ end
66
+
67
+ def initialize(href = nil, limit = nil, mnext = nil, offset = nil,
68
+ previous = nil, total = nil, items = nil)
69
+ @href = href
70
+ @limit = limit
71
+ @mnext = mnext
72
+ @offset = offset
73
+ @previous = previous
74
+ @total = total
75
+ @items = items
76
+ end
77
+
78
+ # Creates an instance of the object from a hash.
79
+ def self.from_hash(hash)
80
+ return nil unless hash
81
+
82
+ # Extract variables from the hash.
83
+ href = hash.key?('href') ? hash['href'] : nil
84
+ limit = hash.key?('limit') ? hash['limit'] : nil
85
+ mnext = hash.key?('next') ? hash['next'] : nil
86
+ offset = hash.key?('offset') ? hash['offset'] : nil
87
+ previous = hash.key?('previous') ? hash['previous'] : nil
88
+ total = hash.key?('total') ? hash['total'] : nil
89
+ # Parameter is an array, so we need to iterate through it
90
+ items = nil
91
+ unless hash['items'].nil?
92
+ items = []
93
+ hash['items'].each do |structure|
94
+ items << (ChapterBase.from_hash(structure) if structure)
95
+ end
96
+ end
97
+
98
+ items = nil unless hash.key?('items')
99
+
100
+ # Create object from extracted values.
101
+ PagingSimplifiedChapterObject.new(href,
102
+ limit,
103
+ mnext,
104
+ offset,
105
+ previous,
106
+ total,
107
+ items)
108
+ end
109
+ end
110
+ end