Module: Siilar::Client::Tracks
- Included in:
- TracksService
- Defined in:
- lib/siilar/client/tracks.rb
Instance Method Summary collapse
-
#create(attributes = {}) ⇒ Object
Creates a track.
-
#delete(track) ⇒ Object
Deletes a track.
-
#from_reference(reference) ⇒ Object
Gets a track from its internal reference.
-
#tags(track) ⇒ Object
Gets a track’s tags.
-
#tags_from_reference(reference) ⇒ Object
Gets a track’s tags from its internal reference.
-
#track(track) ⇒ Object
Gets a track.
-
#tracks(query = {}) ⇒ Object
List tracks.
-
#update(track, attributes = {}) ⇒ Object
Updates a track.
-
#update_from_reference(reference, attributes = {}) ⇒ Object
Updates a track from its reference.
Instance Method Details
#create(attributes = {}) ⇒ Object
Creates a track.
36 37 38 39 40 41 |
# File 'lib/siilar/client/tracks.rb', line 36 def create(attributes = {}) Extra.validate_mandatory_attributes(attributes, [:title, :reference]) response = client.post('2.0/tracks', attributes) Struct::Track.new(response) end |
#delete(track) ⇒ Object
Deletes a track.
93 94 95 |
# File 'lib/siilar/client/tracks.rb', line 93 def delete(track) client.delete("2.0/tracks/#{track}") end |
#from_reference(reference) ⇒ Object
Gets a track from its internal reference.
27 28 29 30 31 |
# File 'lib/siilar/client/tracks.rb', line 27 def from_reference(reference) response = client.get("2.0/tracks/reference/#{reference}") Struct::Track.new(response) end |
#tags(track) ⇒ Object
Gets a track’s tags.
101 102 103 104 105 |
# File 'lib/siilar/client/tracks.rb', line 101 def (track) response = client.get("2.0/tracks/#{track}/tags") response.map { |tag| Struct::Tag.new(tag) } end |
#tags_from_reference(reference) ⇒ Object
Gets a track’s tags from its internal reference.
111 112 113 114 115 |
# File 'lib/siilar/client/tracks.rb', line 111 def (reference) response = client.get("2.0/tracks/reference/#{reference}/tags") response.map { |tag| Struct::Tag.new(tag) } end |
#track(track) ⇒ Object
Gets a track.
18 19 20 21 22 |
# File 'lib/siilar/client/tracks.rb', line 18 def track(track) response = client.get("2.0/tracks/#{track}") Struct::Track.new(response) end |
#tracks(query = {}) ⇒ Object
List tracks.
8 9 10 11 12 13 |
# File 'lib/siilar/client/tracks.rb', line 8 def tracks(query = {}) = { query: query } response = client.get("2.0/tracks", ) response['data'].map { |track| Struct::Track.new(track) } end |
#update(track, attributes = {}) ⇒ Object
Updates a track.
61 62 63 64 65 |
# File 'lib/siilar/client/tracks.rb', line 61 def update(track, attributes = {}) response = client.patch("2.0/tracks/#{track}", attributes) Struct::Track.new(response) end |
#update_from_reference(reference, attributes = {}) ⇒ Object
Updates a track from its reference.
70 71 72 73 74 |
# File 'lib/siilar/client/tracks.rb', line 70 def update_from_reference(reference, attributes = {}) response = client.patch("2.0/tracks/reference/#{reference}", attributes) Struct::Track.new(response) end |