Sha256: b6dccd8e24da195010a0204e5bee6f4135c65cc228d7d3d9abd46d3f1387a517

Contents?: true

Size: 697 Bytes

Versions: 3

Compression:

Stored size: 697 Bytes

Contents

module MusicBrainz
  class Track < MusicBrainz::Base
    attr_accessor :position, :recording_id, :title, :length
  
    def self.find mbid
      xml = Nokogiri::XML(MusicBrainz.load(:recording, :id => mbid))
      self.parse_xml(xml) unless xml.nil?
    end
  
    def self.parse_xml xml
      @track = MusicBrainz::Track.new
      @track.position = self.safe_get_value(xml, 'position').to_i
      @track.recording_id = self.safe_get_attr(xml, 'recording', 'id')
      @track.title = self.safe_get_value(xml, 'recording > title')
      @track.length = self.safe_get_value(xml, 'length').to_i
      @track.length = self.safe_get_value(xml, 'recording > length').to_i
      @track
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
musicbrainz-0.5.2 lib/models/music_brainz/track.rb
musicbrainz-0.5.1 lib/models/music_brainz/track.rb
musicbrainz-0.5.0 lib/models/music_brainz/track.rb