Module: Siilar::Client::Users

Included in:
UsersService
Defined in:
lib/siilar/client/users.rb

Instance Method Summary collapse

Instance Method Details

#add_disliked_track(user, attributes = {}) ⇒ Object

Add disliked tracks.



81
82
83
84
85
# File 'lib/siilar/client/users.rb', line 81

def add_disliked_track(user, attributes = {})
  Extra.validate_mandatory_attributes(attributes, [:track])
  response = client.post("1.0/users/#{user}/dislikes", attributes)
  Struct::Track.new(response)
end

#add_liked_track(user, attributes = {}) ⇒ Object

Add liked tracks.



64
65
66
67
68
# File 'lib/siilar/client/users.rb', line 64

def add_liked_track(user, attributes = {})
  Extra.validate_mandatory_attributes(attributes, [:track])
  response = client.post("1.0/users/#{user}/likes", attributes)
  Struct::Track.new(response)
end

#create(attributes = {}) ⇒ Object

Create a user.



24
25
26
27
28
# File 'lib/siilar/client/users.rb', line 24

def create(attributes = {})
  Extra.validate_mandatory_attributes(attributes, [:external_id])
  response = client.post('1.0/users', attributes)
  Struct::User.new(response)
end

#delete(user) ⇒ Object

Delete a user.



41
42
43
# File 'lib/siilar/client/users.rb', line 41

def delete(user)
  client.delete("1.0/users/#{user}")
end

#get(user) ⇒ Object

Get a user.



16
17
18
19
# File 'lib/siilar/client/users.rb', line 16

def get(user)
  response = client.get("1.0/users/#{user}")
  Struct::User.new(response)
end

#get_disliked_tracks(user) ⇒ Object

Get disliked tracks.



73
74
75
76
# File 'lib/siilar/client/users.rb', line 73

def get_disliked_tracks(user)
  response = client.get("1.0/users/#{user}/dislikes")
  response.map { |track| Struct::Track.new(track) }
end

#get_liked_tracks(user) ⇒ Object

Get liked tracks.



56
57
58
59
# File 'lib/siilar/client/users.rb', line 56

def get_liked_tracks(user)
  response = client.get("1.0/users/#{user}/likes")
  response.map { |track| Struct::Track.new(track) }
end

#get_next(user) ⇒ Object

Get next user tracks



48
49
50
51
# File 'lib/siilar/client/users.rb', line 48

def get_next(user)
  response = client.get("1.0/users/#{user}/next")
  response.map { |user| Struct::User.new(response) }
end

#list(query = {}) ⇒ Object

Get a list of your users.



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

def list(query = {})
  response = client.get('1.0/users')
  response.map { |user| Struct::User.new(user) }
end

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

Update a user.



33
34
35
36
# File 'lib/siilar/client/users.rb', line 33

def update(user, attributes = {})
  response = client.patch("1.0/users/#{user}", attributes)
  Struct::User.new(response)
end