class MediaPlayer::PlayList
Attributes
current_index[R]
media[R]
Public Class Methods
new(media = [])
click to toggle source
# File lib/playlist.rb, line 5 def initialize(media = []) @media = media @current_index = 0 end
Public Instance Methods
add(raw_media_file)
click to toggle source
# File lib/playlist.rb, line 21 def add(raw_media_file) media_file = filter_input(raw_media_file) @media.push(media_file) end
current_media()
click to toggle source
# File lib/playlist.rb, line 26 def current_media @media[@current_index] end
filter_input(raw_input)
click to toggle source
# File lib/playlist.rb, line 10 def filter_input(raw_input) # weird :-O raw_input = raw_input.gsub("'", "\\\\'") raw_input = raw_input.gsub('"', '\"') raw_input = raw_input.gsub('&', '\\\&') regex = /[()\s]/ raw_input.gsub regex do |match| match.gsub("#{match}", "\\#{match}") end end
next_media()
click to toggle source
# File lib/playlist.rb, line 30 def next_media @current_index += 1 @current_index = 0 if @media.size == @current_index current_media end
previous_media()
click to toggle source
# File lib/playlist.rb, line 36 def previous_media @current_index -= 1 @current_index = @media.size - 1 if @current_index < 0 current_media end
shuffle()
click to toggle source
# File lib/playlist.rb, line 42 def shuffle old_current_media = current_media @media.shuffle! @current_index = @media.index(old_current_media) end