Module: Hallon::Observable::Playlist
- Included in:
- Playlist
- Defined in:
- lib/hallon/observable/playlist.rb
Overview
Callbacks related to Playlist objects.
Class Method Summary collapse
-
.extended(other) ⇒ Object
Includes Hallon::Observable for you.
Instance Method Summary collapse
- #description_changed_callback(pointer, description, userdata) {|description| ... } ⇒ Object protected
- #image_changed_callback(pointer, image, userdata) {|image| ... } ⇒ Object protected
- #initialize_callbacks ⇒ Spotify::PlaylistCallbacks protected
- #playlist_metadata_updated_callback(pointer, userdata) { ... } ⇒ Object protected
- #playlist_renamed_callback(pointer, userdata) { ... } ⇒ Object protected
- #playlist_state_changed_callback(pointer, userdata) { ... } ⇒ Object protected
- #playlist_update_in_progress_callback(pointer, done, userdata) {|is_done| ... } ⇒ Object protected
- #subscribers_changed_callback(pointer, userdata) { ... } ⇒ Object protected
- #track_created_changed_callback(pointer, position, user, created_at, userdata) {|position, user, created_at| ... } ⇒ Object protected
- #track_message_changed_callback(pointer, position, message, userdata) {|position, message| ... } ⇒ Object protected
- #track_seen_changed_callback(pointer, position, seen, userdata) {|position, is_seen| ... } ⇒ Object protected
- #tracks_added_callback(pointer, tracks, num_tracks, position, userdata) {|tracks, position| ... } ⇒ Object protected
- #tracks_moved_callback(pointer, track_indices, num_indices, new_position, userdata) {|tracks, new_position| ... } ⇒ Object protected
- #tracks_removed_callback(pointer, track_indices, num_indices, userdata) {|tracks| ... } ⇒ Object protected
Class Method Details
.extended(other) ⇒ Object
Includes Hallon::Observable for you.
5 6 7 |
# File 'lib/hallon/observable/playlist.rb', line 5 def self.extended(other) other.send(:include, Hallon::Observable) end |
Instance Method Details
#description_changed_callback(pointer, description, userdata) {|description| ... } ⇒ Object (protected)
148 149 150 |
# File 'lib/hallon/observable/playlist.rb', line 148 def description_changed_callback(pointer, description, userdata) trigger(pointer, :description_changed, description) end |
#image_changed_callback(pointer, image, userdata) {|image| ... } ⇒ Object (protected)
159 160 161 162 |
# File 'lib/hallon/observable/playlist.rb', line 159 def image_changed_callback(pointer, image, userdata) image = Hallon::Image.from(image) trigger(pointer, :image_changed, image) end |
#initialize_callbacks ⇒ Spotify::PlaylistCallbacks (protected)
12 13 14 15 16 17 18 |
# File 'lib/hallon/observable/playlist.rb', line 12 def initialize_callbacks struct = Spotify::PlaylistCallbacks.new struct.members.each do |member| struct[member] = callback_for(member) end struct end |
#playlist_metadata_updated_callback(pointer, userdata) { ... } ⇒ Object (protected)
97 98 99 |
# File 'lib/hallon/observable/playlist.rb', line 97 def (pointer, userdata) trigger(pointer, :playlist_metadata_updated) end |
#playlist_renamed_callback(pointer, userdata) { ... } ⇒ Object (protected)
66 67 68 |
# File 'lib/hallon/observable/playlist.rb', line 66 def playlist_renamed_callback(pointer, userdata) trigger(pointer, :playlist_renamed) end |
#playlist_state_changed_callback(pointer, userdata) { ... } ⇒ Object (protected)
76 77 78 |
# File 'lib/hallon/observable/playlist.rb', line 76 def playlist_state_changed_callback(pointer, userdata) trigger(pointer, :playlist_state_changed) end |
#playlist_update_in_progress_callback(pointer, done, userdata) {|is_done| ... } ⇒ Object (protected)
87 88 89 |
# File 'lib/hallon/observable/playlist.rb', line 87 def playlist_update_in_progress_callback(pointer, done, userdata) trigger(pointer, :playlist_update_in_progress, done) end |
#subscribers_changed_callback(pointer, userdata) { ... } ⇒ Object (protected)
170 171 172 |
# File 'lib/hallon/observable/playlist.rb', line 170 def subscribers_changed_callback(pointer, userdata) trigger(pointer, :subscribers_changed) end |
#track_created_changed_callback(pointer, position, user, created_at, userdata) {|position, user, created_at| ... } ⇒ Object (protected)
111 112 113 |
# File 'lib/hallon/observable/playlist.rb', line 111 def track_created_changed_callback(pointer, position, user, created_at, userdata) trigger(pointer, :track_created_changed, position, Hallon::User.from(user), Time.at(created_at)) end |
#track_message_changed_callback(pointer, position, message, userdata) {|position, message| ... } ⇒ Object (protected)
137 138 139 |
# File 'lib/hallon/observable/playlist.rb', line 137 def (pointer, position, , userdata) trigger(pointer, :track_message_changed, position, ) end |
#track_seen_changed_callback(pointer, position, seen, userdata) {|position, is_seen| ... } ⇒ Object (protected)
124 125 126 |
# File 'lib/hallon/observable/playlist.rb', line 124 def track_seen_changed_callback(pointer, position, seen, userdata) trigger(pointer, :track_seen_changed, position, seen) end |
#tracks_added_callback(pointer, tracks, num_tracks, position, userdata) {|tracks, position| ... } ⇒ Object (protected)
28 29 30 31 32 33 34 35 |
# File 'lib/hallon/observable/playlist.rb', line 28 def tracks_added_callback(pointer, tracks, num_tracks, position, userdata) tracks_ary = tracks.read_array_of_pointer(num_tracks).map do |track| ptr = Spotify::Track.retaining_class.new(track) Hallon::Track.new(ptr) end trigger(pointer, :tracks_added, tracks_ary, position) end |
#tracks_moved_callback(pointer, track_indices, num_indices, new_position, userdata) {|tracks, new_position| ... } ⇒ Object (protected)
56 57 58 |
# File 'lib/hallon/observable/playlist.rb', line 56 def tracks_moved_callback(pointer, track_indices, num_indices, new_position, userdata) trigger(pointer, :tracks_moved, track_indices.read_array_of_int(num_indices), new_position) end |
#tracks_removed_callback(pointer, track_indices, num_indices, userdata) {|tracks| ... } ⇒ Object (protected)
44 45 46 |
# File 'lib/hallon/observable/playlist.rb', line 44 def tracks_removed_callback(pointer, track_indices, num_indices, userdata) trigger(pointer, :tracks_removed, track_indices.read_array_of_int(num_indices)) end |