Module: Siilar::Client::Tracks

Included in:
TracksService
Defined in:
lib/siilar/client/tracks.rb

Instance Method Summary collapse

Instance Method Details

#create(attributes = {}) ⇒ Object

Creates a track.



35
36
37
38
39
40
# File 'lib/siilar/client/tracks.rb', line 35

def create(attributes = {})
  Extra.validate_mandatory_attributes(attributes, [:title, :external_id])
  response = client.post('1.0/tracks', attributes)

  Struct::Track.new(response)
end

#delete(track) ⇒ Object

Deletes a track.



54
55
56
# File 'lib/siilar/client/tracks.rb', line 54

def delete(track)
  client.delete("1.0/tracks/#{track}")
end

#external_track(track) ⇒ Object

Gets an external track.



17
18
19
20
21
# File 'lib/siilar/client/tracks.rb', line 17

def external_track(track)
  response = client.get("1.0/external-tracks/#{track}")

  Struct::ExternalTrack.new(response)
end

#from_external(track) ⇒ Object

Gets a track from its external id.



26
27
28
29
30
# File 'lib/siilar/client/tracks.rb', line 26

def from_external(track)
  response = client.get("1.0/from-external/#{track}")

  response.map { |r| Struct::Track.new(r) }
end

#track(track) ⇒ Object

Gets a track.



8
9
10
11
12
# File 'lib/siilar/client/tracks.rb', line 8

def track(track)
  response = client.get("1.0/tracks/#{track}")

  Struct::Track.new(response)
end

#update(track, attributes = {}) ⇒ Object

Updates a track.



45
46
47
48
49
# File 'lib/siilar/client/tracks.rb', line 45

def update(track, attributes = {})
  response = client.patch("1.0/tracks/#{track}", attributes)

  Struct::Track.new(response)
end