Class: XSPF::Tracklist

Inherits:
Playlist show all
Defined in:
lib/xspf.rb

Constant Summary

Constants inherited from Playlist

Playlist::ANNOTATION_RDOC, Playlist::ATTRIBUTES, Playlist::ATTRIBUTE_AND_ELEMENT, Playlist::ATTRIBUTION_CHILD_ELEMENTS, Playlist::ATTRIBUTION_RDOC, Playlist::CREATOR_RDOC, Playlist::DATE_RDOC, Playlist::ELEMENTS, Playlist::EXTENSION_CHILD_ELEMENTS, Playlist::EXTENSION_RDOC, Playlist::IDENTIFIER_RDOC, Playlist::IMAGE_RDOC, Playlist::INFO_RDOC, Playlist::LICENSE_RDOC, Playlist::LINK_CONTENT_RDOC, Playlist::LINK_REL_RDOC, Playlist::LOCATION_RDOC, Playlist::META_CONTENT_RDOC, Playlist::META_REL_RDOC, Playlist::TITLE_RDOC, Playlist::VERSION_DEFAULT, Playlist::VERSION_RDOC, Playlist::XMLNS_DEFAULT, Playlist::XMLNS_RDOC

Constants inherited from XSPF

ATTRIBUTES, ENCODING_RDOC, HTML_RDOC, M3U_RDOC, OUTPUT_FORMATS, RDF_RDOC, SMIL_RDOC, SOUNDBLOX_RDOC, VERSION_RDOC

Instance Attribute Summary collapse

Attributes inherited from Playlist

#playlist

Attributes inherited from XSPF

#xspf

Instance Method Summary collapse

Methods inherited from Playlist

#tracklist=

Methods inherited from XSPF

#playlist, #playlist=

Constructor Details

#initialize(playlist = nil) ⇒ Tracklist

Creates a XSPF::Tracklist from a XSPF::Playlist (parse mode) or without parameters (generation mode)



347
348
349
350
351
352
353
354
355
# File 'lib/xspf.rb', line 347

def initialize(playlist=nil)
  if (playlist.instance_of?(Hash) || playlist.nil?) then
    @tracklist = ''
    @tracks = []
  else
    @tracklist = playlist.tracklist_xml
    @tracks = @tracklist.elements.collect { |track| XSPF::Track.new(track) }
  end
end

Instance Attribute Details

#tracklistObject (readonly)

Returns the value of attribute tracklist.



344
345
346
# File 'lib/xspf.rb', line 344

def tracklist
  @tracklist
end

Instance Method Details

#<<(track) ⇒ Object

Adds a new XSPF::Track to the XSPF::Tracklist



363
364
365
# File 'lib/xspf.rb', line 363

def <<(track)
  @tracks << track
end

#to_xmlObject

Exports the XSPF::Tracklist to XML (only the <trackList> section)



368
369
370
371
372
# File 'lib/xspf.rb', line 368

def to_xml
  xml = REXML::Element.new('trackList')
  @tracks.each { |t| xml << REXML::Document.new(t.to_xml) }
  xml.to_s
end

#tracksObject

Returns an array XSPF::Track objects



358
359
360
# File 'lib/xspf.rb', line 358

def tracks
  @tracks
end