module Support

Constants

DEFAULT_CONFIG

Public Instance Methods

initialize_spotify!(username, password, config = DEFAULT_CONFIG) click to toggle source
# File lib/partygoer-player/support.rb, line 23
def initialize_spotify!(username, password, config = DEFAULT_CONFIG)
  error, session = Spotify.session_create(config)
  raise error if error.is_a?(Spotify::APIError)

  if Spotify.session_remembered_user(session)
    @@logger.info { "Using remembered login for: #{Spotify.session_remembered_user(session)}." }
    Spotify.try(:session_relogin, session)
  else
    @@logger.info "Attempting login under #{username}."
    Spotify.try(:session_login, session, username, password, true, nil)
  end

  @@logger.info 'Log in requested. Waiting forever until logged in.'
  until (Spotify.session_connectionstate(session) == :logged_in)
    Spotify.session_process_events(session)
  end

  at_exit do
    @@logger.info { 'Logging out.' }
    Spotify.session_logout(session)
    Spotify.session_process_events(session) until (Spotify.session_connectionstate(session) != :logged_in )
  end
  session
end
logger() click to toggle source
# File lib/partygoer-player/support.rb, line 48
def logger
  @@logger
end