tidal 0.1.0 → 0.1.1

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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +164 -9
  3. data/Rakefile +9 -0
  4. data/docs/README_md.html +299 -0
  5. data/docs/Tidal/ClientV1.html +721 -0
  6. data/docs/Tidal/Error.html +97 -0
  7. data/docs/Tidal.html +100 -0
  8. data/docs/created.rid +5 -0
  9. data/docs/css/fonts.css +167 -0
  10. data/docs/css/rdoc.css +687 -0
  11. data/docs/fonts/Lato-Light.ttf +0 -0
  12. data/docs/fonts/Lato-LightItalic.ttf +0 -0
  13. data/docs/fonts/Lato-Regular.ttf +0 -0
  14. data/docs/fonts/Lato-RegularItalic.ttf +0 -0
  15. data/docs/fonts/SourceCodePro-Bold.ttf +0 -0
  16. data/docs/fonts/SourceCodePro-Regular.ttf +0 -0
  17. data/docs/images/add.png +0 -0
  18. data/docs/images/arrow_up.png +0 -0
  19. data/docs/images/brick.png +0 -0
  20. data/docs/images/brick_link.png +0 -0
  21. data/docs/images/bug.png +0 -0
  22. data/docs/images/bullet_black.png +0 -0
  23. data/docs/images/bullet_toggle_minus.png +0 -0
  24. data/docs/images/bullet_toggle_plus.png +0 -0
  25. data/docs/images/date.png +0 -0
  26. data/docs/images/delete.png +0 -0
  27. data/docs/images/find.png +0 -0
  28. data/docs/images/loadingAnimation.gif +0 -0
  29. data/docs/images/macFFBgHack.png +0 -0
  30. data/docs/images/package.png +0 -0
  31. data/docs/images/page_green.png +0 -0
  32. data/docs/images/page_white_text.png +0 -0
  33. data/docs/images/page_white_width.png +0 -0
  34. data/docs/images/plugin.png +0 -0
  35. data/docs/images/ruby.png +0 -0
  36. data/docs/images/tag_blue.png +0 -0
  37. data/docs/images/tag_green.png +0 -0
  38. data/docs/images/transparent.png +0 -0
  39. data/docs/images/wrench.png +0 -0
  40. data/docs/images/wrench_orange.png +0 -0
  41. data/docs/images/zoom.png +0 -0
  42. data/docs/index.html +259 -0
  43. data/docs/js/darkfish.js +97 -0
  44. data/docs/js/navigation.js +105 -0
  45. data/docs/js/navigation.js.gz +0 -0
  46. data/docs/js/search.js +110 -0
  47. data/docs/js/search_index.js +1 -0
  48. data/docs/js/search_index.js.gz +0 -0
  49. data/docs/js/searcher.js +229 -0
  50. data/docs/js/searcher.js.gz +0 -0
  51. data/docs/table_of_contents.html +176 -0
  52. data/lib/tidal/client_v1.rb +111 -1
  53. data/lib/tidal/version.rb +1 -1
  54. metadata +63 -1
