Module: Hallon

Defined in:
lib/hallon.rb,
lib/hallon/link.rb,
lib/hallon/base.rb,
lib/hallon/user.rb,
lib/hallon/blob.rb,
lib/hallon/error.rb,
lib/hallon/track.rb,
lib/hallon/image.rb,
lib/hallon/album.rb,
lib/hallon/search.rb,
lib/hallon/player.rb,
lib/hallon/artist.rb,
lib/hallon/session.rb,
lib/hallon/toplist.rb,
lib/hallon/version.rb,
lib/hallon/loadable.rb,
lib/hallon/playlist.rb,
lib/hallon/linkable.rb,
lib/hallon/scrobbler.rb,
lib/hallon/enumerator.rb,
lib/hallon/observable.rb,
lib/hallon/audio_queue.rb,
lib/hallon/album_browse.rb,
lib/hallon/audio_driver.rb,
lib/hallon/artist_browse.rb,
lib/hallon/playlist_container.rb

Overview

The Hallon module wraps around all Hallon objects to avoid polluting the global namespace. To start using Hallon, you most likely want to be looking for the documentation on Session.

Defined Under Namespace

Modules: Blob, Linkable, Loadable, Observable Classes: Album, AlbumBrowse, Artist, ArtistBrowse, AudioQueue, Base, Enumerator, Error, ExampleAudioDriver, Image, Link, Player, Playlist, PlaylistContainer, Scrobbler, Search, Session, Toplist, Track, User

Constant Summary collapse

API_VERSION =

See Also:

  • Spotify::API_VERSION
Spotify::API_VERSION.to_i
URI =

A regex that matches all Spotify URIs

Examples:

Hallon::URI === "spotify:user:burgestrand" # => true
/(spotify:(?:
  (?:artist|album|user:[^:]+:playlist):[a-zA-Z0-9]{22}
  |track:[a-zA-Z0-9]{22}(?:\#\d{1,2}:\d{1,2})?
  |user:[^:]+(?::starred)?
  |search:(?:[-\w$\.+!*'(),]+|%[a-fA-F0-9]{2})+
  |image:[a-fA-F0-9]{40}
  ))
/x
TimeoutError =

Thrown by Loadable#load and Playlist#upload on failure.

Class.new(Hallon::Error)
NoSessionError =

Raised by Session.instance

Class.new(Hallon::Error)
LoginError =

Raised by Session#login! and Session#relogin!

Class.new(Hallon::Error)
OperationFailedError =
Note:

most likely raised because of the playlist not being in the playlist container.

Raised by PlaylistContainer#num_unseen_tracks_for and PlaylistContainer#unseen_tracks_for.

Class.new(Hallon::Error)
VERSION =

Current release version of Hallon

See Also:

[0, 18, 2].join('.')

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.load_timeoutNumeric


83
84
85
# File 'lib/hallon.rb', line 83

def load_timeout
  @load_timeout
end

Class Method Details

.Blob(string) ⇒ String<Hallon::Blob>

Used to mark strings as Hallon::Blob for Session#login.

Examples:

creating a string blob

blob = Hallon::Blob("this is now a blob")

14
15
16
# File 'lib/hallon/blob.rb', line 14

def self.Blob(string)
  string.extend(Blob)
end