class Pandora::User

Attributes

partner[R]
password[R]
user_auth_token[R]
user_id[R]
username[R]

Public Class Methods

new(partner, username, password) click to toggle source
# File lib/pandora/user.rb, line 16
def initialize(partner, username, password)
  @partner, @username, @password = partner, username, password
  login
end

Public Instance Methods

marshal_dump() click to toggle source
# File lib/pandora/user.rb, line 32
def marshal_dump
  [@partner, @username, @password, @user_auth_token, @user_id]
end
marshal_load(objects) click to toggle source
# File lib/pandora/user.rb, line 36
def marshal_load(objects)
  @partner, @username, @password, @user_auth_token, @user_id = objects
end
reauthenticate() click to toggle source
# File lib/pandora/user.rb, line 21
def reauthenticate
  @partner.reauthenticate
  login
end
stations() click to toggle source
# File lib/pandora/user.rb, line 26
def stations
  call('user.getStationList')['stations'].map do |station_data|
    Station.new(self, station_data)
  end
end

Private Instance Methods

login() click to toggle source
# File lib/pandora/user.rb, line 43
def login
  @user_auth_token = @user_id = nil

  result = call 'auth.userLogin', { secure: true, encrypt: true }, {
    loginType: 'user',
    username: username,
    password: password
  }

  @user_auth_token = result['userAuthToken']
  @user_id = result['userId']

  result
end