class AudioAddict::API
Attributes
network[RW]
Public Class Methods
new(network)
click to toggle source
# File lib/audio_addict/api.rb, line 13 def initialize(network) @network = network end
Public Instance Methods
basic_auth()
click to toggle source
# File lib/audio_addict/api.rb, line 42 def basic_auth http.basic_auth "streams", "diradio" end
delete(path, args = {})
click to toggle source
# File lib/audio_addict/api.rb, line 34 def delete(path, args = {}) response http.delete "/#{network}/#{path}", headers: headers, body: args end
get(path, args = {})
click to toggle source
# File lib/audio_addict/api.rb, line 26 def get(path, args = {}) response http.get "/#{network}/#{path}", headers: headers, body: args end
listen_key()
click to toggle source
# File lib/audio_addict/api.rb, line 56 def listen_key Config.listen_key end
logged_in?()
click to toggle source
# File lib/audio_addict/api.rb, line 38 def logged_in? session_key and listen_key end
login(username, password)
click to toggle source
# File lib/audio_addict/api.rb, line 17 def login(username, password) session = session(username, password) Config.session_key = session["key"] Config.listen_key = session["member"]["listen_key"] Config.email = session["member"]["email"] Config.premium = session["member"]["user_type"] == "premium" Config.save end
post(path, args = {})
click to toggle source
# File lib/audio_addict/api.rb, line 30 def post(path, args = {}) response http.post "/#{network}/#{path}", headers: headers, body: args end
session(username, password)
click to toggle source
# File lib/audio_addict/api.rb, line 46 def session(username, password) params = { member_session: { username: username, password: password } } basic_auth response http.post "/#{network || "di"}/member_sessions", body: params end
session_key()
click to toggle source
# File lib/audio_addict/api.rb, line 52 def session_key Config.session_key end
Private Instance Methods
headers()
click to toggle source
# File lib/audio_addict/api.rb, line 71 def headers { "X-Session-Key" => session_key } end
http()
click to toggle source
# File lib/audio_addict/api.rb, line 67 def http @http ||= self.class end
response(httparty_response)
click to toggle source
# File lib/audio_addict/api.rb, line 62 def response(httparty_response) raise APIError.new httparty_response unless httparty_response.success? JSON.parse httparty_response.body end