@@ -0,0 +1,721 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>class Tidal::ClientV1 - Tidal API Client Documentation</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "../";
11
+ var index_rel_prefix = "../";
12
+ </script>
13
+
14
+ <script src="../js/navigation.js" defer></script>
15
+ <script src="../js/search.js" defer></script>
16
+ <script src="../js/search_index.js" defer></script>
17
+ <script src="../js/searcher.js" defer></script>
18
+ <script src="../js/darkfish.js" defer></script>
19
+
20
+ <link href="../css/fonts.css" rel="stylesheet">
21
+ <link href="../css/rdoc.css" rel="stylesheet">
22
+
23
+
24
+ <body id="top" role="document" class="class">
25
+ <nav role="navigation">
26
+ <div id="project-navigation">
27
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
+ <h2>
29
+ <a href="../index.html" rel="home">Home</a>
30
+ </h2>
31
+
32
+ <div id="table-of-contents-navigation">
33
+ <a href="../table_of_contents.html#pages">Pages</a>
34
+ <a href="../table_of_contents.html#classes">Classes</a>
35
+ <a href="../table_of_contents.html#methods">Methods</a>
36
+ </div>
37
+ </div>
38
+
39
+ <div id="search-section" role="search" class="project-section initially-hidden">
40
+ <form action="#" method="get" accept-charset="utf-8">
41
+ <div id="search-field-wrapper">
42
+ <input id="search-field" role="combobox" aria-label="Search"
43
+ aria-autocomplete="list" aria-controls="search-results"
44
+ type="text" name="search" placeholder="Search (/) for a class, method, ..." spellcheck="false"
45
+ title="Type to search, Up and Down to navigate, Enter to load">
46
+ </div>
47
+
48
+ <ul id="search-results" aria-label="Search Results"
49
+ aria-busy="false" aria-expanded="false"
50
+ aria-atomic="false" class="initially-hidden"></ul>
51
+ </form>
52
+ </div>
53
+
54
+ </div>
55
+
56
+
57
+
58
+ <div id="class-metadata">
59
+
60
+
61
+ <div id="parent-class-section" class="nav-section">
62
+ <h3>Parent</h3>
63
+
64
+ <p class="link">Object
65
+ </div>
66
+
67
+
68
+
69
+
70
+ <!-- Method Quickref -->
71
+ <div id="method-list-section" class="nav-section">
72
+ <h3>Methods</h3>
73
+
74
+ <ul class="link-list" role="directory">
75
+ <li ><a href="#method-c-new">::new</a>
76
+ <li ><a href="#method-i-get_album_items">#get_album_items</a>
77
+ <li ><a href="#method-i-get_albums_by_artist">#get_albums_by_artist</a>
78
+ <li ><a href="#method-i-get_albums_by_barcode_id">#get_albums_by_barcode_id</a>
79
+ <li ><a href="#method-i-get_multiple_albums">#get_multiple_albums</a>
80
+ <li ><a href="#method-i-get_multiple_artists">#get_multiple_artists</a>
81
+ <li ><a href="#method-i-get_multiple_tracks">#get_multiple_tracks</a>
82
+ <li ><a href="#method-i-get_multiple_videos">#get_multiple_videos</a>
83
+ <li ><a href="#method-i-get_search">#get_search</a>
84
+ <li ><a href="#method-i-get_similar_albums">#get_similar_albums</a>
85
+ <li ><a href="#method-i-get_similar_artists">#get_similar_artists</a>
86
+ <li ><a href="#method-i-get_similar_tracks">#get_similar_tracks</a>
87
+ <li ><a href="#method-i-get_single_album">#get_single_album</a>
88
+ <li ><a href="#method-i-get_single_artist">#get_single_artist</a>
89
+ <li ><a href="#method-i-get_single_track">#get_single_track</a>
90
+ <li ><a href="#method-i-get_single_video">#get_single_video</a>
91
+ <li ><a href="#method-i-get_tracks_by_artist">#get_tracks_by_artist</a>
92
+ <li ><a href="#method-i-get_tracks_by_isrc">#get_tracks_by_isrc</a>
93
+ </ul>
94
+ </div>
95
+
96
+ </div>
97
+ </nav>
98
+
99
+ <main role="main" aria-labelledby="class-Tidal::ClientV1">
100
+ <h1 id="class-Tidal::ClientV1" class="class">
101
+ class Tidal::ClientV1
102
+ </h1>
103
+
104
+ <section class="description">
105
+
106
+ </section>
107
+
108
+ <section id="5Buntitled-5D" class="documentation-section">
109
+
110
+
111
+ <section class="constants-list">
112
+ <header>
113
+ <h3>Constants</h3>
114
+ </header>
115
+ <dl>
116
+ <dt id="BASE_URL">BASE_URL
117
+ <dd>
118
+ <dt id="TOKEN_URL">TOKEN_URL
119
+ <dd>
120
+ </dl>
121
+ </section>
122
+
123
+ <section class="attribute-method-details" class="method-section">
124
+ <header>
125
+ <h3>Attributes</h3>
126
+ </header>
127
+
128
+ <div id="attribute-i-access_token" class="method-detail">
129
+ <div class="method-heading attribute-method-heading">
130
+ <span class="method-name">access_token</span><span
131
+ class="attribute-access-type">[R]</span>
132
+ </div>
133
+
134
+ <div class="method-description">
135
+
136
+ </div>
137
+ </div>
138
+ </section>
139
+
140
+
141
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
142
+ <header>
143
+ <h3>Public Class Methods</h3>
144
+ </header>
145
+
146
+ <div id="method-c-new" class="method-detail ">
147
+ <div class="method-header">
148
+ <div class="method-heading">
149
+ <span class="method-name">new</span><span
150
+ class="method-args">(client_id, client_secret)</span>
151
+ <span class="method-click-advice">click to toggle source</span>
152
+ </div>
153
+ </div>
154
+
155
+ <div class="method-description">
156
+ <p>Initialize the <a href="../Tidal.html"><code>Tidal</code></a> client</p>
157
+
158
+ <p>@param client_id [String] The client ID for the <a href="../Tidal.html"><code>Tidal</code></a> API @param client_secret [String] The client secret for the <a href="../Tidal.html"><code>Tidal</code></a> API</p>
159
+
160
+ <div class="method-source-code" id="new-source">
161
+ <pre><span class="ruby-comment"># File lib/tidal/client_v1.rb, line 15</span>
162
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>(<span class="ruby-identifier">client_id</span>, <span class="ruby-identifier">client_secret</span>)
163
+ <span class="ruby-ivar">@client_id</span> = <span class="ruby-identifier">client_id</span>
164
+ <span class="ruby-ivar">@client_secret</span> = <span class="ruby-identifier">client_secret</span>
165
+ <span class="ruby-ivar">@client</span> = <span class="ruby-constant">OAuth2</span><span class="ruby-operator">::</span><span class="ruby-constant">Client</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@client_id</span>, <span class="ruby-ivar">@client_secret</span>, <span class="ruby-value">site:</span> <span class="ruby-constant">BASE_URL</span>, <span class="ruby-value">token_url:</span> <span class="ruby-constant">TOKEN_URL</span>)
166
+ <span class="ruby-ivar">@access_token</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">client_credentials</span>.<span class="ruby-identifier">get_token</span>.<span class="ruby-identifier">token</span>
167
+ <span class="ruby-keyword">end</span></pre>
168
+ </div>
169
+ </div>
170
+
171
+
172
+ </div>
173
+
174
+ </section>
175
+
176
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
177
+ <header>
178
+ <h3>Public Instance Methods</h3>
179
+ </header>
180
+
181
+ <div id="method-i-get_album_items" class="method-detail ">
182
+ <div class="method-header">
183
+ <div class="method-heading">
184
+ <span class="method-name">get_album_items</span><span
185
+ class="method-args">(album_id, country_code, offset = nil, limit = nil)</span>
186
+ <span class="method-click-advice">click to toggle source</span>
187
+ </div>
188
+ </div>
189
+
190
+ <div class="method-description">
191
+ <p>Get album items</p>
192
+
193
+ <p>@param album_id [String] The album ID @param country_code [String] The country code @param offset [Integer, nil] The offset for pagination @param limit [Integer, nil] The limit for pagination @return [Array] The list of album items</p>
194
+
195
+ <div class="method-source-code" id="get_album_items-source">
196
+ <pre><span class="ruby-comment"># File lib/tidal/client_v1.rb, line 57</span>
197
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_album_items</span>(<span class="ruby-identifier">album_id</span>, <span class="ruby-identifier">country_code</span>, <span class="ruby-identifier">offset</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">limit</span> = <span class="ruby-keyword">nil</span>)
198
+ <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-node">&quot;#{BASE_URL}/albums/#{album_id}/items&quot;</span>)
199
+ <span class="ruby-identifier">params</span> = { <span class="ruby-value">countryCode:</span> <span class="ruby-identifier">country_code</span> }
200
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:offset</span>] = <span class="ruby-identifier">offset</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">offset</span>
201
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:limit</span>] = <span class="ruby-identifier">limit</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">limit</span>
202
+ <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode_www_form</span>(<span class="ruby-identifier">params</span>)
203
+
204
+ <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">request</span>(<span class="ruby-value">:get</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">headers:</span> <span class="ruby-identifier">default_headers</span>)
205
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
206
+ <span class="ruby-keyword">end</span></pre>
207
+ </div>
208
+ </div>
209
+
210
+
211
+ </div>
212
+
213
+ <div id="method-i-get_albums_by_artist" class="method-detail ">
214
+ <div class="method-header">
215
+ <div class="method-heading">
216
+ <span class="method-name">get_albums_by_artist</span><span
217
+ class="method-args">(artist_id, country_code, offset = nil, limit = nil)</span>
218
+ <span class="method-click-advice">click to toggle source</span>
219
+ </div>
220
+ </div>
221
+
222
+ <div class="method-description">
223
+ <p>Get albums by artist</p>
224
+
225
+ <p>@param artist_id [String] The artist ID @param country_code [String] The country code @param offset [Integer, nil] The offset for pagination @param limit [Integer, nil] The limit for pagination @return [Array] The list of albums by the artist</p>
226
+
227
+ <div class="method-source-code" id="get_albums_by_artist-source">
228
+ <pre><span class="ruby-comment"># File lib/tidal/client_v1.rb, line 107</span>
229
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_albums_by_artist</span>(<span class="ruby-identifier">artist_id</span>, <span class="ruby-identifier">country_code</span>, <span class="ruby-identifier">offset</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">limit</span> = <span class="ruby-keyword">nil</span>)
230
+ <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-node">&quot;#{BASE_URL}/artists/#{artist_id}/albums&quot;</span>)
231
+ <span class="ruby-identifier">params</span> = { <span class="ruby-value">countryCode:</span> <span class="ruby-identifier">country_code</span> }
232
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:offset</span>] = <span class="ruby-identifier">offset</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">offset</span>
233
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:limit</span>] = <span class="ruby-identifier">limit</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">limit</span>
234
+ <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode_www_form</span>(<span class="ruby-identifier">params</span>)
235
+
236
+ <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">request</span>(<span class="ruby-value">:get</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">headers:</span> <span class="ruby-identifier">default_headers</span>)
237
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
238
+ <span class="ruby-keyword">end</span></pre>
239
+ </div>
240
+ </div>
241
+
242
+
243
+ </div>
244
+
245
+ <div id="method-i-get_albums_by_barcode_id" class="method-detail ">
246
+ <div class="method-header">
247
+ <div class="method-heading">
248
+ <span class="method-name">get_albums_by_barcode_id</span><span
249
+ class="method-args">(barcode_id, country_code)</span>
250
+ <span class="method-click-advice">click to toggle source</span>
251
+ </div>
252
+ </div>
253
+
254
+ <div class="method-description">
255
+ <p>Get albums by barcode ID</p>
256
+
257
+ <p>@param barcode_id [String] The barcode ID @param country_code [String] The country code @return [Array] The list of albums</p>
258
+
259
+ <div class="method-source-code" id="get_albums_by_barcode_id-source">
260
+ <pre><span class="ruby-comment"># File lib/tidal/client_v1.rb, line 27</span>
261
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_albums_by_barcode_id</span>(<span class="ruby-identifier">barcode_id</span>, <span class="ruby-identifier">country_code</span>)
262
+ <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-node">&quot;#{BASE_URL}/albums/byBarcodeId&quot;</span>)
263
+ <span class="ruby-identifier">params</span> = { <span class="ruby-value">barcodeId:</span> <span class="ruby-identifier">barcode_id</span>, <span class="ruby-value">countryCode:</span> <span class="ruby-identifier">country_code</span> }
264
+ <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode_www_form</span>(<span class="ruby-identifier">params</span>)
265
+
266
+ <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">request</span>(<span class="ruby-value">:get</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">headers:</span> <span class="ruby-identifier">default_headers</span>)
267
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
268
+ <span class="ruby-keyword">end</span></pre>
269
+ </div>
270
+ </div>
271
+
272
+
273
+ </div>
274
+
275
+ <div id="method-i-get_multiple_albums" class="method-detail ">
276
+ <div class="method-header">
277
+ <div class="method-heading">
278
+ <span class="method-name">get_multiple_albums</span><span
279
+ class="method-args">(ids, country_code)</span>
280
+ <span class="method-click-advice">click to toggle source</span>
281
+ </div>
282
+ </div>
283
+
284
+ <div class="method-description">
285
+ <p>Get multiple albums</p>
286
+
287
+ <p>@param ids [Array] The array of album IDs @param country_code [String] The country code @return [Array] The list of albums</p>
288
+
289
+ <div class="method-source-code" id="get_multiple_albums-source">
290
+ <pre><span class="ruby-comment"># File lib/tidal/client_v1.rb, line 41</span>
291
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_multiple_albums</span>(<span class="ruby-identifier">ids</span>, <span class="ruby-identifier">country_code</span>)
292
+ <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-node">&quot;#{BASE_URL}/albums/byIds&quot;</span>)
293
+ <span class="ruby-identifier">params</span> = { <span class="ruby-value">ids:</span> <span class="ruby-identifier">ids</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;,&#39;</span>), <span class="ruby-value">countryCode:</span> <span class="ruby-identifier">country_code</span> }
294
+ <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode_www_form</span>(<span class="ruby-identifier">params</span>)
295
+
296
+ <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">request</span>(<span class="ruby-value">:get</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">headers:</span> <span class="ruby-identifier">default_headers</span>)
297
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
298
+ <span class="ruby-keyword">end</span></pre>
299
+ </div>
300
+ </div>
301
+
302
+
303
+ </div>
304
+
305
+ <div id="method-i-get_multiple_artists" class="method-detail ">
306
+ <div class="method-header">
307
+ <div class="method-heading">
308
+ <span class="method-name">get_multiple_artists</span><span
309
+ class="method-args">(ids, country_code)</span>
310
+ <span class="method-click-advice">click to toggle source</span>
311
+ </div>
312
+ </div>
313
+
314
+ <div class="method-description">
315
+ <p>Get multiple artists</p>
316
+
317
+ <p>@param ids [Array] The array of artist IDs @param country_code [String] The country code @return [Array] The list of artists</p>
318
+
319
+ <div class="method-source-code" id="get_multiple_artists-source">
320
+ <pre><span class="ruby-comment"># File lib/tidal/client_v1.rb, line 123</span>
321
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_multiple_artists</span>(<span class="ruby-identifier">ids</span>, <span class="ruby-identifier">country_code</span>)
322
+ <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-node">&quot;#{BASE_URL}/artists&quot;</span>)
323
+ <span class="ruby-identifier">params</span> = { <span class="ruby-value">ids:</span> <span class="ruby-identifier">ids</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;,&#39;</span>), <span class="ruby-value">countryCode:</span> <span class="ruby-identifier">country_code</span> }
324
+ <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode_www_form</span>(<span class="ruby-identifier">params</span>)
325
+
326
+ <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">request</span>(<span class="ruby-value">:get</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">headers:</span> <span class="ruby-identifier">default_headers</span>)
327
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
328
+ <span class="ruby-keyword">end</span></pre>
329
+ </div>
330
+ </div>
331
+
332
+
333
+ </div>
334
+
335
+ <div id="method-i-get_multiple_tracks" class="method-detail ">
336
+ <div class="method-header">
337
+ <div class="method-heading">
338
+ <span class="method-name">get_multiple_tracks</span><span
339
+ class="method-args">(ids, country_code)</span>
340
+ <span class="method-click-advice">click to toggle source</span>
341
+ </div>
342
+ </div>
343
+
344
+ <div class="method-description">
345
+ <p>Get multiple tracks</p>
346
+
347
+ <p>@param ids [Array] The array of track IDs @param country_code [String] The country code @return [Array] The list of tracks</p>
348
+
349
+ <div class="method-source-code" id="get_multiple_tracks-source">
350
+ <pre><span class="ruby-comment"># File lib/tidal/client_v1.rb, line 189</span>
351
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_multiple_tracks</span>(<span class="ruby-identifier">ids</span>, <span class="ruby-identifier">country_code</span>)
352
+ <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-node">&quot;#{BASE_URL}/tracks&quot;</span>)
353
+ <span class="ruby-identifier">params</span> = { <span class="ruby-value">ids:</span> <span class="ruby-identifier">ids</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;,&#39;</span>), <span class="ruby-value">countryCode:</span> <span class="ruby-identifier">country_code</span> }
354
+ <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode_www_form</span>(<span class="ruby-identifier">params</span>)
355
+
356
+ <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">request</span>(<span class="ruby-value">:get</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">headers:</span> <span class="ruby-identifier">default_headers</span>)
357
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
358
+ <span class="ruby-keyword">end</span></pre>
359
+ </div>
360
+ </div>
361
+
362
+
363
+ </div>
364
+
365
+ <div id="method-i-get_multiple_videos" class="method-detail ">
366
+ <div class="method-header">
367
+ <div class="method-heading">
368
+ <span class="method-name">get_multiple_videos</span><span
369
+ class="method-args">(ids, country_code)</span>
370
+ <span class="method-click-advice">click to toggle source</span>
371
+ </div>
372
+ </div>
373
+
374
+ <div class="method-description">
375
+ <p>Get multiple videos</p>
376
+
377
+ <p>@param ids [Array] The array of video IDs @param country_code [String] The country code @return [Array] The list of videos</p>
378
+
379
+ <div class="method-source-code" id="get_multiple_videos-source">
380
+ <pre><span class="ruby-comment"># File lib/tidal/client_v1.rb, line 253</span>
381
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_multiple_videos</span>(<span class="ruby-identifier">ids</span>, <span class="ruby-identifier">country_code</span>)
382
+ <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-node">&quot;#{BASE_URL}/videos&quot;</span>)
383
+ <span class="ruby-identifier">params</span> = { <span class="ruby-value">ids:</span> <span class="ruby-identifier">ids</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;,&#39;</span>), <span class="ruby-value">countryCode:</span> <span class="ruby-identifier">country_code</span> }
384
+ <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode_www_form</span>(<span class="ruby-identifier">params</span>)
385
+
386
+ <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">request</span>(<span class="ruby-value">:get</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">headers:</span> <span class="ruby-identifier">default_headers</span>)
387
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
388
+ <span class="ruby-keyword">end</span></pre>
389
+ </div>
390
+ </div>
391
+
392
+
393
+ </div>
394
+
395
+ <div id="method-i-get_search" class="method-detail ">
396
+ <div class="method-header">
397
+ <div class="method-heading">
398
+ <span class="method-name">get_search</span><span
399
+ class="method-args">(query, country_code, type = nil, popularity = nil, offset = nil, limit = nil)</span>
400
+ <span class="method-click-advice">click to toggle source</span>
401
+ </div>
402
+ </div>
403
+
404
+ <div class="method-description">
405
+ <p>Search for content</p>
406
+
407
+ <p>@param query [String] The search query @param country_code [String] The country code @param type [String, nil] The type of content to search for @param popularity [String, nil] The popularity filter @param offset [Integer, nil] The offset for pagination @param limit [Integer, nil] The limit for pagination @return [Hash] The search results</p>
408
+
409
+ <div class="method-source-code" id="get_search-source">
410
+ <pre><span class="ruby-comment"># File lib/tidal/client_v1.rb, line 285</span>
411
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_search</span>(<span class="ruby-identifier">query</span>, <span class="ruby-identifier">country_code</span>, <span class="ruby-identifier">type</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">popularity</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">offset</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">limit</span> = <span class="ruby-keyword">nil</span>)
412
+ <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-node">&quot;#{BASE_URL}/search&quot;</span>)
413
+ <span class="ruby-identifier">params</span> = { <span class="ruby-value">query:</span> <span class="ruby-identifier">query</span>, <span class="ruby-value">countryCode:</span> <span class="ruby-identifier">country_code</span> }
414
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:type</span>] = <span class="ruby-identifier">type</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">type</span>
415
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:popularity</span>] = <span class="ruby-identifier">popularity</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">popularity</span>
416
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:offset</span>] = <span class="ruby-identifier">offset</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">offset</span>
417
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:limit</span>] = <span class="ruby-identifier">limit</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">limit</span>
418
+ <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode_www_form</span>(<span class="ruby-identifier">params</span>)
419
+
420
+ <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">request</span>(<span class="ruby-value">:get</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">headers:</span> <span class="ruby-identifier">default_headers</span>)
421
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
422
+ <span class="ruby-keyword">end</span></pre>
423
+ </div>
424
+ </div>
425
+
426
+
427
+ </div>
428
+
429
+ <div id="method-i-get_similar_albums" class="method-detail ">
430
+ <div class="method-header">
431
+ <div class="method-heading">
432
+ <span class="method-name">get_similar_albums</span><span
433
+ class="method-args">(album_id, country_code, offset = nil, limit = nil)</span>
434
+ <span class="method-click-advice">click to toggle source</span>
435
+ </div>
436
+ </div>
437
+
438
+ <div class="method-description">
439
+ <p>Get similar albums</p>
440
+
441
+ <p>@param album_id [String] The album ID @param country_code [String] The country code @param offset [Integer, nil] The offset for pagination @param limit [Integer, nil] The limit for pagination @return [Array] The list of similar albums</p>
442
+
443
+ <div class="method-source-code" id="get_similar_albums-source">
444
+ <pre><span class="ruby-comment"># File lib/tidal/client_v1.rb, line 75</span>
445
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_similar_albums</span>(<span class="ruby-identifier">album_id</span>, <span class="ruby-identifier">country_code</span>, <span class="ruby-identifier">offset</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">limit</span> = <span class="ruby-keyword">nil</span>)
446
+ <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-node">&quot;#{BASE_URL}/albums/#{album_id}/similar&quot;</span>)
447
+ <span class="ruby-identifier">params</span> = { <span class="ruby-value">countryCode:</span> <span class="ruby-identifier">country_code</span> }
448
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:offset</span>] = <span class="ruby-identifier">offset</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">offset</span>
449
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:limit</span>] = <span class="ruby-identifier">limit</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">limit</span>
450
+ <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode_www_form</span>(<span class="ruby-identifier">params</span>)
451
+
452
+ <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">request</span>(<span class="ruby-value">:get</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">headers:</span> <span class="ruby-identifier">default_headers</span>)
453
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
454
+ <span class="ruby-keyword">end</span></pre>
455
+ </div>
456
+ </div>
457
+
458
+
459
+ </div>
460
+
461
+ <div id="method-i-get_similar_artists" class="method-detail ">
462
+ <div class="method-header">
463
+ <div class="method-heading">
464
+ <span class="method-name">get_similar_artists</span><span
465
+ class="method-args">(artist_id, country_code, offset = nil, limit = nil)</span>
466
+ <span class="method-click-advice">click to toggle source</span>
467
+ </div>
468
+ </div>
469
+
470
+ <div class="method-description">
471
+ <p>Get similar artists</p>
472
+
473
+ <p>@param artist_id [String] The artist ID @param country_code [String] The country code @param offset [Integer, nil] The offset for pagination @param limit [Integer, nil] The limit for pagination @return [Array] The list of similar artists</p>
474
+
475
+ <div class="method-source-code" id="get_similar_artists-source">
476
+ <pre><span class="ruby-comment"># File lib/tidal/client_v1.rb, line 139</span>
477
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_similar_artists</span>(<span class="ruby-identifier">artist_id</span>, <span class="ruby-identifier">country_code</span>, <span class="ruby-identifier">offset</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">limit</span> = <span class="ruby-keyword">nil</span>)
478
+ <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-node">&quot;#{BASE_URL}/artists/#{artist_id}/similar&quot;</span>)
479
+ <span class="ruby-identifier">params</span> = { <span class="ruby-value">countryCode:</span> <span class="ruby-identifier">country_code</span> }
480
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:offset</span>] = <span class="ruby-identifier">offset</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">offset</span>
481
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:limit</span>] = <span class="ruby-identifier">limit</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">limit</span>
482
+ <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode_www_form</span>(<span class="ruby-identifier">params</span>)
483
+
484
+ <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">request</span>(<span class="ruby-value">:get</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">headers:</span> <span class="ruby-identifier">default_headers</span>)
485
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
486
+ <span class="ruby-keyword">end</span></pre>
487
+ </div>
488
+ </div>
489
+
490
+
491
+ </div>
492
+
493
+ <div id="method-i-get_similar_tracks" class="method-detail ">
494
+ <div class="method-header">
495
+ <div class="method-heading">
496
+ <span class="method-name">get_similar_tracks</span><span
497
+ class="method-args">(track_id, country_code, offset = nil, limit = nil)</span>
498
+ <span class="method-click-advice">click to toggle source</span>
499
+ </div>
500
+ </div>
501
+
502
+ <div class="method-description">
503
+ <p>Get similar tracks</p>
504
+
505
+ <p>@param track_id [String] The track ID @param country_code [String] The country code @param offset [Integer, nil] The offset for pagination @param limit [Integer, nil] The limit for pagination @return [Array] The list of similar tracks</p>
506
+
507
+ <div class="method-source-code" id="get_similar_tracks-source">
508
+ <pre><span class="ruby-comment"># File lib/tidal/client_v1.rb, line 237</span>
509
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_similar_tracks</span>(<span class="ruby-identifier">track_id</span>, <span class="ruby-identifier">country_code</span>, <span class="ruby-identifier">offset</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">limit</span> = <span class="ruby-keyword">nil</span>)
510
+ <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-node">&quot;#{BASE_URL}/tracks/#{track_id}/similar&quot;</span>)
511
+ <span class="ruby-identifier">params</span> = { <span class="ruby-value">countryCode:</span> <span class="ruby-identifier">country_code</span> }
512
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:offset</span>] = <span class="ruby-identifier">offset</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">offset</span>
513
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:limit</span>] = <span class="ruby-identifier">limit</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">limit</span>
514
+ <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode_www_form</span>(<span class="ruby-identifier">params</span>)
515
+
516
+ <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">request</span>(<span class="ruby-value">:get</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">headers:</span> <span class="ruby-identifier">default_headers</span>)
517
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
518
+ <span class="ruby-keyword">end</span></pre>
519
+ </div>
520
+ </div>
521
+
522
+
523
+ </div>
524
+
525
+ <div id="method-i-get_single_album" class="method-detail ">
526
+ <div class="method-header">
527
+ <div class="method-heading">
528
+ <span class="method-name">get_single_album</span><span
529
+ class="method-args">(album_id, country_code)</span>
530
+ <span class="method-click-advice">click to toggle source</span>
531
+ </div>
532
+ </div>
533
+
534
+ <div class="method-description">
535
+ <p>Get a single album</p>
536
+
537
+ <p>@param album_id [String] The album ID @param country_code [String] The country code @return [Hash] The album data</p>
538
+
539
+ <div class="method-source-code" id="get_single_album-source">
540
+ <pre><span class="ruby-comment"># File lib/tidal/client_v1.rb, line 91</span>
541
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_single_album</span>(<span class="ruby-identifier">album_id</span>, <span class="ruby-identifier">country_code</span>)
542
+ <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-node">&quot;#{BASE_URL}/albums/#{album_id}&quot;</span>)
543
+ <span class="ruby-identifier">params</span> = { <span class="ruby-value">countryCode:</span> <span class="ruby-identifier">country_code</span> }
544
+ <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode_www_form</span>(<span class="ruby-identifier">params</span>)
545
+
546
+ <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">request</span>(<span class="ruby-value">:get</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">headers:</span> <span class="ruby-identifier">default_headers</span>)
547
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
548
+ <span class="ruby-keyword">end</span></pre>
549
+ </div>
550
+ </div>
551
+
552
+
553
+ </div>
554
+
555
+ <div id="method-i-get_single_artist" class="method-detail ">
556
+ <div class="method-header">
557
+ <div class="method-heading">
558
+ <span class="method-name">get_single_artist</span><span
559
+ class="method-args">(artist_id, country_code)</span>
560
+ <span class="method-click-advice">click to toggle source</span>
561
+ </div>
562
+ </div>
563
+
564
+ <div class="method-description">
565
+ <p>Get a single artist</p>
566
+
567
+ <p>@param artist_id [String] The artist ID @param country_code [String] The country code @return [Hash] The artist data</p>
568
+
569
+ <div class="method-source-code" id="get_single_artist-source">
570
+ <pre><span class="ruby-comment"># File lib/tidal/client_v1.rb, line 155</span>
571
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_single_artist</span>(<span class="ruby-identifier">artist_id</span>, <span class="ruby-identifier">country_code</span>)
572
+ <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-node">&quot;#{BASE_URL}/artists/#{artist_id}&quot;</span>)
573
+ <span class="ruby-identifier">params</span> = { <span class="ruby-value">countryCode:</span> <span class="ruby-identifier">country_code</span> }
574
+ <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode_www_form</span>(<span class="ruby-identifier">params</span>)
575
+
576
+ <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">request</span>(<span class="ruby-value">:get</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">headers:</span> <span class="ruby-identifier">default_headers</span>)
577
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
578
+ <span class="ruby-keyword">end</span></pre>
579
+ </div>
580
+ </div>
581
+
582
+
583
+ </div>
584
+
585
+ <div id="method-i-get_single_track" class="method-detail ">
586
+ <div class="method-header">
587
+ <div class="method-heading">
588
+ <span class="method-name">get_single_track</span><span
589
+ class="method-args">(artist_id, country_code)</span>
590
+ <span class="method-click-advice">click to toggle source</span>
591
+ </div>
592
+ </div>
593
+
594
+ <div class="method-description">
595
+ <p>Get a single track</p>
596
+
597
+ <p>@param artist_id [String] The artist ID @param country_code [String] The country code @return [Hash] The track data</p>
598
+
599
+ <div class="method-source-code" id="get_single_track-source">
600
+ <pre><span class="ruby-comment"># File lib/tidal/client_v1.rb, line 221</span>
601
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_single_track</span>(<span class="ruby-identifier">artist_id</span>, <span class="ruby-identifier">country_code</span>)
602
+ <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-node">&quot;#{BASE_URL}/tracks/#{artist_id}&quot;</span>)
603
+ <span class="ruby-identifier">params</span> = { <span class="ruby-value">countryCode:</span> <span class="ruby-identifier">country_code</span> }
604
+ <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode_www_form</span>(<span class="ruby-identifier">params</span>)
605
+
606
+ <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">request</span>(<span class="ruby-value">:get</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">headers:</span> <span class="ruby-identifier">default_headers</span>)
607
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
608
+ <span class="ruby-keyword">end</span></pre>
609
+ </div>
610
+ </div>
611
+
612
+
613
+ </div>
614
+
615
+ <div id="method-i-get_single_video" class="method-detail ">
616
+ <div class="method-header">
617
+ <div class="method-heading">
618
+ <span class="method-name">get_single_video</span><span
619
+ class="method-args">(video_id, country_code)</span>
620
+ <span class="method-click-advice">click to toggle source</span>
621
+ </div>
622
+ </div>
623
+
624
+ <div class="method-description">
625
+ <p>Get a single video</p>
626
+
627
+ <p>@param video_id [String] The video ID @param country_code [String] The country code @return [Hash] The video data</p>
628
+
629
+ <div class="method-source-code" id="get_single_video-source">
630
+ <pre><span class="ruby-comment"># File lib/tidal/client_v1.rb, line 267</span>
631
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_single_video</span>(<span class="ruby-identifier">video_id</span>, <span class="ruby-identifier">country_code</span>)
632
+ <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-node">&quot;#{BASE_URL}/videos/#{video_id}&quot;</span>)
633
+ <span class="ruby-identifier">params</span> = { <span class="ruby-value">countryCode:</span> <span class="ruby-identifier">country_code</span> }
634
+ <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode_www_form</span>(<span class="ruby-identifier">params</span>)
635
+
636
+ <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">request</span>(<span class="ruby-value">:get</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">headers:</span> <span class="ruby-identifier">default_headers</span>)
637
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
638
+ <span class="ruby-keyword">end</span></pre>
639
+ </div>
640
+ </div>
641
+
642
+
643
+ </div>
644
+
645
+ <div id="method-i-get_tracks_by_artist" class="method-detail ">
646
+ <div class="method-header">
647
+ <div class="method-heading">
648
+ <span class="method-name">get_tracks_by_artist</span><span
649
+ class="method-args">(artist_id, country_code, collapse_by = nil, offset = nil, limit = nil)</span>
650
+ <span class="method-click-advice">click to toggle source</span>
651
+ </div>
652
+ </div>
653
+
654
+ <div class="method-description">
655
+ <p>Get tracks by artist</p>
656
+
657
+ <p>@param artist_id [String] The artist ID @param country_code [String] The country code @param collapse_by [String, nil] The collapse criteria @param offset [Integer, nil] The offset for pagination @param limit [Integer, nil] The limit for pagination @return [Array] The list of tracks by the artist</p>
658
+
659
+ <div class="method-source-code" id="get_tracks_by_artist-source">
660
+ <pre><span class="ruby-comment"># File lib/tidal/client_v1.rb, line 172</span>
661
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_tracks_by_artist</span>(<span class="ruby-identifier">artist_id</span>, <span class="ruby-identifier">country_code</span>, <span class="ruby-identifier">collapse_by</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">offset</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">limit</span> = <span class="ruby-keyword">nil</span>)
662
+ <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-node">&quot;#{BASE_URL}/artists/#{artist_id}/tracks&quot;</span>)
663
+ <span class="ruby-identifier">params</span> = { <span class="ruby-value">countryCode:</span> <span class="ruby-identifier">country_code</span> }
664
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:collapseBy</span>] = <span class="ruby-identifier">collapse_by</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">collapse_by</span>
665
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:offset</span>] = <span class="ruby-identifier">offset</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">offset</span>
666
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:limit</span>] = <span class="ruby-identifier">limit</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">limit</span>
667
+ <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode_www_form</span>(<span class="ruby-identifier">params</span>)
668
+
669
+ <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">request</span>(<span class="ruby-value">:get</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">headers:</span> <span class="ruby-identifier">default_headers</span>)
670
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
671
+ <span class="ruby-keyword">end</span></pre>
672
+ </div>
673
+ </div>
674
+
675
+
676
+ </div>
677
+
678
+ <div id="method-i-get_tracks_by_isrc" class="method-detail ">
679
+ <div class="method-header">
680
+ <div class="method-heading">
681
+ <span class="method-name">get_tracks_by_isrc</span><span
682
+ class="method-args">(isrc, country_code, offset = nil, limit = nil)</span>
683
+ <span class="method-click-advice">click to toggle source</span>
684
+ </div>
685
+ </div>
686
+
687
+ <div class="method-description">
688
+ <p>Get tracks by ISRC</p>
689
+
690
+ <p>@param isrc [String] The ISRC code @param country_code [String] The country code @param offset [Integer, nil] The offset for pagination @param limit [Integer, nil] The limit for pagination @return [Array] The list of tracks by ISRC</p>
691
+
692
+ <div class="method-source-code" id="get_tracks_by_isrc-source">
693
+ <pre><span class="ruby-comment"># File lib/tidal/client_v1.rb, line 205</span>
694
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_tracks_by_isrc</span>(<span class="ruby-identifier">isrc</span>, <span class="ruby-identifier">country_code</span>, <span class="ruby-identifier">offset</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">limit</span> = <span class="ruby-keyword">nil</span>)
695
+ <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-node">&quot;#{BASE_URL}/tracks/byIsrc&quot;</span>)
696
+ <span class="ruby-identifier">params</span> = { <span class="ruby-value">isrc:</span> <span class="ruby-identifier">isrc</span>, <span class="ruby-value">countryCode:</span> <span class="ruby-identifier">country_code</span> }
697
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:offset</span>] = <span class="ruby-identifier">offset</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">offset</span>
698
+ <span class="ruby-identifier">params</span>[<span class="ruby-value">:limit</span>] = <span class="ruby-identifier">limit</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">limit</span>
699
+ <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">query</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">encode_www_form</span>(<span class="ruby-identifier">params</span>)
700
+
701
+ <span class="ruby-identifier">response</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">request</span>(<span class="ruby-value">:get</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">headers:</span> <span class="ruby-identifier">default_headers</span>)
702
+ <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>)
703
+ <span class="ruby-keyword">end</span></pre>
704
+ </div>
705
+ </div>
706
+
707
+
708
+ </div>
709
+
710
+ </section>
711
+
712
+ </section>
713
+ </main>
714
+
715
+
716
+ <footer id="validator-badges" role="contentinfo">
717
+ <p><a href="https://validator.w3.org/check/referer">Validate</a>
718
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.7.0.
719
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
720
+ </footer>
721
+