Sha256: 870953818a63cc8e2da6352e902e5eeb63784fbe6af4f086393951f0fe144969

Contents?: true

Size: 673 Bytes

Versions: 1

Compression:

Stored size: 673 Bytes

Contents

module MusicBrainz
  module Bindings
    module Recording
      def parse(xml)
        xml = xml.xpath('./recording') unless xml.xpath('./recording').empty?
        {
          id: (xml.attribute('id').value rescue nil),
          mbid: (xml.attribute('id').value rescue nil), # Old shit
          title: (xml.xpath('./title').text.gsub(/[`’]/, "'") rescue nil),
          artist: (xml.xpath('./artist-credit/name-credit/artist/name').text rescue nil),
          releases: (xml.xpath('./release-list/release/title').map{ |xml| xml.text } rescue []),
          score: (xml.attribute('score').value.to_i rescue nil)
        }
      end

      extend self
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
musicbrainz-0.8.0 lib/musicbrainz/bindings/recording.rb