class Deezify::API::Deezer

Public Class Methods

new() click to toggle source
# File lib/deezify/api/deezer.rb, line 7
def initialize
  @connection = connection
end

Public Instance Methods

add_tracks(playlist_id, *tracks) click to toggle source
# File lib/deezify/api/deezer.rb, line 41
def add_tracks(playlist_id, *tracks)
  @connection.post do |req|
    req.url "/playlist/#{playlist_id}/tracks"
    req.params[:songs] = tracks.join ','
  end
end
create_playlist(title) click to toggle source
# File lib/deezify/api/deezer.rb, line 32
def create_playlist(title)
  res = @connection.post do |req|
    req.url '/user/me/playlists'
    req.params[:title] = title
  end

  json_decode res.body
end
user_info() click to toggle source
# File lib/deezify/api/deezer.rb, line 11
def user_info
  res = @connection.get do |req|
    req.url '/user/me'
  end

  json_decode res.body
end

Private Instance Methods

connection() click to toggle source
# File lib/deezify/api/deezer.rb, line 48
def connection
  Faraday.new url: 'https://api.deezer.com/' do |conn|
    conn.adapter Faraday.default_adapter
    conn.params[:access_token] = ENV.fetch('DEEZER_ACCESS_TOKEN')
  end
end
json_decode(string) click to toggle source
# File lib/deezify/api/deezer.rb, line 55
def json_decode(string)
  JSON.parse string, symbolize_names: true
end