Class: User

Inherits:
Object
  • Object
show all
Defined in:
lib/nehm/user.rb

Instance Method Summary collapse

Constructor Details

#initialize(id) ⇒ User

Returns a new instance of User.



5
6
7
# File 'lib/nehm/user.rb', line 5

def initialize(id)
  @id = id
end

Instance Method Details

#likes(count) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/nehm/user.rb', line 9

def likes(count)
  unless count.class == Fixnum
    puts Paint['Invalid number of likes!', :red]
    exit
  end

  likes = Client.get("/users/#{@id}/favorites?limit=#{count}")
  likes.map { |hash| Track.new(hash) }
end

#posts(count) ⇒ Object

Post is last track or repost in profile



20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/nehm/user.rb', line 20

def posts(count)
  unless count.class == Fixnum
    puts Paint['Invalid number of posts!', :red]
    exit
  end

  conn = Faraday.new(url: 'https://api-v2.soundcloud.com/')
  response = conn.get("/profile/soundcloud:users:#{@id}?limit=#{count}&offset=0")

  parsed = JSON.parse(response.body)
  parsed = parsed['collection']
  parsed.map { |hash| Track.new(hash['track']) }
end