Module: Siilar::Client::Users

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

Instance Method Summary collapse

Instance Method Details

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

Add a user dislike.



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

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

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

Add a user like.



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

def add_like(user, attributes = {})
  Extra.validate_mandatory_attributes(attributes, [:track])
  response = client.post("2.0/users/#{user}/likes", attributes)
  Struct::Track.new(response['track'])
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, [:reference])
  response = client.post('2.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("2.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("2.0/users/#{user}")
  Struct::User.new(response)
end

#get_dislikes(user) ⇒ Object

Get user dislikes



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

def get_dislikes(user)
  response = client.get("2.0/users/#{user}/dislikes")
  response['data'].map { |track| Struct::Track.new(track) }
end

#get_likes(user) ⇒ Object

Get user likes



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

def get_likes(user)
  response = client.get("2.0/users/#{user}/likes")
  response['data'].map { |track| Struct::Track.new(track) }
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('2.0/users')
  response['data'].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("2.0/users/#{user}", attributes)
  Struct::User.new(response)
end